Versions Compared

Key

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

...

Она включает данные о публикуемых и воспроизводимых потоках, SIP-звонках и характеристиках сервера.

Статистические параметры

Connection

connections_stats

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

connections

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

connections_rtmfp

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

connections_websocket

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

Port

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, находящихся в карантине
Stream

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

native_resources

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

native_resources

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

Core

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
Call

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

recording_stats

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

recording_sessions

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

System

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

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 (Mbit/s)

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

global_bandwidth_in

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

global_bandwidth_out

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

Version info

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

wcs_version

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

wcs_client_version

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

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Информация о деградации потоков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

Интегральный показатель нагрузки кодированияTranscoding video full infoПодробная информация о транскодировании потоков (только в JSON формате)Buffer statsИнформация о выравнивающем буфере (только в JSON формате)CDN statsИнформация о CDN
cdn_version
Версия CDN, поддерживаемая данным сервером
cdn_role
Роль сервера в CDN
cdn_group
Группа, в которую входит серверCustom statsСтатистика, собираемая при помощи внешнего скрипта

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

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

...

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
Группа, в которую входит сервер
custom_statsСтатистика, собираемая при помощи внешнего скрипта

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

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

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

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

...

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

Информация о выравнивающих буферах

...

Метрики опубликованных потоков

...

Hачиная со сборки 5.2.543 добавлена возможность вывода информации об использовании выравнивающих буферов на выходе транскодеров. Информация доступна только в формате JSON

...

518, поддерживается вывод метрик публикуемых потоков в формате Prometehus по запросу

Code Block
themeRDark
curl -s 'http://localhost:8081/?action=stat&format=jsonprometheus&groups=bufferpublish_statsstreams'

и группируется по транскодируемым потока и подписчикам на эти потоки

...

Запрос возвращает набор метрик для каждого потока, опубликованного в данный момент на сервере, например

Code Block
themeRDark
{
  "buffer_stats": {
    "buffer_output_info": {
      "test": {
        "buffer_output_video_average": "0.0",
        "subscribers": {
          "25b94cd0-5eaf-11ea-a9b7-abda8d208547": {
            "overflows": 0,
            "buffer_output_audio": 4,
            "buffer_output_video": 0
          },
          ...
        },
        "buffer_output_audio_average": "4.0"
      }
    }
  }
}

Здесь

  • buffer_output_audio_average - среднее количество аудио пакетов в буфере по всем подписчикам
  • buffer_output_video_average - среднее количество видео пакетов в буфере по всем подписчикам
  • buffer_output_audio - количество аудио пакетов в буфере для подписчика
  • buffer_output_video - количество видео пакетов в буфере для подписчика
  • overflows - количество переполнений буфера, при которых буфер очищается

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

В сборке 5.2.579 добавлена возможность сбора статистики, недоступной из JVM, при помощи вызова внешнего скрипта.

Имя скрипта указывается настройкой

Code Block
themeRDark
custom_stats_script=/path/to/custom_stats.sh

По умолчанию, если указано только имя скрипта без пути, он должен располагаться в каталоге /usr/local/FlashphonerWebCallServer/bin

Скрипт должен возвращать параметры в виде

Code Block
themeRDark
key1=value1
key2=value2
...

Пример скрипта, который возвращает версию Java и последнюю строку из лога сборщика мусора

Code Block
languagebash
themeRDark
#!/bin/bash

ver=$(java -version 2>&1 | grep "version" | cut -d" " -f 3 | sed 's/\"//g')
echo "java_ver=$ver"
gc_log=$( ls -t /usr/local/FlashphonerWebCallServer/logs/gc-core* | head -1)
echo "gc=$(tail -n1 $gc_log)"

exit 0

Этот скрипт добавит на страницу статистики

Code Block
themeRDark
-----Custom info-----
java_ver=1.8.0_222
gc=2020-04-23T15:20:56.138+0700: 1546.835: [GC (Allocation Failure) 2020-04-23T15:20:56.138+0700: 1546.835: [ParNew: 8978K->325K(9216K), 0.0103299 secs] 26379K->18056K(36172K), 0.0104582 secs] [Times: user

Параметры, возвращаемые скриптом, доступны во всех форматах статистики. В формате Prometheus ключ и значение преобразуются в метку:

Code Block
themeRDark
custom_stats{java_ver="1.8.0_222"} 1
custom_stats{gc="2020-04-23T15:11:11.235+0700: 961.933: [GC (Allocation Failure) 2020-04-23T15:11:11.235+0700: 961.933: [ParNew: 9216K->793K(9216K), 0.0042971 secs] 26617K->18195K(36172K), 0.0044029 secs] [Times: user"} 1

Ограничения

1. Не допускается использование длительных операций и задержек в этом скрипте, поскольку это вызовет задержку выдачи страницы статистики.

2. Не допускается наличие кавычек в именах и значениям параметров, для совместимости с Prometheus. Например, значения

Code Block
themeRDark
java_ver=openjdk version "1.8.0_222"

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

Code Block
themeRDark
java_ver=1.8.0_222

можно

Получение информации об ошибках Java VM

В сборке 5.2.769 добавлена возможность получения информации о количестве определенных ошибок (исключений) Java VM при помощи запроса

Code Block
themeRDark
https://localhost:8081/?action=stat&params=wcs_errors,<exception class name>

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

Code Block
themeRDark
https://localhost:8081/?action=stat&params=wcs_errors,java.lang.OutOfMemoryError

...

publish_streams{param="AUDIO_SYNC",name="test"} 3834464913756
publish_streams{param="AUDIO_CODEC",name="test"} 111
publish_streams{param="AUDIO_RATE",name="test"} 19192
publish_streams{param="AUDIO_LOST",name="test"} 0
publish_streams{param="VIDEO_SYNC",name="test"} 3834464913764
publish_streams{param="VIDEO_K_FRAMES",name="test"} 6
publish_streams{param="VIDEO_NACK",name="test"} 0
publish_streams{param="VIDEO_LOST",name="test"} 0
publish_streams{param="VIDEO_CODEC",name="test"} 119
publish_streams{param="VIDEO_B_FRAMES",name="test"} 0
publish_streams{param="VIDEO_PLI",name="test"} 0
publish_streams{param="VIDEO_RATE",name="test"} 377952
publish_streams{param="VIDEO_WIDTH",name="test"} 640
publish_streams{param="VIDEO_GOP_SIZE",name="test"} 60
publish_streams{param="VIDEO_HEIGHT",name="test"} 360
publish_streams{param="VIDEO_FPS",name="test"} 27
publish_streams{param="VIDEO_P_FRAMES",name="test"} 342

Если на сервере нет публикаций, то запрос вернет пустую страницу

Информация о выравнивающих буферах

В сборке 5.2.543 добавлена возможность вывода информации об использовании выравнивающих буферов на выходе транскодеров. Информация доступна только в формате JSON

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

и группируется по транскодируемым потока и подписчикам на эти потоки

Code Block
languagejs
themeRDark
{
  "buffer_stats": {
    "buffer_output_info": {
      "test": {
        "buffer_output_video_average": "0.0",
        "subscribers": {
          "25b94cd0-5eaf-11ea-a9b7-abda8d208547": {
            "overflows": 0,
            "buffer_output_audio": 4,
            "buffer_output_video": 0
          },
          ...
        },
        "buffer_output_audio_average": "4.0"
      }
    }
  }
}

Здесь

  • buffer_output_audio_average - среднее количество аудио пакетов в буфере по всем подписчикам
  • buffer_output_video_average - среднее количество видео пакетов в буфере по всем подписчикам
  • buffer_output_audio - количество аудио пакетов в буфере для подписчика
  • buffer_output_video - количество видео пакетов в буфере для подписчика
  • overflows - количество переполнений буфера, при которых буфер очищается

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

В сборке 5.2.579 добавлена возможность сбора статистики, недоступной из JVM, при помощи вызова внешнего скрипта.

Имя скрипта указывается настройкой

Code Block
themeRDark
custom_stats_script=/path/to/custom_stats.sh

По умолчанию, если указано только имя скрипта без пути, он должен располагаться в каталоге /usr/local/FlashphonerWebCallServer/bin

Скрипт должен возвращать параметры в виде

Code Block
themeRDark
key1=value1
key2=value2
...

Пример скрипта, который возвращает версию Java и последнюю строку из лога сборщика мусора

Code Block
languagebash
themeRDark
#!/bin/bash

ver=$(java -version 2>&1 | grep "version" | cut -d" " -f 3 | sed 's/\"//g')
echo "java_ver=$ver"
gc_log=$( ls -t /usr/local/FlashphonerWebCallServer/logs/gc-core* | head -1)
echo "gc=$(tail -n1 $gc_log)"

exit 0

Этот скрипт добавит на страницу статистики

Code Block
themeRDark
-----Custom info-----
java_ver=1.8.0_222
gc=2020-04-23T15:20:56.138+0700: 1546.835: [GC (Allocation Failure) 2020-04-23T15:20:56.138+0700: 1546.835: [ParNew: 8978K->325K(9216K), 0.0103299 secs] 26379K->18056K(36172K), 0.0104582 secs] [Times: user

Параметры, возвращаемые скриптом, доступны во всех форматах статистики. В формате Prometheus ключ и значение преобразуются в метку:

Code Block
themeRDark
custom_stats{java_ver="1.8.0_222"} 1
custom_stats{gc="2020-04-23T15:11:11.235+0700: 961.933: [GC (Allocation Failure) 2020-04-23T15:11:11.235+0700: 961.933: [ParNew: 9216K->793K(9216K), 0.0042971 secs] 26617K->18195K(36172K), 0.0044029 secs] [Times: user"} 1

Ограничения

1. Не допускается использование длительных операций и задержек в этом скрипте, поскольку это вызовет задержку выдачи страницы статистики.

2. Не допускается наличие кавычек в именах и значениям параметров, для совместимости с Prometheus. Например, значения

Code Block
themeRDark
java_ver=openjdk version "1.8.0_222"

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

Code Block
themeRDark
java_ver=1.8.0_222

можно

Получение информации об ошибках Java VM

В сборке 5.2.769 добавлена возможность получения информации о количестве определенных ошибок (исключений) Java VM при помощи запроса

Code Block
themeRDark
http://localhost:8081/?action=stat&params=wcs_errors,<exception class name>

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

Code Block
themeRDark
http://localhost:8081/?action=stat&params=wcs_errors,java.lang.OutOfMemoryError

Если полученный ответ содержит указанное исключение, и количество ошибок больше либо равно единицы

Code Block
themeRDark
-----Errors info-----
java.lang.OutOfMemoryError=4

необходимо выводить клиентов и перезапускать сервер.

Статистика сборщика мусора (garbage collector)

В сборке 5.2.897 добавлена возможность получения статистики сборщика мусора (garbage collector)

Code Block
themeRDark
http://localhost:8081/?action=stat&groups=gc_stats

В статистику входят следующие параметры последнего цикла сборки мусора на момент запроса:

Code Block
themeRDark
-----Gc info-----
gc_last_pause_ms=62
gc_last_duration_ms=62
gc_last_heap_before_mb=315
gc_last_heap_after_mb=78

Здесь:

  • gc_last_pause_ms - пауза в работе JVM, в миллисекундах
  • gc_last_duration_ms - общая длительность сборки мусора, в миллисекундах
  • gc_last_heap_before_mb - объем кучи в мегабайтах, до сборки мусора
  • gc_last_heap_after_mb - объем кучи в мегабайтах, после сборки мусора

Информация выбирается из соответствующих параметров Java MX Beans.

Выборка статистики сборщика мусора при использовании ZGC

Для ZGC статистика выбирается из лога сборщика мусора, поскольку информация в Java MX Beans может возвращаться некорректно. Поэтому при использовании ZGC  в настройках необходимо указать

Code Block
themeRDark
zgc_log_parser_enable=true

Также необходимо задать формат меток времени в логах. По умолчанию, используется полный формат с датой

Code Block
themeRDark
zgc_log_time_format=yyyy-MM-dd'T'HH:mm:ss.SSSZ

Если в лог выводятся только секунды от начала работы JVM, формат задается как

Code Block
themeRDark
zgc_log_time_format=ss.SSS

При необходимости, можно задать шаблон для поиска файлов лога. По умолчанию, предполагается, что имя файла содержит дату и время

Code Block
themeRDark
zgc_log_parser_path=logs/gc-core-[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}.log

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

В сборке 5.2.992 добавлена возможность вывода статистики записи видео на диск. В статистику входят следующие параметры

Code Block
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/1;3881dab6/1;545e59b8/1;54e7a01c/1;06de077d/1;b71fa871/1;193aa3bb/1;91219b12/1;c314201c/1;6f5241be/1
recording_writers_with_max_queue=95c8f5d3/3;545e59b8/3;06de077d/4;b71fa871/5;193aa3bb/5;91219b12/1;c314201c/7;6f5241be/3
recording_writers_with_min_queue=95c8f5d3/3;545e59b8/3;06de077d/4;b71fa871/5;193aa3bb/5;91219b12/1;c314201c/7;6f5241be/3
recording_min_writers_queue=1
recording_average_writers_queue=4
recording_max_writers_queue=7

Здесь отображаются:

  • количество процессорных потоков, используемых для записи на диск
  • количество активных записей
  • количество записей на один процессорный поток
  • размеры очередей данных на запись

Например, если размеры очередей начинают устойчиво расти, и при этом загрузка процессора мала (до 25%), это может говорить о том, что данные не успевают сброситься на диск. Если же загрузка процессора при росте очередей велика, это означает. что не хватает мощности процессора для транскодинга звука или видео при записи.

Подробная статистика записи выводится в формате JSON

Code Block
themeRDark
http://localhost:8081/?action=stat&format=json&groups=recording_stats
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 - количество использований процессорного потока для записи