#web-rtc #statistics #terminal #sfu #viewer #sora

程序+库 sorastats

基于终端的 WebRTC SFU Sora 统计查看器

3 个不稳定版本

0.2.0 2024年2月7日
0.1.1 2022年5月19日
0.1.0 2022年5月2日

#3 in #sfu

MIT/Apache

1.5MB
1.5K SLoC

sorastats

sorastats Actions Status License

WebRTC SFU Sora统计信息 在终端中查看的查看器。

sorastats demo

安装

预构建的二进制文件

针对 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