統計 API¶
注意
この API は 実験的機能 のため、正式版では仕様が変更される可能性があります。
GetStatsReport¶
- x-sora-target:
Sora_20171010.GetStatsReport
Sora が起動している間の Sora 全体の統計情報を取得できます。 この統計情報は Sora を止めたり再起動したりすることでクリアされますので注意してください。
レスポンス項目¶
version
sora のバージョン
total_connection_created
現在までの接続が作成された数
total_connection_updated
現在までの接続が更新された数
total_connection_destroyed
現在までの接続が破棄された数
total_session_created
現在までのセッションが作成された数
total_session_destroyed
現在までのセッションが破棄された数
total_successful_connections
現在までの接続が成功した数
total_ongoing_connections
現在接続している数
total_failed_connections
現在までの接続が失敗した数
total_duration_sec
現在までの合計接続時間 (秒)
total_turn_udp_connections
現在までの TURN-UDP での接続数
total_turn_tcp_connections
現在までの TURN-TCP または TURN-TLS での接続数
total_received_invalid_turn_tcp_packet
現在までの TURN-TCP でパースできないパケットが送られてきた数
total_auth_webhook_allowed
認証ウェブフックで許可された数
total_auth_webhook_denied
認証ウェブフックで拒否された数
total_successful_auth_webhook
認証ウェブフックが成功した数
total_failed_auth_webhook
認証ウェブフックが失敗した数
total_successful_session_webhook
セッションウェブフックが成功した数
total_failed_session_webhook
セッションウェブフックが失敗した数
total_ignored_session_webhook
無視されたセッションウェブフックの合計数
total_successful_event_webhook
イベントウェブフックが成功した数
total_failed_event_webhook
イベントウェブフックが失敗した数
total_ignored_event_webhook
無視されたイベントウェブフックの合計数
total_successful_stats_webhook
統計ウェブフックが成功した数
total_failed_stats_webhook
統計ウェブフックが失敗した数
total_ignored_stats_webhook
無視された統計ウェブフックの合計数
average_duration_sec
平均接続時間 (秒)
average_setup_time_msec
平均セットアップ時間 (ミリ秒)
セットアップ時間とはシグナリング接続開始から WebRTC が確立するまでにかかった時間です
total_received_srtp
受信した SRTP パケットの数
total_received_srtp_byte_size
受信した SRTP パケットのバイト数
total_sent_srtp
送信した SRTP パケットの数
total_sent_srtp_byte_size
送信した SRTP パケットのバイト数
Sora は暗号化したパケットは必ず送信します
total_decrypted_srtp
復号した SRTP パケットの数
Sora は誰も視聴していない音声や映像パケットを復号しません
total_decrypted_srtp_byte_size
復号した SRTP パケットのバイト数
total_received_sctp
受信した SCTP パケットの数
total_received_sctp_byte_size
受信した SCTP パケットのバイト数
total_sent_sctp
送信した SCTP パケットの数
total_sent_sctp_byte_size
送信した SCTP パケットのバイト数
cluster
現時点ではクラスター機能で採用している Raft Consensus Algorithm の情報です
raft_commit_index
Raft ノードが最後にコミットしたログのインデックス番号
raft_state
Raft ノードの現在の状態
raft_term
Raft ノードの現在の term
cluster_relay
この統計データは厳密なデータではないため、参考程度にご利用ください
クラスターリレー機能が有効な場合この項目が追加されます
node_name
対象ノード名
total_sent_byte_size
対象ノードへリレー機能で送信したバイト数
total_received_byte_size
対象ノードからリレー機能で受信したバイト数
total_sent
対象ノードからリレー機能で送信したパケット数
total_received
対象ノードからリレー機能で受信したパケット数
対象ノードが削除された場合でも再起動されるまでは統計情報は残ります
plumtree
対象ノードが利用しているツリー構造の統計情報です
total_sent_gossip
total_received_gossip
total_received_gossip_hop
total_sent_ihave
total_received_ihave
total_sent_graft
total_received_graft
total_sent_prune
total_received_prune
total_graft_miss
total_skipped_send
total_ignored
ウェブフックの成功は 2xx 系が戻ってきておりかつ、JSON がある場合は JSON のパースに失敗しない場合です。 それ以外は失敗としています。
$ http POST 127.0.0.1:3000/ \
x-sora-target:Sora_20171010.GetStatsReport \
-vvv
POST / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 0
Host: 127.0.0.1:3000
User-Agent: HTTPie/3.2.2
x-sora-target: Sora_20171010.GetStatsReport
HTTP/1.1 200 OK
content-length: 2170
content-type: application/json
date: Wed, 11 Jun 2025 02:56:56 GMT
server: Cowboy
{
"average_duration_sec": 1450,
"average_setup_time_msec": 879,
"cluster": {
"raft_commit_index": 98,
"raft_state": "follower",
"raft_term": 3
},
"cluster_relay": [
{
"node_name": "sora2@192.0.2.13",
"plumtree": {
"total_graft_miss": 0,
"total_ignored": 0,
"total_received_gossip": 1036,
"total_received_gossip_hop": 1037,
"total_received_graft": 0,
"total_received_ihave": 760,
"total_received_prune": 1,
"total_sent_gossip": 1731,
"total_sent_graft": 0,
"total_sent_ihave": 760,
"total_sent_prune": 1,
"total_skipped_send": 0
},
"total_received": 1797,
"total_received_byte_size": 796839,
"total_sent": 2492,
"total_sent_byte_size": 1034225
},
{
"node_name": "sora3@192.0.2.13",
"plumtree": {
"total_graft_miss": 0,
"total_ignored": 0,
"total_received_gossip": 1161,
"total_received_gossip_hop": 1162,
"total_received_graft": 0,
"total_received_ihave": 1034,
"total_received_prune": 1,
"total_sent_gossip": 3556,
"total_sent_graft": 0,
"total_sent_ihave": 1034,
"total_sent_prune": 1,
"total_skipped_send": 0
},
"total_received": 2196,
"total_received_byte_size": 763788,
"total_sent": 4591,
"total_sent_byte_size": 2134557
}
],
"total_auth_webhook_allowed": 0,
"total_auth_webhook_denied": 0,
"total_connection_created": 1,
"total_connection_destroyed": 0,
"total_connection_updated": 2,
"total_decrypted_srtp": 18029,
"total_decrypted_srtp_byte_size": 4735559,
"total_duration_sec": 0,
"total_failed_auth_webhook": 0,
"total_failed_connections": 0,
"total_failed_event_webhook": 0,
"total_failed_session_webhook": 0,
"total_failed_stats_webhook": 0,
"total_ignored_event_webhook": 0,
"total_ignored_session_webhook": 0,
"total_ignored_stats_webhook": 0,
"total_ongoing_connections": 1,
"total_received_invalid_turn_tcp_packet": 0,
"total_received_sctp": 0,
"total_received_sctp_byte_size": 0,
"total_received_srtp": 18029,
"total_received_srtp_byte_size": 4735559,
"total_sent_sctp": 0,
"total_sent_sctp_byte_size": 0,
"total_sent_srtp": 1343,
"total_sent_srtp_byte_size": 643870,
"total_sent_srtp_sfu_delay_us": 3940352,
"total_session_created": 0,
"total_session_destroyed": 0,
"total_successful_auth_webhook": 0,
"total_successful_connections": 1,
"total_successful_event_webhook": 0,
"total_successful_session_webhook": 0,
"total_successful_stats_webhook": 0,
"total_turn_tcp_connections": 0,
"total_turn_udp_connections": 1,
"version": "2025.1.0"
}