
# 統計 API

## 統計項目一覧

**説明が書いていないものは項目名そのままの内容になります**

- timestamp- API を取得した時点の UTC 時間 RFC3339 形式
- channel_id
- client_id
- bundle_id
- connection_id
- simulcast- r0- rtp- total_decrypt_skipped_srtp
      - tocal_decrypt_skipped_audio_srtp
      - tocal_decrypt_skipped_video_srtp
      - total_received_rtp
      - total_received_rtp_byte_size
      - total_received_rtp_padding
      - total_received_rtp_padding_size
      - total_received_rtp_red
      - total_received_rtp_red_rtx
      - total_received_rtp_red_ulpfec
      - total_received_rtp_rtx
    - rtp_hdr_ext- total_received_rtp_hdr_ext_abs_send_time
      - total_received_rtp_hdr_ext_audio_level
      - total_received_rtp_hdr_ext_av1_rtp_sepc
      - total_received_rtp_hdr_ext_color_space
      - total_received_rtp_hdr_ext_inband_cn
      - total_received_rtp_hdr_ext_playout_delay
      - total_received_rtp_hdr_ext_sdes_mid
      - total_received_rtp_hdr_ext_sdes_repaired_rtp_stream_id
      - total_received_rtp_hdr_ext_sdes_rtp_stream_id
      - total_received_rtp_hdr_ext_toffset
      - total_received_rtp_hdr_ext_transport_wide_cc
      - total_received_rtp_hdr_ext_unknown
      - total_received_rtp_hdr_ext_video_content_type
      - total_received_rtp_hdr_ext_video_orientation
      - total_received_rtp_hdr_ext_video_timeing
  - r1- r0 と同様
  - r2- r0 と同様
- spotlight- total_spotlight_focus_failed
  - total_spotlight_unfocus_audio_no_room
  - total_spotlight_unfocus_audio_out_packet
  - total_spotlight_unfocus_audio_publish
- dtls- total_received_dtls- 受信した DTLS パケットの総数
  - total_sent_dtls- 送信した DTLS パケットの総数
- network_status- unstable_level- API を取得した時点の不安定レベル
  - total_unstable_level0- 不安定レベル 0 の回数
  - total_unstable_level1- 不安定レベル 1 の回数
  - total_unstable_level2- 不安定レベル 2 の回数
  - total_unstable_level3- 不安定レベル 3 の回数
- ice_connection_state- total_connected_req- `connected` 状態での疎通確認用のリクエスト送信回数
  - total_connected_ack- `connected` 状態での疎通確認用の応答受信回数
  - total_checking_req- `checking` 状態での疎通確認用のリクエスト送信回数
  - total_checking_ack- `checking` 状態での疎通確認用の応答受信回数
  - total_disconnected_req- `disconnected` 状態での疎通確認用のリクエスト送信回数
  - total_disconnected_ack- `disconnected` 状態での疎通確認用の応答受信回数
  - total_connected_to_checking- `connected` 状態から `checking` 状態へ遷移した回数
  - total_checking_to_disconnected- `checking` 状態から `disconnected` 状態へ遷移した回数
  - total_disconnected_to_failed- `disconnected` 状態から `failed` 状態へ遷移した回数
  - total_checking_to_connected- `checking` 状態から `connected` 状態へ遷移した回数
  - total_disconnected_to_checking- `disconnected` 状態から `checking` 状態へ遷移した回数
- signaling- total_received_signaling_pong
  - total_sent_signaling_ping
- packet_loss_simulator- total_dropped_received_rtp- 受信したがパケロスシミュレータが落とした RTP パケットの総数
  - total_dropped_sent_rtp- 送信したがパケロスシミュレータが落とした RTP パケットの総数
  - total_dropped_received_data_channel- 受信したがパケロスシミュレータが落とした DataChannel パケットの総数
  - total_dropped_sent_data_channel- 送信したがパケロスシミュレータが落とした DataChannel パケットの総数
- rtp- total_generic_nack_cache_hit- 再送要求に答えた総数
  - total_generic_nack_cache_miss- 再送要求に答えられなかった総数
  - total_pli_trigger- 再送要求が限界に来たため全画面要求(PLI) を送信した総数
  - total_received
  - total_received_byte_size
  - total_received_rtp
  - total_received_rtp_byte_size
  - total_received_rtp_red
  - total_received_rtp_red_rtx
  - total_received_rtp_red_ulpfec
  - total_received_rtp_rtx
  - total_sent
  - total_sent_byte_size
  - total_sent_rtp
  - total_sent_rtp_byte_size
  - total_decrypt_skipped_srtp- 復号をスキップした SRTP 総数
  - total_decrypt_skipped_video_srtp- 復号をスキップした映像 SRTP 総数
  - total_decrypt_skipped_audio_srtp- 復号をスキップした音声 SRTP 総数
  - total_received_srtp_invalid
  - total_received_rtp_padding
  - total_received_rtp_padding_size
  - total_received_intra_frame- I フレームを受信した総数
  - total_ulpfec_recovered- ULPFEC を利用して損失パケットを回復した総数
- rtp_hdr_ext- total_received_rtp_hdr_ext_abs_send_time
  - total_received_rtp_hdr_ext_audio_level
  - total_received_rtp_hdr_ext_av1_rtp_sepc
  - total_received_rtp_hdr_ext_color_space
  - total_received_rtp_hdr_ext_inband_cn
  - total_received_rtp_hdr_ext_playout_delay
  - total_received_rtp_hdr_ext_sdes_mid
  - total_received_rtp_hdr_ext_sdes_repaired_rtp_stream_id
  - total_received_rtp_hdr_ext_sdes_rtp_stream_id
  - total_received_rtp_hdr_ext_toffset
  - total_received_rtp_hdr_ext_transport_wide_cc
  - total_received_rtp_hdr_ext_unknown
  - total_received_rtp_hdr_ext_video_content_type
  - total_received_rtp_hdr_ext_video_orientation
  - total_received_rtp_hdr_ext_video_timeing
  - total_sent_rtp_hdr_ext_abs_send_time
  - total_sent_rtp_hdr_ext_audio_level
  - total_sent_rtp_hdr_ext_av1_rtp_sepc
  - total_sent_rtp_hdr_ext_color_space
  - total_sent_rtp_hdr_ext_inband_cn
  - total_sent_rtp_hdr_ext_playout_delay
  - total_sent_rtp_hdr_ext_sdes_mid
  - total_sent_rtp_hdr_ext_sdes_repaired_rtp_stream_id
  - total_sent_rtp_hdr_ext_sdes_rtp_stream_id
  - total_sent_rtp_hdr_ext_toffset
  - total_sent_rtp_hdr_ext_transport_wide_cc
  - total_sent_rtp_hdr_ext_unknown
  - total_sent_rtp_hdr_ext_video_content_type
  - total_sent_rtp_hdr_ext_video_orientation
  - total_sent_rtp_hdr_ext_video_timeing
- rtcp- total_received_rtcp
  - total_received_rtcp_bye
  - total_received_rtcp_byte_size
  - total_received_rtcp_psfb_afb
  - total_received_rtcp_psfb_fir
  - total_received_rtcp_psfb_pli
  - total_received_rtcp_rr
  - total_received_rtcp_rtpfb_generic_nack
  - total_received_rtcp_rtpfb_tmmbn
  - total_received_rtcp_rtpfb_tmmbr
  - total_received_rtcp_rtpfb_transport_wide
  - total_received_rtcp_sdes
  - total_received_rtcp_sr
  - total_received_rtcp_unknown
  - total_received_rtcp_xr
  - total_sent_rtcp
  - total_sent_rtcp_bye
  - total_sent_rtcp_byte_size
  - total_sent_rtcp_psfb_afb
  - total_sent_rtcp_psfb_fir
  - total_sent_rtcp_psfb_pli
  - total_sent_rtcp_rr
  - total_sent_rtcp_rtpfb_generic_nack
  - total_sent_rtcp_rtpfb_tmmbn
  - total_sent_rtcp_rtpfb_tmmbr
  - total_sent_rtcp_rtpfb_transport_wide
  - total_sent_rtcp_sdes
  - total_sent_rtcp_sr
  - total_sent_rtcp_unknown
  - total_sent_rtcp_xr
- turn- total_received_turn_unknown_stun
  - total_received_turn_invalid_stun
  - total_received_unknown_channel_number
  - total_received_expired_channel_number
  - total_received_allocate_request
  - total_received_binding_request
  - total_received_channel_bind_request
  - total_received_channel_data
  - total_received_create_permission_request
  - total_received_refresh_request
  - total_received_send_indication
  - total_received_turn_binding_error
  - total_received_turn_binding_request
  - total_received_turn_binding_success
  - total_received_turn_unknown
  - total_sent_allocate_error
  - total_sent_allocate_success
  - total_sent_binding_error
  - total_sent_binding_success
  - total_sent_channel_bind_error
  - total_sent_channel_bind_success
  - total_sent_channel_data
  - total_sent_create_permission_error
  - total_sent_create_permission_success
  - total_sent_data_indication
  - total_sent_refresh_error
  - total_sent_refresh_success
  - total_sent_turn_binding_error
  - total_sent_turn_binding_request
  - total_sent_turn_binding_success
  - total_sent_turn_unknown
- data_channel- signaling- ordered
    - max_packet_life_time
    - max_retransmits
    - protocol
    - direction
    - compress
    - total_data_channel_abandon_message
    - total_data_channel_retransmit_message
    - total_data_channel_open_message
    - total_data_channel_ack_message
    - total_received_data_channel_message
    - total_received_data_channel_message_byte_size
    - total_sent_data_channel_message
    - total_sent_data_channel_message_byte_size
  - notify- signaling と同様
  - push- signaling と同様
  - stats- signaling と同様
  - e2ee- signaling と同様
  - # から始まるメッセージング用ラベル- signaling と同様
- sctp- total_received_invalid_sctp
  - total_received_sctp
  - total_received_sctp_byte_size
  - total_received_sctp_chunk_abort
  - total_received_sctp_chunk_asconf
  - total_received_sctp_chunk_asconf_ack
  - total_received_sctp_chunk_auth
  - total_received_sctp_chunk_cookie_ack
  - total_received_sctp_chunk_cookie_echo
  - total_received_sctp_chunk_cwr
  - total_received_sctp_chunk_data
  - total_received_sctp_chunk_ecne
  - total_received_sctp_chunk_error
  - total_received_sctp_chunk_forward_tsn
  - total_received_sctp_chunk_heartbeat
  - total_received_sctp_chunk_heartbeat_ack
  - total_received_sctp_chunk_i_data
  - total_received_sctp_chunk_i_forward_tsn
  - total_received_sctp_chunk_init
  - total_received_sctp_chunk_init_ack
  - total_received_sctp_chunk_pad
  - total_received_sctp_chunk_reconfig
  - total_received_sctp_chunk_sack
  - total_received_sctp_chunk_shutdown
  - total_received_sctp_chunk_shutdown_ack
  - total_received_sctp_chunk_shutdown_complete
  - total_received_sctp_chunk_unknown
  - total_received_unknown_sctp
  - total_sent_sctp
  - total_sent_sctp_byte_size
  - total_sent_sctp_chunk_abort
  - total_sent_sctp_chunk_asconf
  - total_sent_sctp_chunk_asconf_ack
  - total_sent_sctp_chunk_auth
  - total_sent_sctp_chunk_cookie_ack
  - total_sent_sctp_chunk_cookie_echo
  - total_sent_sctp_chunk_cwr
  - total_sent_sctp_chunk_data
  - total_sent_sctp_chunk_ecne
  - total_sent_sctp_chunk_error
  - total_sent_sctp_chunk_forward_tsn
  - total_sent_sctp_chunk_heartbeat
  - total_sent_sctp_chunk_heartbeat_ack
  - total_sent_sctp_chunk_i_data
  - total_sent_sctp_chunk_i_forward_tsn
  - total_sent_sctp_chunk_init
  - total_sent_sctp_chunk_init_ack
  - total_sent_sctp_chunk_pad
  - total_sent_sctp_chunk_reconfig
  - total_sent_sctp_chunk_sack
  - total_sent_sctp_chunk_shutdown
  - total_sent_sctp_chunk_shutdown_ack
  - total_sent_sctp_chunk_shutdown_complete
  - total_sent_sctp_chunk_unknown


## GetStatsConnection

**x-sora-target**: Sora_20170529.GetStatsConnection

指定した接続の統計情報を取得します。

* - キー
  - 型
* - channel_id
  - string
* - connection_id
  - string

```console
$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20170529.GetStatsConnection \
    channel_id=sora \
    connection_id=KDBN2YD1A919V5BA2JX6TG2RP8 -vvv
POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 69
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/2.4.0
x-sora-target: Sora_20170529.GetStatsConnection

{
    "channel_id": "sora",
    "connection_id": "KP8VZZ321D0A90RSVJC4RMGJ08"
}


HTTP/1.1 200 OK
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, x-sora-target
access-control-allow-methods: POST, OPTIONS
access-control-allow-origin: http://127.0.0.1:5000
access-control-max-age: 1000
content-length: 10954
content-type: application/json
date: Tue, 30 Nov 2021 01:59:51 GMT
server: Cowboy

{
    "channel_id": "sora",
    "client_id": "KP8VZZ321D0A90RSVJC4RMGJ08",
    "bundle_id": "KP8VZZ321D0A90RSVJC4RMGJ08",
    "connection_id": "KP8VZZ321D0A90RSVJC4RMGJ08",
    "data_channel": {
        "#test": {
            "compress": false,
            "direction": "sendrecv",
            "ordered": true,
            "protocol": "",
            "total_received_data_channel_message": 1,
            "total_received_data_channel_message_byte_size": 1,
            "total_sent_data_channel_message": 1,
            "total_sent_data_channel_message_byte_size": 17
        },
        "e2ee": {
            "compress": false,
            "direction": "sendrecv",
            "ordered": true,
            "protocol": "",
            "total_received_data_channel_message": 1,
            "total_received_data_channel_message_byte_size": 1,
            "total_sent_data_channel_message": 1,
            "total_sent_data_channel_message_byte_size": 16
        },
        "notify": {
            "compress": true,
            "direction": "recvonly",
            "ordered": true,
            "protocol": "",
            "total_received_data_channel_message": 1,
            "total_received_data_channel_message_byte_size": 1,
            "total_sent_data_channel_message": 8,
            "total_sent_data_channel_message_byte_size": 627
        },
        "push": {
            "compress": true,
            "direction": "recvonly",
            "ordered": true,
            "protocol": "",
            "total_received_data_channel_message": 1,
            "total_received_data_channel_message_byte_size": 1,
            "total_sent_data_channel_message": 1,
            "total_sent_data_channel_message_byte_size": 16
        },
        "signaling": {
            "compress": true,
            "direction": "sendrecv",
            "ordered": true,
            "protocol": "",
            "total_received_data_channel_message": 1,
            "total_received_data_channel_message_byte_size": 1,
            "total_sent_data_channel_message": 1,
            "total_sent_data_channel_message_byte_size": 21
        },
        "stats": {
            "compress": true,
            "direction": "sendrecv",
            "ordered": true,
            "protocol": "",
            "total_received_data_channel_message": 3,
            "total_received_data_channel_message_byte_size": 30078,
            "total_sent_data_channel_message": 3,
            "total_sent_data_channel_message_byte_size": 73
        }
    },
    "dtls": {
        "total_received_dtls": 36,
        "total_sent_dtls": 37
    },
    "packet_loss_simulator": {
        "total_dropped_received_data_channel": 2,
        "total_dropped_received_rtp": 0,
        "total_dropped_sent_data_channel": 2,
        "total_dropped_sent_rtp": 0
    },
    "rtcp": {
        "total_generic_nack_cache_hit": 4,
        "total_generic_nack_cache_miss": 0,
        "total_pli_trigger": 0,
        "total_received_rtcp": 375,
        "total_received_rtcp_bye": 0,
        "total_received_rtcp_byte_size": 33260,
        "total_received_rtcp_psfb_afb": 278,
        "total_received_rtcp_psfb_fir": 0,
        "total_received_rtcp_psfb_pli": 0,
        "total_received_rtcp_rr": 73,
        "total_received_rtcp_rtpfb_generic_nack": 4,
        "total_received_rtcp_rtpfb_tmmbn": 0,
        "total_received_rtcp_rtpfb_tmmbr": 0,
        "total_received_rtcp_rtpfb_transport_wide": 0,
        "total_received_rtcp_sdes": 298,
        "total_received_rtcp_sr": 298,
        "total_received_rtcp_unknown": 0,
        "total_received_rtcp_xr": 0,
        "total_sent_rtcp": 184,
        "total_sent_rtcp_bye": 0,
        "total_sent_rtcp_byte_size": 14812,
        "total_sent_rtcp_psfb_afb": 79,
        "total_sent_rtcp_psfb_fir": 0,
        "total_sent_rtcp_psfb_pli": 0,
        "total_sent_rtcp_rr": 91,
        "total_sent_rtcp_rtpfb_generic_nack": 0,
        "total_sent_rtcp_rtpfb_tmmbn": 0,
        "total_sent_rtcp_rtpfb_tmmbr": 0,
        "total_sent_rtcp_rtpfb_transport_wide": 0,
        "total_sent_rtcp_sdes": 93,
        "total_sent_rtcp_sr": 93,
        "total_sent_rtcp_unknown": 0,
        "total_sent_rtcp_xr": 0
    },
    "rtp": {
        "total_received": 5706,
        "total_received_byte_size": 1879672,
        "total_received_rtp": 5331,
        "total_received_rtp_byte_size": 1846412,
        "total_received_rtp_padding": 0,
        "total_received_rtp_padding_size": 0,
        "total_received_rtp_red": 0,
        "total_received_rtp_red_rtx": 0,
        "total_received_rtp_red_ulpfec": 0,
        "total_received_rtp_rtx": 79,
        "total_sent": 5548,
        "total_sent_byte_size": 2015913,
        "total_sent_rtp": 5364,
        "total_sent_rtp_byte_size": 2001101
    },
    "rtp_hdr_ext": {
        "total_received_rtp_hdr_ext_abs_send_time": 5331,
        "total_received_rtp_hdr_ext_audio_level": 3187,
        "total_received_rtp_hdr_ext_av1_rtp_sepc": 2144,
        "total_received_rtp_hdr_ext_color_space": 0,
        "total_received_rtp_hdr_ext_inband_cn": 0,
        "total_received_rtp_hdr_ext_playout_delay": 0,
        "total_received_rtp_hdr_ext_sdes_mid": 0,
        "total_received_rtp_hdr_ext_sdes_repaired_rtp_stream_id": 0,
        "total_received_rtp_hdr_ext_sdes_rtp_stream_id": 0,
        "total_received_rtp_hdr_ext_toffset": 0,
        "total_received_rtp_hdr_ext_transport_wide_cc": 0,
        "total_received_rtp_hdr_ext_unknown": 0,
        "total_received_rtp_hdr_ext_video_content_type": 0,
        "total_received_rtp_hdr_ext_video_orientation": 0,
        "total_received_rtp_hdr_ext_video_timeing": 0,
        "total_sent_rtp_hdr_ext_abs_send_time": 0,
        "total_sent_rtp_hdr_ext_audio_level": 3188,
        "total_sent_rtp_hdr_ext_av1_rtp_sepc": 2176,
        "total_sent_rtp_hdr_ext_color_space": 0,
        "total_sent_rtp_hdr_ext_inband_cn": 0,
        "total_sent_rtp_hdr_ext_playout_delay": 0,
        "total_sent_rtp_hdr_ext_sdes_mid": 0,
        "total_sent_rtp_hdr_ext_sdes_repaired_rtp_stream_id": 0,
        "total_sent_rtp_hdr_ext_sdes_rtp_stream_id": 0,
        "total_sent_rtp_hdr_ext_toffset": 0,
        "total_sent_rtp_hdr_ext_transport_wide_cc": 0,
        "total_sent_rtp_hdr_ext_unknown": 0,
        "total_sent_rtp_hdr_ext_video_content_type": 0,
        "total_sent_rtp_hdr_ext_video_orientation": 0,
        "total_sent_rtp_hdr_ext_video_timeing": 0
    },
    "sctp": {
        "total_pruned_sctp_data_chunk": 0,
        "total_received_invalid_sctp": 0,
        "total_received_sctp": 32,
        "total_received_sctp_byte_size": 8244,
        "total_received_sctp_chunk_abort": 0,
        "total_received_sctp_chunk_asconf": 0,
        "total_received_sctp_chunk_asconf_ack": 0,
        "total_received_sctp_chunk_auth": 0,
        "total_received_sctp_chunk_cookie_ack": 0,
        "total_received_sctp_chunk_cookie_echo": 1,
        "total_received_sctp_chunk_cwr": 0,
        "total_received_sctp_chunk_data": 14,
        "total_received_sctp_chunk_ecne": 0,
        "total_received_sctp_chunk_error": 0,
        "total_received_sctp_chunk_forward_tsn": 0,
        "total_received_sctp_chunk_heartbeat": 0,
        "total_received_sctp_chunk_heartbeat_ack": 2,
        "total_received_sctp_chunk_i_data": 0,
        "total_received_sctp_chunk_i_forward_tsn": 0,
        "total_received_sctp_chunk_init": 1,
        "total_received_sctp_chunk_init_ack": 0,
        "total_received_sctp_chunk_pad": 19,
        "total_received_sctp_chunk_reconfig": 0,
        "total_received_sctp_chunk_sack": 15,
        "total_received_sctp_chunk_shutdown": 0,
        "total_received_sctp_chunk_shutdown_ack": 0,
        "total_received_sctp_chunk_shutdown_complete": 0,
        "total_received_sctp_chunk_unknown": 0,
        "total_received_unknown_sctp": 0,
        "total_sent_sctp": 37,
        "total_sent_sctp_byte_size": 2060,
        "total_sent_sctp_chunk_abort": 0,
        "total_sent_sctp_chunk_asconf": 0,
        "total_sent_sctp_chunk_asconf_ack": 0,
        "total_sent_sctp_chunk_auth": 0,
        "total_sent_sctp_chunk_cookie_ack": 1,
        "total_sent_sctp_chunk_cookie_echo": 0,
        "total_sent_sctp_chunk_cwr": 0,
        "total_sent_sctp_chunk_data": 19,
        "total_sent_sctp_chunk_ecne": 0,
        "total_sent_sctp_chunk_error": 0,
        "total_sent_sctp_chunk_forward_tsn": 0,
        "total_sent_sctp_chunk_heartbeat": 2,
        "total_sent_sctp_chunk_heartbeat_ack": 0,
        "total_sent_sctp_chunk_i_data": 0,
        "total_sent_sctp_chunk_i_forward_tsn": 0,
        "total_sent_sctp_chunk_init": 0,
        "total_sent_sctp_chunk_init_ack": 1,
        "total_sent_sctp_chunk_pad": 0,
        "total_sent_sctp_chunk_reconfig": 0,
        "total_sent_sctp_chunk_sack": 14,
        "total_sent_sctp_chunk_shutdown": 0,
        "total_sent_sctp_chunk_shutdown_ack": 0,
        "total_sent_sctp_chunk_shutdown_complete": 0,
        "total_sent_sctp_chunk_unknown": 0
    },
    "signaling": {
        "total_received_signaling_pong": 0,
        "total_sent_signaling_ping": 0
    },
    "simulcast": {
        "r0": {
            "rtp": {
                "total_received_rtp": 0,
                "total_received_rtp_byte_size": 0,
                "total_received_rtp_padding": 0,
                "total_received_rtp_padding_size": 0,
                "total_received_rtp_red": 0,
                "total_received_rtp_red_rtx": 0,
                "total_received_rtp_red_ulpfec": 0,
                "total_received_rtp_rtx": 0
            },
            "rtp_hdr_ext": {
                "total_received_rtp_hdr_ext_abs_send_time": 0,
                "total_received_rtp_hdr_ext_audio_level": 0,
                "total_received_rtp_hdr_ext_av1_rtp_sepc": 0,
                "total_received_rtp_hdr_ext_color_space": 0,
                "total_received_rtp_hdr_ext_inband_cn": 0,
                "total_received_rtp_hdr_ext_playout_delay": 0,
                "total_received_rtp_hdr_ext_sdes_mid": 0,
                "total_received_rtp_hdr_ext_sdes_repaired_rtp_stream_id": 0,
                "total_received_rtp_hdr_ext_sdes_rtp_stream_id": 0,
                "total_received_rtp_hdr_ext_toffset": 0,
                "total_received_rtp_hdr_ext_transport_wide_cc": 0,
                "total_received_rtp_hdr_ext_unknown": 0,
                "total_received_rtp_hdr_ext_video_content_type": 0,
                "total_received_rtp_hdr_ext_video_orientation": 0,
                "total_received_rtp_hdr_ext_video_timeing": 0
            }
        },
        "r1": {
            "rtp": {
                "total_received_rtp": 0,
                "total_received_rtp_byte_size": 0,
                "total_received_rtp_padding": 0,
                "total_received_rtp_padding_size": 0,
                "total_received_rtp_red": 0,
                "total_received_rtp_red_rtx": 0,
                "total_received_rtp_red_ulpfec": 0,
                "total_received_rtp_rtx": 0
            },
            "rtp_hdr_ext": {
                "total_received_rtp_hdr_ext_abs_send_time": 0,
                "total_received_rtp_hdr_ext_audio_level": 0,
                "total_received_rtp_hdr_ext_av1_rtp_sepc": 0,
                "total_received_rtp_hdr_ext_color_space": 0,
                "total_received_rtp_hdr_ext_inband_cn": 0,
                "total_received_rtp_hdr_ext_playout_delay": 0,
                "total_received_rtp_hdr_ext_sdes_mid": 0,
                "total_received_rtp_hdr_ext_sdes_repaired_rtp_stream_id": 0,
                "total_received_rtp_hdr_ext_sdes_rtp_stream_id": 0,
                "total_received_rtp_hdr_ext_toffset": 0,
                "total_received_rtp_hdr_ext_transport_wide_cc": 0,
                "total_received_rtp_hdr_ext_unknown": 0,
                "total_received_rtp_hdr_ext_video_content_type": 0,
                "total_received_rtp_hdr_ext_video_orientation": 0,
                "total_received_rtp_hdr_ext_video_timeing": 0
            }
        },
        "r2": {
            "rtp": {
                "total_received_rtp": 0,
                "total_received_rtp_byte_size": 0,
                "total_received_rtp_padding": 0,
                "total_received_rtp_padding_size": 0,
                "total_received_rtp_red": 0,
                "total_received_rtp_red_rtx": 0,
                "total_received_rtp_red_ulpfec": 0,
                "total_received_rtp_rtx": 0
            },
            "rtp_hdr_ext": {
                "total_received_rtp_hdr_ext_abs_send_time": 0,
                "total_received_rtp_hdr_ext_audio_level": 0,
                "total_received_rtp_hdr_ext_av1_rtp_sepc": 0,
                "total_received_rtp_hdr_ext_color_space": 0,
                "total_received_rtp_hdr_ext_inband_cn": 0,
                "total_received_rtp_hdr_ext_playout_delay": 0,
                "total_received_rtp_hdr_ext_sdes_mid": 0,
                "total_received_rtp_hdr_ext_sdes_repaired_rtp_stream_id": 0,
                "total_received_rtp_hdr_ext_sdes_rtp_stream_id": 0,
                "total_received_rtp_hdr_ext_toffset": 0,
                "total_received_rtp_hdr_ext_transport_wide_cc": 0,
                "total_received_rtp_hdr_ext_unknown": 0,
                "total_received_rtp_hdr_ext_video_content_type": 0,
                "total_received_rtp_hdr_ext_video_orientation": 0,
                "total_received_rtp_hdr_ext_video_timeing": 0
            }
        }
    },
    "spotlight": {
        "total_spotlight_focus_failed": 0,
        "total_spotlight_unfocus_audio_no_room": 0,
        "total_spotlight_unfocus_audio_out_packet": 0,
        "total_spotlight_unfocus_audio_publish": 0
    },
    "ice_connection_state": {
      "total_checking_ack": 1,
      "total_checking_req": 1,
      "total_checking_to_connected": 1,
      "total_checking_to_disconnected": 0,
      "total_connected_ack": 12,
      "total_connected_req": 12,
      "total_connected_to_checking": 0,
      "total_disconnected_ack": 0,
      "total_disconnected_req": 0,
      "total_disconnected_to_checking": 0,
      "total_disconnected_to_failed": 0
    },
    "network_status": {
      "unstable_level": 0,
      "total_unstable_level0": 2,
      "total_unstable_level1": 0,
      "total_unstable_level2": 0,
      "total_unstable_level3": 0
    },
    "timestamp": "2021-11-30T01:59:51.372062Z",
    "turn": {
        "total_received_allocate_request": 7,
        "total_received_binding_request": 0,
        "total_received_channel_bind_request": 1,
        "total_received_channel_data": 5802,
        "total_received_create_permission_request": 1,
        "total_received_expired_channel_number": 0,
        "total_received_refresh_request": 4,
        "total_received_send_indication": 3,
        "total_received_turn_binding_error": 0,
        "total_received_turn_binding_request": 29,
        "total_received_turn_binding_success": 28,
        "total_received_turn_invalid_stun": 0,
        "total_received_turn_unknown": 0,
        "total_received_turn_unknown_stun": 0,
        "total_received_unknown_channel_number": 0,
        "total_sent_allocate_error": 2,
        "total_sent_allocate_success": 2,
        "total_sent_binding_error": 0,
        "total_sent_binding_success": 0,
        "total_sent_channel_bind_error": 0,
        "total_sent_channel_bind_success": 1,
        "total_sent_channel_data": 5644,
        "total_sent_create_permission_error": 0,
        "total_sent_create_permission_success": 1,
        "total_sent_data_indication": 2,
        "total_sent_refresh_error": 0,
        "total_sent_refresh_success": 3,
        "total_sent_turn_binding_error": 0,
        "total_sent_turn_binding_request": 28,
        "total_sent_turn_binding_success": 1,
        "total_sent_turn_unknown": 0
    }
}
```


## GetStatsClient

**x-sora-target**: Sora_20170529.GetStatsClient

指定したクライアントの統計情報を取得します。

* - キー
  - 型
* - channel_id
  - string
* - client_id
  - string

```console
$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20170529.GetStatsClient \
    channel_id=sora \
    client_id=82TKXKK1M15C76KTF192WVDSVC \
    -vvv
POST / HTTP/1.1
Accept: application/json, */*;q=0.5
Accept-Encoding: gzip, deflate
Connection: keep-alive
Content-Length: 65
Content-Type: application/json
Host: 127.0.0.1:3000
User-Agent: HTTPie/2.4.0
x-sora-target: Sora_20170529.GetStatsClient

{
    "channel_id": "sora",
    "client_id": "spam"
}


HTTP/1.1 200 OK
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, x-sora-target
access-control-allow-methods: POST, OPTIONS
access-control-allow-origin: http://127.0.0.1:5000
access-control-max-age: 1000
content-length: 10656
content-type: application/json
date: Tue, 30 Nov 2021 02:02:33 GMT
server: Cowboy

[
    {
        "channel_id": "sora",
        "client_id": "spam",
        "bundle_id": "DDG3V4NZPH04V02NKDMY97993W",
        "connection_id": "DDG3V4NZPH04V02NKDMY97993W",
        ...
    },
    {
        "channel_id": "sora",
        "client_id": "spam",
        "bundle_id": "1RKMMEA10923N96N88S1GEKGYR",
        "connection_id": "1RKMMEA10923N96N88S1GEKGYR",
        ...
    }
]
```


## GetStatsAllConnections

**x-sora-target**: Sora_20171101.GetStatsAllConnections

すべての接続の統計情報を取得します。

```console
$ http POST 127.0.0.1:3000/ \
    x-sora-target:Sora_20171101.GetStatsAllConnections -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/2.4.0
x-sora-target: Sora_20171101.GetStatsAllConnections



HTTP/1.1 200 OK
access-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, x-sora-target
access-control-allow-methods: POST, OPTIONS
access-control-allow-origin: http://127.0.0.1:5000
access-control-max-age: 1000
content-length: 32059
content-type: application/json
date: Tue, 30 Nov 2021 02:06:00 GMT
server: Cowboy

[
    {
        "channel_id": "sora",
        "client_id": "spam",
        "bundle_id": "DDG3V4NZPH04V02NKDMY97993W",
        "connection_id": "DDG3V4NZPH04V02NKDMY97993W",
        ...
    },
    {
        "channel_id": "sora",
        "client_id": "spam",
        "bundle_id: "1RKMMEA10923N96N88S1GEKGYR",
        "connection_id": "1RKMMEA10923N96N88S1GEKGYR",
        ...
    },
    {
        "channel_id": "zakuro",
        "client_id": "EYYX5FGZN17VB647HGYZ27K8MM",
        "bundle_id": "EYYX5FGZN17VB647HGYZ27K8MM",
        "connection_id": "EYYX5FGZN17VB647HGYZ27K8MM",
        ...
    }
]
```
