Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

custom, собираемая при помощи внешнего скрипта

connections_stats

Соединения с WCS-сервером

connections

Общее количество соединений

connections_rtmfp

Количество RTMFP-соединений (Flash)

connections_websocket

Количество WebSocket-соединений

port_stats

Порты, слушаемые WCS-сервером

ports_media_free

Количество свободных медиапортов

ports_media_busy

Количество занятых медиапортов

ports_media_quarantine

Количество медиапортов в карантине

ports_wcs_agents_free

Количество свободных портов, используемых в CDN

ports_wcs_agents_busy

Количество занятых портов, используемых в CDN

ports_wcs_agents_quarantine

Количество портов, используемых в CDN, находящихся в карантине

streams_stats

Сессии аудио и видеопотоков на WCS-сервере

streams_rtsp_in

Количество активных RTSP-сессий, раздающих трафик

streams_rtsp_out

Количество активных RTSP-сессий, забирающих трафик

streams_websocket_out

Количество активных потоков, воспроизводимых через WebSocket

streams_rtmp_out

Количество активных RTMP-потоков

streams_webrtc_in

Количество активных потоков, публикуемых через WebRTC

streams_webrtc_out

Количество активных потоков, воспроизводимых через WebRTC

streams_rtmfp_in

Количество активных потоков, публикуемых через RTMFP

streams_rtmfp_out

Количество активных потоков, воспроизводимых через RTMFP

streams_viewers

Количество активных клиентов, воспроизводящих опубликованные потоки

streams_synchronization

Синхронизация в опубликованных потоках

native_resources

Информация о потребляемых ресурсах

native_resources

Информация о кодировании/декодировании медиапотока

core_stats

Параметры системы (полученные с использованием методов Java) и параметры WCS-сервера

core_threads

Количество активных потоков server-процесса WCS

core_java_threads

Текущее количество живых потоков

core_java_threads_blockedТекущее количество заблокированных потоков

core_java_committedMemory

Количество гарантированно доступной виртуальной памяти, в байтах

core_java_freePhysicalMemorySize

Количество свободной физической памяти, в байтах

core_java_arch

Aрхитектура операционной системы

core_java_availableProcessors

Количество процессоров доступных виртуальной машине Java

core_java_freeSwapSpaceSize

Количество свободного swap-пространства, в байтах

core_java_maxFileDescriptorCount

Максимальное количество файл-дескрипторов

core_java_open_file_descriptors

Количество файл-дескрипторов, открытых в виртуальной машине Java

core_java_cpu_usage

"Недавнее использование процессора" для процесса виртуальной машины Java

core_java_totalPhysicalMemorySize

Количество физической памяти, в байтах

core_java_totalSwapSpaceSize

Количество swap-пространства, в байтах

core_java_uptime

Сколько времени прошло от запуска виртуальной машины Java, в миллисекундах

core_heap_memory_used

Использование памяти в куче

core_rss_memory

Использование памяти

core_open_file_descriptors

Количество открытых файл-дескрипторов

core_cpu_usage

Процент времени, затраченного на работу процессов

core_gc

Информация о "сборке мусора"

core_gc_manager

Информация о "сборке мусора" в административном модуле

core_heap_memory_used

Используемая память в куче

core_java_version

Версия Java

core_java_nio_memory_buffer_count

Количество используемых TCP NIO буферов

core_java_nio_memory_used

Объем памяти, используемой под TCP NIO буферы

core_java_nio_memory_capacity

Объем памяти, выделенной под TCP NIO буферы

call_stats

SIP-звонки на WCS-сервере

sip_calls

Количество SIP-звонков

sip_calls_established

Количество активных SIP-звонков

sip_calls_in

Количество входящих SIP-звонков

sip_calls_out

Количество исходящих SIP-звонков

sip_calls_per_second (cps)

Количество SIP-звонков в секунду

sip_stats

SIP-клиенты

sip_registered

Количество клиентов в состоянии REGISTERED

recording_stats

Запись аудио и видеофайлов

recording_sessions

Количество активных сессий записи

recording_threads

Количество процессорных потоков для записи
recording_thread_min_writersМинимальное количество записей на один процессорный поток
recording_thread_max_writersМаксимальное количество записей на один процессорный поток
recording_thread_average_writersСреднее количество записей на один процессорный поток
recording_writers_listСписок активных записей
recording_writers_with_max_queueСписок записей с максимальным размером очереди данных
recording_writers_with_min_queueСписок записей с минимальным размером очереди данных
recording_min_writers_queueМинимальный размер очереди данных на запись
recording_average_writers_queueСредний размер очереди данных на запись
recording_max_writers_queueМаксимальный размер очереди данных на запись

system_stats

Параметры системы

system_java_cpu_usage

"Недавнее использование процессора" для всей системы (получено с использованием методов Java)

system_java_load_average

Средняя нагрузка системы за последнюю минуту (получено с использованием методов Java)

system_uptime

Сколько времени прошло от запуска Linux-сервера

system_memory_total

Доступная к использованию RAM-память, в килобайтах

system_memory_free

Количество физической RAM-памяти, не используемой системой, в килобайтах

system_cpu_usage

Процент времени, затраченного на работу процессов ядра

network_stats

Статистика сетевого трафика

global_bandwidth_in

Пропускная способность канала для входящих соединений

global_bandwidth_out

Пропускная способность канала для исходящих соединений

version_stats

Информация о версии WCS

wcs_version

Текущая версия WCS-сервера

wcs_client_version

Текущая версия Web SDK

gc_statsИнформация о последнем цикле сборки мусора

gc_last_pause_ms

Пауза в работе JVM, в миллисекундах

gc_last_duration_ms

Общая длительность цикла сборки мусора, в миллисекундах

gc_last_heap_before_mb

Объем кучи в мегабайтах, до сборки мусора

gc_last_heap_after_mb

Объем кучи в мегабайтах, после сборки мусора

errors_info

Информация об ошибках (собирается на основании перехваченных исключений Java)

java.io.IOException

Количество ошибок ввода-вывода

java.lang.ArrayIndexOutOfBoundsException

Количество выходов за пределы массива

java.lang.IllegalArgumentException

Количество ошибок в аргументах функций

com.flashphoner.server.license.activation.A.C

Количество ошибок при активации лицензии

java.lang.NullPointerException

Количество попыток перехода по нулевому указателю

java.lang.OutOfMemoryErrorКоличество ошибок выделения памяти (требуется перезапуск сервера)
degraded_streams_statsИнформация о деградации потоков
degraded_streamsКоличество деградировавших потоков
degraded_streams_percentПроцент деградации от общего числа потоков на сервере

transcoding_stats

Информация о транскодировании потоков

transcoding_video_decoding_resolutions

Список декодируемых разрешений в виде "разрешение/количество потоков"

transcoding_video_decoding_average_time

Среднее время декодирования по разрешениям в виде "разрешение/время в мс"

transcoding_video_decoding_max_time

Максимальное время декодирования по разрешениям в виде "разрешение/время в мс"

transcoding_video_decoding_average_queue_size

Средний размер очереди декодирования по разрешениям в виде "разрешение/размер очереди"

transcoding_video_decoding_max_queue_size

Максимальный размер очереди декодирования по разрешениям в виде "разрешение/размер очереди"

transcoding_video_encoding_resolutions

Список кодируемых разрешений в виде "разрешение/количество потоков"

transcoding_video_encoding_average_time

Среднее время кодирования по разрешениям в виде "разрешение/время в мс"

transcoding_video_encoding_max_time

Максимальное время кодирования по разрешениям в виде "разрешение/время в мс"

transcoding_video_encoding_average_queue_size

Средний размер очереди кодирования по разрешениям в виде "разрешение/размер очереди"

transcoding_video_encoding_max_queue_size

Максимальный размер очереди кодирования по разрешениям в виде "разрешение/размер очереди"

transcoding_video_decoding_load

Интегральный показатель нагрузки декодирования

transcoding_video_encoding_load

Интегральный показатель нагрузки кодирования
buffer_output_statsИнформация о выравнивающем буфере (только в JSON формате)
cdn_statsИнформация о CDN

cdn_version

Версия CDN, поддерживаемая данным сервером

cdn_role

Роль сервера в CDN

cdn_group

Группа, в которую входит сервер
log_statsСтатистика записи в лог

log_msg_per_sec

Количество сообщений, записываемых в логи, за секунду

log_mbit_per_sec

Объем записи в логи в мегабитах в секунду
tcp_channel_statsСтатистика

Каждый параметр может быть запрошен отдельно, например

Code Block
themeRDark
http://test.flashphoner.com:8081/?action=stat&params=native_resources

Статистику используемых ресурсов и информацию о нагрузке WCS-сервера, объединенную по группам, можно запросить по имени группы (доступны connections_stats, streams_stats, port_stats, call_stats, degraded_streams_stats, system_stats, core_stats)

Code Block
themeRDark
http://test.flashphoner.com:8081/?action=stat&groups=call_stats

В запрос можно включить несколько наименований групп

Code Block
themeRDark
http://test.flashphoner.com:8081/?action=stat&groups=call_stats,connections_stats

Параметры системы могут быть исключены из полной выборки при помощи настройки в файле flashphoner.properties

Code Block
themeRDark
parse_system_stats=false

В этом случае параметры системы предоставляются только по запросу.

Форматы вывода статистики

По умолчанию, статистика выводится в plain text

...

themeRDark
titlePlain text statistics example
collapsetrue

...

TCP каналов

channels_not_writable

Количество событий, при которых не удалось отправить данные по TCP
jitter_buffer_statsСтатистика jitter буфера для входящих медиа потоков

decodable_drops_old

Количество сброшенных H264 фреймов, собранных из пакетов трафика, на поток

incomplete_drops_old

Количество сброшенных H264 фреймов, не полностью собранных из пакетов трафика, на поток

decodable_drops_reset

Количество сброшенных H264 фреймов до новой точки декодирования, собранных из пакетов трафика, на поток

incomplete_drops_reset

Количество сброшенных H264 фреймов до новой точки декодирования, не полностью собранных из пакетов трафика, на поток

decodable_drops_pli

Количество сбросов всех H264 фреймов, собранных из пакетов трафика, при приходе ключевого фрейма, на поток 

incomplete_drops_pli

Количество сбросов всех H264 фреймов, не полностью собранных из пакетов трафика, при приходе ключевого фрейма, на поток

data_packets_with_empty_payload

Количество пакетов с пустым содержимым, высылаются браузером для оценки канала публикации при включенном TWCC
h264_depacketizer_statsСтатистика H264 депакетайзера

missed_h264_units

Количество потерянных H264 элементов, на поток
rtp_audio_player_statsСтатистика разбора аудио пакетов

dropped_audio_data_packets

Количество аудио пакетов, отброшенных на этапе передачи в движок сервера
custom_statsСтатистика, собираемая при помощи внешнего скрипта

Каждый параметр может быть запрошен отдельно, например

Code Block
themeRDark
http://test.flashphoner.com:8081/?action=stat&params=native_resources

Статистику используемых ресурсов и информацию о нагрузке WCS-сервера, объединенную по группам, можно запросить по имени группы (доступны connections_stats, streams_stats, port_stats, call_stats, degraded_streams_stats, system_stats, core_stats)

Code Block
themeRDark
http://test.flashphoner.com:8081/?action=stat&groups=call_stats

В запрос можно включить несколько наименований групп

Code Block
themeRDark
http://test.flashphoner.com:8081/?action=stat&groups=call_stats,connections_stats

Параметры системы могут быть исключены из полной выборки при помощи настройки в файле flashphoner.properties

Code Block
themeRDark
parse_system_stats=false

В этом случае параметры системы предоставляются только по запросу.

Форматы вывода статистики

По умолчанию, статистика выводится в plain text

Code Block
themeRDark
titlePlain text statistics example
collapsetrue
-----Connection Stats-----
connections=1
connections_rtmfp=0
connections_websocket=1
-----Port Stats-----
ports_media_free=495
ports_media_busy=4
ports_media_quarantine=0
-----Stream Stats-----
corestreams_javawebrtc_threadsin=711
corestreams_javawebrtc_committedMemoryout=31270174721
corestreams_javawebsocket_freePhysicalMemorySizeout=698204160
corestreams_javartmfp_archin=amd640
corestreams_javartmfp_availableProcessorsout=20
corestreams_javartmp_freeSwapSpaceSizein=10443694080
corestreams_javartmp_maxFileDescriptorCountout=200000
core_java_open_file_descriptors=206
core_java_cpu_usage=39.88
core_java_totalPhysicalMemorySize=1927303168
core_java_totalSwapSpaceSize=1073737728
core_java_uptime=102191streams_viewers=test/1
streams_rtsp_in=0
streams_rtsp_out=0
streams_rtmp_client_out=0
streams_play_rate=0
streams_stop_rate=0
-----CallNative StatsResources-----
sipnative_processed_calls=0
sip_calls_state=established/0;trying/0;ringing/0;ring/0;ring_media/0;hold/0;busy/0;finish/0;session_progress/0;pending/0;failed/0
sip_calls=0
sip_calls_established=0
sip_calls_in=0
sip_calls_out=0
sip_calls_per_second=0.00resources=140537376620832,NENC:H264/FFMPEG,1859;140537236444800,FFDecoderNative:H264/FFMPEG,39404417
native_resources.audio_codecs=0
native_resources.audio_resamplers=0
native_resources.video_transcoders=0
native_resources.video_decoders=1
native_resources.video_encoders=1
native_resources.writers=0
-----SipCore Stats-----
sip_registered=0
-----Recording Stats-----
recording_sessions=0
-----System Stats-----
system_java_cpu_usage=75.00
system_java_load_average=0.87
-----Network Stats (Mbit/s)-----
global_bandwidth_in=0.000
global_bandwidth_out=0.000
-----Version info-----
wcs_version=5.2.416-32aab7dc90527bfe2ffb4711090fe75c6613a2bb
wcs_client_version=0.5.28.2753-9ba78705727d3ee9d75c1c10f488d21cd00a601c
core_java_threads=71
core_java_committedMemory=3127017472
core_java_freePhysicalMemorySize=69820416
core_java_arch=amd64
core_java_availableProcessors=2
core_java_freeSwapSpaceSize=1044369408
core_java_maxFileDescriptorCount=20000
core_java_open_file_descriptors=206
core_java_cpu_usage=39.88
core_java_totalPhysicalMemorySize=1927303168
core_java_totalSwapSpaceSize=1073737728
core_java_uptime=102191
-----ErrorsCall infoStats-----
-----Degraded streams-----
degraded_streams=
degraded_streams_percent=0

Начиная со сборки 5.2.416, поддерживаются также форматы JSON и Prometheus. Для вывода статистики в формате JSON необходимо указать формат в URI запроса

Code Block
languagebash
themeRDark
curl -s 'http://localhost:8081/?action=stat&format=json'
Code Block
languagejs
themeRDark
titleFormatted JSON statistics example
collapsetrue
{
  "connections_stats": {
    "connections": "1",
    "connections_rtmfp": "0",
    "connections_websocket": "1"
  },
  "port_stats": {
    "ports_media_free": "495",
    "ports_media_busy": "4",
    "ports_media_quarantine": "0"
  },
  "streams_stats": {
    "streams_webrtc_in": "1",
    "streams_webrtc_out": "1",
    "streams_websocket_out": "0",
    "streams_rtmfp_in": "0",
    "streams_rtmfp_out": "0",
    "streams_rtmp_in": "0",
    "streams_rtmp_out": "0",
    "streams_viewers": [
      "test/1"
    ],
    "streams_rtsp_in": "0",
    "streams_rtsp_out": "0",
    "streams_rtmp_client_out": "0sip_processed_calls=0
sip_calls_state=established/0;trying/0;ringing/0;ring/0;ring_media/0;hold/0;busy/0;finish/0;session_progress/0;pending/0;failed/0
sip_calls=0
sip_calls_established=0
sip_calls_in=0
sip_calls_out=0
sip_calls_per_second=0.00
-----Sip Stats-----
sip_registered=0
-----Recording Stats-----
recording_sessions=0
-----System Stats-----
system_java_cpu_usage=75.00
system_java_load_average=0.87
-----Network Stats (Mbit/s)-----
global_bandwidth_in=0.000
global_bandwidth_out=0.000
-----Version info-----
wcs_version=5.2.416-32aab7dc90527bfe2ffb4711090fe75c6613a2bb
wcs_client_version=0.5.28.2753-9ba78705727d3ee9d75c1c10f488d21cd00a601c
-----Errors info-----
-----Degraded streams-----
degraded_streams=
degraded_streams_percent=0

Начиная со сборки 5.2.416, поддерживаются также форматы JSON и Prometheus. Для вывода статистики в формате JSON необходимо указать формат в URI запроса

Code Block
languagebash
themeRDark
curl -s 'http://localhost:8081/?action=stat&format=json'
Code Block
languagejs
themeRDark
titleFormatted JSON statistics example
collapsetrue
{
  "connections_stats": {
    "connections": "1",
    "connections_rtmfp": "0",
    "connections_websocket": "1"
  },
  "port_stats": {
    "ports_media_free": "495",
    "streamsports_playmedia_ratebusy": "04",
    "streamsports_stopmedia_ratequarantine": "0"
  },
  "nativestreams_resourcesstats": {
    "nativestreams_webrtc_resourcesin": ["1",
      "140537376620832,NENC:H264/FFMPEG,9819","streams_webrtc_out": "1",
      "140537236444800,FFDecoderNative:H264/FFMPEG,209561611"
    ]"streams_websocket_out": "0",
    "nativestreams_resources.audiortmfp_codecsin": "0",
    "nativestreams_resources.audiortmfp_resamplersout": "0",
    "nativestreams_resources.videortmp_transcodersin": "0",
    "nativestreams_resources.videortmp_decodersout": "10",
    "native_resources.video_encoders": "1"streams_viewers": [
      "test/1"
    ],
    "native_resources.writersstreams_rtsp_in": "0",
  },
  "corestreams_rtsp_statsout": {"0",
    "corestreams_rtmp_javaclient_threadsout": "670",
    "corestreams_javaplay_committedMemoryrate": "31270174720",
    "corestreams_javastop_freePhysicalMemorySizerate": "732241920",
  },
  "corenative_java_archresources": "amd64",{
    "corenative_java_availableProcessorsresources": "2",[
     "core_java_freeSwapSpaceSize": "1044107264 "140537376620832,NENC:H264/FFMPEG,9819",
    "core_java_maxFileDescriptorCount": "20000",  "140537236444800,FFDecoderNative:H264/FFMPEG,209561611"
    "core_java_open_file_descriptors],
    "native_resources.audio_codecs": "0",
    "native_resources.audio_resamplers": "1880",
    "corenative_java_cpu_usageresources.video_transcoders": "37.190",
    "corenative_javaresources.video_totalPhysicalMemorySizedecoders": "19273031681",
    "corenative_javaresources.video_totalSwapSpaceSizeencoders": "10737377281",
    "core_java_uptimenative_resources.writers": "3588330"
  },
  "callcore_stats": {
    "sipcore_processedjava_callsthreads": "067",
    "sipcore_callsjava_statecommittedMemory": ["3127017472",
      "established/0"core_java_freePhysicalMemorySize": "73224192",
      "trying/0"core_java_arch": "amd64",
      "ringing/0"core_java_availableProcessors": "2",
      "ring/0"core_java_freeSwapSpaceSize": "1044107264",
      "ring_media/0"core_java_maxFileDescriptorCount": "20000",
     "core_java_open_file_descriptors": "hold/0188",
      "busy/0"core_java_cpu_usage": "37.19",
      "finish/0core_java_totalPhysicalMemorySize": "1927303168",
      "session_progress/0",
      "pending/0core_java_totalSwapSpaceSize": "1073737728",
     "core_java_uptime": "failed/0358833"
    ]},
    "sipcall_callsstats": "0",{
    "sip_processed_calls_established": "0",
    "sip_calls_instate": [
      "established/0",
     "sip_calls_out": "trying/0",
     "sip_calls_per_second": "ringing/0.00",
  }    "ring/0",
      "sipring_stats": {
media/0",
      "sip_registered": "0"
  },
  "recording_stats": {
hold/0",
      "busy/0",
      "finish/0",
      "session_progress/0",
      "recording_sessions": "pending/0",
      "failed/0"
  }  ],
    "systemsip_statscalls": {"0",
    "systemsip_javacalls_cpu_usageestablished": "50.000",
    "systemsip_javacalls_load_averagein": "0.73"
  },
  "network_stats": {
    "globalsip_bandwidthcalls_inout": "0.000",
    "globalsip_calls_bandwidthper_outsecond": "0.00000"
  },
  "versionsip_stats": {
    "wcssip_versionregistered": "5.2.416-32aab7dc90527bfe2ffb4711090fe75c6613a2bb",0"
  },
  "recording_stats": {
    "wcsrecording_client_versionsessions": "0.5.28.2753-9ba78705727d3ee9d75c1c10f488d21cd00a601c"
  },
  "errorssystem_infostats": {},
    "degraded_streamssystem_java_cpu_usage": "50.00",
    "system_java_load_average": "0.73"
  },
  "network_stats": {
    "degradedglobal_bandwidth_streamsin": []"0.000",
    "degradedglobal_streamsbandwidth_percentout": "0.000"
  }
}

Для вывода статистики в формате Prometheus необходимо указать формат в URI запроса

Code Block
languagebash
themeRDark
curl -s 'http://localhost:8081/?action=stat&format=prometheus'
Code Block
themeRDark
titlePrometheus statistics example
collapsetrue
connections_stats{param="connections"} 1
connections_stats{param="connections_rtmfp"} 0
connections_stats{param="connections_websocket"} 1
port_stats{param="ports_media_free"} 495
port_stats{param="ports_media_busy"} 4
port_stats{param="ports_media_quarantine"} 0
streams_stats{param="streams_webrtc_in"} 1
streams_stats{param="streams_webrtc_out"} 1
streams_stats{param="streams_websocket_out"} 0
streams_stats{param="streams_rtmfp_in"} 0
streams_stats{param="streams_rtmfp_out"} 0
streams_stats{param="streams_rtmp_in"} 0
streams_stats{param="streams_rtmp_out"} ,
  "version_stats": {
    "wcs_version": "5.2.416-32aab7dc90527bfe2ffb4711090fe75c6613a2bb",
    "wcs_client_version": "0.5.28.2753-9ba78705727d3ee9d75c1c10f488d21cd00a601c"
  },
  "errors_info": {},
  "degraded_streams_stats": {
    "degraded_streams": [],
    "degraded_streams_percent": "0"
  }
}

Для вывода статистики в формате Prometheus необходимо указать формат в URI запроса

Code Block
languagebash
themeRDark
curl -s 'http://localhost:8081/?action=stat&format=prometheus'
Code Block
themeRDark
titlePrometheus statistics example
collapsetrue
connections_stats{param="connections"} 1
connections_stats{param="connections_rtmfp"} 0
connections_stats{param="connections_websocket"} 1
port_stats{param="ports_media_free"} 495
port_stats{param="ports_media_busy"} 4
port_stats{param="ports_media_quarantine"} 0
streams_stats{param="streams_webrtc_viewers",name="testin"} 1
streams_stats{param="streams_webrtc_out"} 1
streams_stats{param="streams_rtspwebsocket_inout"} 0
streams_stats{param="streams_rtsprtmfp_outin"} 0
streams_stats{param="streams_rtmp_clientrtmfp_out"} 0
streams_stats{param="streams_playrtmp_ratein"} 0
streams_stats{param="streams_stoprtmp_rateout"} 0
nativestreams_resourcesstats{param="nativestreams_resourcesviewers",id="140537376620832",name="NENC:H264/FFMPEGtest"} 111291
nativestreams_resourcesstats{param="native_resources",id="140537236444800",name="FFDecoderNative:H264/FFMPEG"} 239113192
native_resourcesstreams_rtsp_in"} 0
streams_stats{param="nativestreams_resources.audiortsp_codecsout"} 0
nativestreams_resourcesstats{param="native_resources.audio_resamplersstreams_rtmp_client_out"} 0
nativestreams_resourcesstats{param="nativestreams_resources.videoplay_transcodersrate"} 0
nativestreams_resourcesstats{param="nativestreams_resources.videostop_decodersrate"} 10
native_resources{param="native_resources.video_encoders",id="140537376620832",name="NENC:H264/FFMPEG"} 111129
native_resources{param="native_resources.writers"} 0
core_stats",id="140537236444800",name="FFDecoderNative:H264/FFMPEG"} 239113192
native_resources{param="corenative_javaresources.audio_threadscodecs"} 630
corenative_statsresources{param="corenative_javaresources.audio_committedMemoryresamplers"} 31270174720
corenative_statsresources{param="corenative_javaresources.video_freePhysicalMemorySizetranscoders"} 675389440
corenative_stats{core_java_arch="amd64resources{param="native_resources.video_decoders"} 1
corenative_statsresources{param="corenative_javaresources.video_availableProcessorsencoders"} 21
corenative_statsresources{param="core_java_freeSwapSpaceSizenative_resources.writers"} 10438533120
core_stats{param="core_java_threads"} 63
core_stats{param="core_java_committedMemory"} 3127017472
core_stats{param="core_java_freePhysicalMemorySize"} 67538944
core_stats{core_java_arch="amd64"} 1
core_stats{param="core_java_availableProcessors"} 2
core_stats{param="core_java_freeSwapSpaceSize"} 1043853312
core_stats{param="core_java_maxFileDescriptorCount"} 20000
core_stats{param="core_java_open_file_descriptors"} 188
core_stats{param="core_java_cpu_usage"} 37.02
core_stats{param="core_java_totalPhysicalMemorySize"} 1927303168
core_stats{param="core_java_totalSwapSpaceSize"} 1073737728
core_stats{param="core_java_uptime"} 401113
call_stats{param="sip_processed_calls"} 0
call_stats{param="sip_calls_state",name="established"} 0
call_stats{param="sip_calls_state",name="trying"} 0
call_stats{param="sip_calls_state",name="ringing"} 0
call_stats{param="sip_calls_state",name="ring"} 0
call_stats{param="sip_calls_state",name="ring_media"} 0
call_stats{param="sip_calls_state",name="hold"} 0
call_stats{param="sip_calls_state",name="busy"} 0
call_stats{param="sip_calls_state",name="finish"} 0
call_stats{param="sip_calls_state",name="session_progress"} 0
call_stats{param="sip_calls_state",name="pending"} 0
call_stats{param="sip_calls_state",name="failed"} 0
call_stats{param="sip_calls"} 0
call_stats{param="sip_calls_established"} 0
call_stats{param="sip_calls_in"} 0
call_stats{param="sip_calls_out"} 0
call_stats{param="sip_calls_per_second"} 0.00
sip_stats{param="sip_registered"} 0
recording_stats{param="recording_sessions"} 0
system_stats{param="system_java_cpu_usage"} 66.67
system_stats{param="system_java_load_average"} 0.84
network_stats{param="global_bandwidth_in"} 0.000
network_stats{param="global_bandwidth_out"} 0.000
version_stats{wcs_version="5.2.416-32aab7dc90527bfe2ffb4711090fe75c6613a2bb"} 1
version_stats{wcs_client_version="0.5.28.2753-9ba78705727d3ee9d75c1c10f488d21cd00a601c"} 1
degraded_streams_stats{param="degraded_streams"} 0
degraded_streams_stats{param="degraded_streams_percent"} 0

...

Code Block
languagejs
themeRDark
{
  "recording_stats": {
    "recording_sessions": "10",
    "recording_threads": "8",
    "recording_thread_min_writers": "1",
    "recording_thread_max_writers": "2",
    "recording_thread_average_writers": "1",
    "recording_writers_list": [
      "95c8f5d3",
      "3881dab6",
      "545e59b8",
      "54e7a01c",
      "06de077d",
      "b71fa871",
      "193aa3bb",
      "91219b12",
      "c314201c",
      "6f5241be"
    ],
    ...
    "recording_full_info": [
      {
        "threadId": 109,
        "writersCount": 2,
        "usageCounter": 2,
        "writersInfo": [
          {
            "queueSize": 0,
            "streams": [
              "95c8f5d3"
            ]
          },
           {
            "queueSize": 0,
            "streams": [
              "3881dab6"
            ]
          }
        ]
      },
      ...
    ]
  }
}

Здесь:

  • queueSize - текущий размер очереди данных на запись
  • streams -  список записываемых потоков
  • threadId - идентификатор процессорного потока, который занимается записью
  • writersCount - количество записей на один процессорный поток
  • usageCount - количество использований процессорного потока для записи

Статистика записи в логи

В сборке 5.2.1210 добавлена возможность получения статистики записи в логи, что может быть полезно на сервере под нагрузкой

Code Block
languagebash
themeRDark
curl -s 'http://localhost:8081/?action=stat&groups=log_stats'

Сбор статистики логирования дает дополнительную нагрузку на CPU при большом объеме медиапотоков на сервере. Поэтому, начиная со сборки 5.2.1252 по умолчанию, сбор статистики логирования по умолчанию отключен, но может быть включен при помощи настройки

Code Block
themeRDark
log_metrics_stats=true

...

      {
            "queueSize": 0,
            "streams": [
              "3881dab6"
            ]
          }
        ]
      },
      ...
    ]
  }
}

Здесь:

  • queueSize - текущий размер очереди данных на запись
  • streams -  список записываемых потоков
  • threadId - идентификатор процессорного потока, который занимается записью
  • writersCount - количество записей на один процессорный поток
  • usageCount - количество использований процессорного потока для записи

Статистика записи в логи

В сборке 5.2.1210 добавлена возможность получения статистики записи в логи, что может быть полезно на сервере под нагрузкой

Code Block
languagebash
themeRDark
curl -s 'http://localhost:8081/?action=stat&groups=log_stats'

Сбор статистики логирования дает дополнительную нагрузку на CPU при большом объеме медиапотоков на сервере. Поэтому, начиная со сборки 5.2.1252 по умолчанию, сбор статистики логирования по умолчанию отключен, но может быть включен при помощи настройки

Code Block
themeRDark
log_metrics_stats=true

В статистику входят следующие параметры

Code Block
themeRDark
-----Logger info-----
log_msg_per_sec=0.30
log_mbit_per_sec=0.00
  • log_msg_per_sec - количество сообщений, записанных во все логи за секунду
  • log_mbit_per_sec - объем данных, записанных во все логи, в мегабитах в секунду

По умолчанию, статистика буферизуется на интервале 10 секунд. Если в лог в течение этого времени не было выведено ни одного сообщения, значения в статистике обнулятся. Интервал буферизации может быть изменен настройкой

Code Block
themeRDark
log_metrics_time_buffer=10000

Интервал не может быть задан меньше 1 секунды, в таких случаях будет использовано значение по умолчанию.

Статистика входящего потока

В сборке 5.2.1257 добавлена возможность получения статистики публикации конкретного потока

Code Block
languagebash
themeRDark
curl -s "http://localhost:8081/?action=stat&format=json&groups=transcoding_stats" | jq '.[].transcoding_video_full_info'

Статистика выводится только в формате JSON и содержит следующие параметры:

Code Block
languagejs
themeRDark
{
  "test": {
    "codec": "H264",
    "queueSize": 0,
    "distributors": {
      ...
    },
    "minDeltaArrivalTime": 1,
    "maxDeltaArrivalTime": 62,
    ...,
    "streamDelay": 38
  }
}
  • имя потока
  • codec - кодек публикации
  • queueSize - размер очереди декодирования
  • distributors - информация о подписчиках
  • minDeltaArrivalTime - минимальное время между получением двух последовательных пакетов, мс
  • maxDeltaArrivalTime - минимальное время между получением двух последовательных пакетов, мс
  • streamDelay - задержка потока, мс

Статистика по времени собирается на интервале, который задается настройкой в миллисекундах

Code Block
themeRDark
media_processor_incoming_stat_window=30000

Статистика TCP каналов

В сборке 5.2.1883 добавлен вывод статистики TCP канального уровня

Code Block
languagebash
themeRDark
curl -s "http://localhost:8081/?action=stat&groups=tcp_channel_stats"

Статистика содержит следующие параметры

Code Block
themeRDark
-----Tcp channel info-----
channels_not_writable=
  • channels_not_writable - количество событий, в результате которых не удалось записать данные на отправку в TCP сокет, на медиасессию

Статистика отображается только для текущих публикаций.

Статистика jitter буфера входящих медиа потоков

В сборке 5.2.1883 добавлен вывод статистики jitter буфера входящих медиа потоков

Code Block
languagebash
themeRDark
curl -s "http://localhost:8081/?action=stat&groups=jitter_buffer_stats"

Статистика содержит следующие параметры

Code Block
themeRDark
-----JitterBuffer info-----
decodable_drops_old=
incomplete_drops_old=f49f8cb0-dc52-11ee-81df-51ad589334c0/7;
decodable_drops_reset=
incomplete_drops_reset=
decodable_drops_pli=
incomplete_drops_pli=f49f8cb0-dc52-11ee-81df-51ad589334c0/10;
data_packets_with_empty_payload=
  • decodable_drops_old - количество сброшенных H264 фреймов, собранных из пакетов трафика, на медиасессию
  • incomplete_drops_old - количество сброшенных H264 фреймов, не полностью собранных из пакетов трафика, на медиасессию
  • decodable_drops_reset - количество сброшенных H264 фреймов до новой точки декодирования, собранных из пакетов трафика, на медиасессию
  • incomplete_drops_reset - количество сброшенных H264 фреймов до новой точки декодирования, не полностью собранных из пакетов трафика, на медиасессию
  • decodable_drops_pli - количество сбросов всех H264 фреймов, собранных из пакетов трафика, при приходе ключевого фрейма, на медиасессию
  • incomplete_drops_pli - количество сбросов всех H264 фреймов, не полностьюсобранных из пакетов трафика, при приходе ключевого фрейма, на медиасессию
  • data_packets_with_empty_payload - количество пакетов с пустым содержимым, высылаются браузером для оценки канала публикации при включенном TWCC, на медиасессию

Статистика отображается только для текущих публикаций

Статистика H264 депакетайзера

В сборке 5.2.1883 добавлен вывод статистики H264 депакетайзера

Code Block
languagebash
themeRDark
curl -s "http://localhost:8081/?action=stat&groups=h264_depacketizer_stats"

Статистика содержит следующие параметры

Code Block
themeRDark
-----LoggerH264 RTPDepacketizer info-----
logmissed_msgh264_per_sec=0.30
log_mbit_per_sec=0.00
  • log_msg_per_sec - количество сообщений, записанных во все логи за секунду
  • log_mbit_per_sec - объем данных, записанных во все логи, в мегабитах в секунду

...

units=f49f8cb0-dc52-11ee-81df-51ad589334c0/443;
  • missed_h264_units - количество потерянных H264 элементов, на медиасессию

Статистика отображается только для текущих публикаций

Статистика разбора аудио пакетов

В сборке 5.2.1923 добавлен вывод статистики разбора аудио пакетов

Code Block
languagebash
themeRDark
curl -s "http://localhost:8081/?action=stat&groups=rtp_audio_player_stats"

Статистика содержит следующие параметры

Code Block
themeRDark
log_metrics_time_buffer=10000

...

-----RtpAudioPlayer info-----
dropped_audio_data_packets=
  • dropped_audio_data_packets - количество аудио пакетов, отброшенных на этапе передачи в движок сервера, на медиасессию

Статистика отображается только для текущих публикаций