3 个不稳定版本
0.2.0 | 2024年2月7日 |
---|---|
0.1.1 | 2022年5月19日 |
0.1.0 | 2022年5月2日 |
#3 in #sfu
1.5MB
1.5K SLoC
sorastats
WebRTC SFU Sora 的 统计信息 在终端中查看的查看器。
安装
预构建的二进制文件
针对 Linux 和 MacOS 的预构建二进制文件可在 发布页面 获取。
// Linux でビルド済みバイナリを取得する例
$ curl -L https://github.com/sile/sorastats/releases/download/0.2.0/sorastats-0.2.0.x86_64-unknown-linux-musl -o sorastats
$ chmod +x sorastats
$ ./sorastats
使用 Cargo 安装
如果已安装 Rust 的包管理器 Cargo,则可以使用以下命令
$ cargo install sorastats
$ sorastats
用法
请指定 Sora API 的 URL 作为第一个参数来执行命令
$ sorastats ${SORA_API_URL}
术语
- 值
- 各个连接的统计数据
- 总和
- 所有连接的统计数据之和
- 当统计值类型不是数值时不存在
- Delta/s
- 将本次和上次的统计数据(总和 或 值)的差值转换为每秒的值
- 当统计值类型不是数值时不存在
各种选项
$ sorastats --help
执行命令时,将显示如下帮助消息。
$ sorastats 0.1.1
WebRTC SFU Sora の統計情報ビューア
USAGE:
sorastats [OPTIONS] <SORA_API_URL>
ARGS:
<SORA_API_URL>
「Sora の API の URL(リアルタイムモード)」あるいは「過去に `--record`
で記録したファイルのパス(リプレイモード)」
OPTIONS:
-c, --connection-filter <CONNECTION_FILTER>
集計対象に含めるコネクションをフィルタするための正規表現
コネクションの各統計値は "${KEY}:${VALUE}" という形式の文字列に変換された上で、
指定の正規表現にマッチ(部分一致)するかどうかがチェックされる。
一つでもマッチする統計値が存在する場合には、そのコネクションは集計対象に含まれる。
例えば、チャンネル名が "sora" のコネクションのみを対象にしたい場合には
"^channel_id:sora$" という正規表現を指定すると良い。
[default: .*:.*]
-h, --help
Print help information
-i, --polling-interval <POLLING_INTERVAL>
統計 API から情報を取得する間隔(秒単位)
[default: 1]
-k, --stats-key-filter <STATS_KEY_FILTER>
集計対象に含める統計項目をフィルタするための正規表現
指定された正規表現にマッチ(部分一致)する統計項目のみが表示される。
例えば、 RTP 関連の統計情報のみを対象としたい場合には "^rtp[.]"
という正規表現を指定すると良い。
[default: .*]
-p, --chart-time-period <CHART_TIME_PERIOD>
チャートの X 軸の表示期間(秒単位)
[default: 60]
--record <RECORD>
指定されたファイルに取得した統計情報を記録する
`<SORA_API_URL>`引数に URL の代わりにこのファイルへのパスを指定することで、
記録した統計情報を後から閲覧することができる(リプレイモード)
リプレイモードの場合には、このオプションを指定しても無視される
-V, --version
Print version information
依赖
~13–23MB
~336K SLoC