Информация о нагрузке и ресурсах WCS-сервера доступна на порту 8081 по URL
http://test.flashphoner.com:8081/?action=stat |
где test.flashphoner.com - это адрес WCS-сервера.
Она включает данные о публикуемых и воспроизводимых потоках, SIP-звонках и характеристиках сервера.
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 | Количество активных сессий записи |
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 | Статистика, собираемая при помощи внешнего скрипта |
Каждый параметр может быть запрошен отдельно, например
http://test.flashphoner.com:8081/?action=stat¶ms=native_resources |
Статистику используемых ресурсов и информацию о нагрузке WCS-сервера, объединенную по группам, можно запросить по имени группы (доступны connections_stats, streams_stats, port_stats, call_stats, degraded_streams_stats, system_stats, core_stats)
http://test.flashphoner.com:8081/?action=stat&groups=call_stats |
В запрос можно включить несколько наименований групп
http://test.flashphoner.com:8081/?action=stat&groups=call_stats,connections_stats |
Параметры системы могут быть исключены из полной выборки при помощи настройки в файле flashphoner.properties
parse_system_stats=false |
В этом случае параметры системы предоставляются только по запросу.
По умолчанию, статистика выводится в plain text
-----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----- 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=0 streams_play_rate=0 streams_stop_rate=0 -----Native Resources----- native_resources=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 -----Core Stats----- 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 -----Call Stats----- sip_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 запроса
curl -s 'http://localhost:8081/?action=stat&format=json' |
{ "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": "0", "streams_play_rate": "0", "streams_stop_rate": "0" }, "native_resources": { "native_resources": [ "140537376620832,NENC:H264/FFMPEG,9819", "140537236444800,FFDecoderNative:H264/FFMPEG,209561611" ], "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" }, "core_stats": { "core_java_threads": "67", "core_java_committedMemory": "3127017472", "core_java_freePhysicalMemorySize": "73224192", "core_java_arch": "amd64", "core_java_availableProcessors": "2", "core_java_freeSwapSpaceSize": "1044107264", "core_java_maxFileDescriptorCount": "20000", "core_java_open_file_descriptors": "188", "core_java_cpu_usage": "37.19", "core_java_totalPhysicalMemorySize": "1927303168", "core_java_totalSwapSpaceSize": "1073737728", "core_java_uptime": "358833" }, "call_stats": { "sip_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": "50.00", "system_java_load_average": "0.73" }, "network_stats": { "global_bandwidth_in": "0.000", "global_bandwidth_out": "0.000" }, "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 запроса
curl -s 'http://localhost:8081/?action=stat&format=prometheus' |
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"} 0 streams_stats{param="streams_viewers",name="test"} 1 streams_stats{param="streams_rtsp_in"} 0 streams_stats{param="streams_rtsp_out"} 0 streams_stats{param="streams_rtmp_client_out"} 0 streams_stats{param="streams_play_rate"} 0 streams_stats{param="streams_stop_rate"} 0 native_resources{param="native_resources",id="140537376620832",name="NENC:H264/FFMPEG"} 11129 native_resources{param="native_resources",id="140537236444800",name="FFDecoderNative:H264/FFMPEG"} 239113192 native_resources{param="native_resources.audio_codecs"} 0 native_resources{param="native_resources.audio_resamplers"} 0 native_resources{param="native_resources.video_transcoders"} 0 native_resources{param="native_resources.video_decoders"} 1 native_resources{param="native_resources.video_encoders"} 1 native_resources{param="native_resources.writers"} 0 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 |
В сборке 5.2.443 добавлена возможность вывода краткой и подробной статистики транскодирования потоков. Краткая статистика группируется по разрешениям и доступна во всех форматах, например:
-----Transcoding info----- transcoding_video_decoding_resolutions=640x360/1 transcoding_video_decoding_average_time=640x360/2.0 transcoding_video_decoding_max_time=640x360/2 transcoding_video_decoding_average_queue_size=640x360/0.0 transcoding_video_decoding_max_queue_size=640x360/0 transcoding_video_encoding_resolutions=426x240/1;640x360/1;852x480/1 transcoding_video_encoding_average_time=426x240/2.0;640x360/2.0;852x480/6.0 transcoding_video_encoding_max_time=426x240/2;640x360/2;852x480/6 transcoding_video_encoding_average_queue_size=426x240/0.0;640x360/0.0;852x480/0.0 transcoding_video_encoding_max_queue_size=426x240/0;640x360/0;852x480/0 |
Здесь отображаются:
Подробная статистика выводится только в формате JSON, например
curl -s 'http://localhost:8081/?action=stat&format=json&groups=transcoding_stats' | jq |
и группируется по опубликованным потокам
"transcoding_video_full_info": { "test1": { "codec": "H264", "queueSize": 0, "distributors": [ { "codec": "H264", "queueSize": 0, "resolution": "426x240", "averageProcessingTime": 3 }, { "codec": "H264", "queueSize": 0, "resolution": "640x360", "averageProcessingTime": 5 }, { "codec": "H264", "queueSize": 0, "resolution": "852x480", "averageProcessingTime": 10 } ], "resolution": "640x360", "averageProcessingTime": 3 } } |
Здесь:
В сборке 5.2.570 в статистику транскодирования добавлены интегральные показатели нагрузки декодирования и кодирования
-----Transcoding info----- ... transcoding_video_decoding_load=22118400 ... transcoding_video_encoding_load=7983360 |
Нагрузка декодирования рассчитывается следующим образом
transcoding_video_decoding_load = ∑ width * height * fps |
Здесь
Нагрузка кодирования рассчитывается следующим образом
transcoding_video_encoding_load = ∑ width * height * fps |
Здесь
В сборке 5.2.471 добавлен вывод информации о CDN, в которой участвует данный сервер
curl -s 'http://localhost:8081/?action=stat&groups=cdn_stats' |
-----CDN info----- cdn_version=2.3 cdn_role=ORIGIN cdn_group= |
Здесь:
cdn_version - версия CDN, поддерживаемая данным сервером
cdn_role - роль сервера в CDN
cdn_group - группа, к которой принадлежит сервер, либо пустая строка, если сервер не введен ни в одну группу
В сборке 5.2.508 в статистику потоков добавлен вывод информации о синхронизации аудио и видео в опубликованных потоках:
-----Stream Stats----- streams_synchronization=stream1/90,stream2/-11 |
Значение метрик вычисляется как разность между текущими значениями аудио и видео синхронизации
var metric = lastAudioSync - lastVideoSync; |
Таким образом, положительное значение метрики показывает, что аудио в данный момент обгоняет видео, а отрицательное - что аудио отстает от видео.
Изменения данной метрики в небольших пределах являются нормой. Если метрика для потока остается высоким и постоянным по знаку, это может означать проблемы с данным потоком.
В сборке 5.2.543 добавлена возможность вывода информации об использовании выравнивающих буферов на выходе транскодеров. Информация доступна только в формате JSON
curl -s 'http://localhost:8081/?action=stat&format=json&groups=buffer_stats' |
и группируется по транскодируемым потока и подписчикам на эти потоки
{ "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" } } } } |
Здесь
В сборке 5.2.579 добавлена возможность сбора статистики, недоступной из JVM, при помощи вызова внешнего скрипта.
Имя скрипта указывается настройкой
custom_stats_script=/path/to/custom_stats.sh |
По умолчанию, если указано только имя скрипта без пути, он должен располагаться в каталоге /usr/local/FlashphonerWebCallServer/bin
Скрипт должен возвращать параметры в виде
key1=value1 key2=value2 ... |
Пример скрипта, который возвращает версию Java и последнюю строку из лога сборщика мусора
#!/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 |
Этот скрипт добавит на страницу статистики
-----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 ключ и значение преобразуются в метку:
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. Например, значения
java_ver=openjdk version "1.8.0_222" |
использовать нельзя, а
java_ver=1.8.0_222 |
можно
В сборке 5.2.769 добавлена возможность получения информации о количестве определенных ошибок (исключений) Java VM при помощи запроса
http://localhost:8081/?action=stat¶ms=wcs_errors,<exception class name> |
Например, для того, чтобы своевременно контролировать нехватку физической памяти, необходимо периодически запрашивать
http://localhost:8081/?action=stat¶ms=wcs_errors,java.lang.OutOfMemoryError |
Если полученный ответ содержит указанное исключение, и количество ошибок больше либо равно единицы
-----Errors info----- java.lang.OutOfMemoryError=4 |
необходимо выводить клиентов и перезапускать сервер.
В сборке 5.2.897 добавлена возможность получения статистики сборщика мусора (garbage collector)
http://localhost:8081/?action=stat&groups=gc_stats |
В статистику входят следующие параметры последнего цикла сборки мусора на момент запроса:
-----Gc info----- gc_last_pause_ms=62 gc_last_duration_ms=62 gc_last_heap_before_mb=315 gc_last_heap_after_mb=78 |
Здесь:
Информация выбирается из соответствующих параметров Java MX Beans.
Для ZGC статистика выбирается из лога сборщика мусора, поскольку информация в Java MX Beans может возвращаться некорректно. Поэтому при использовании ZGC в настройках необходимо указать
zgc_log_parser_enable=true |
Также необходимо задать формат меток времени в логах. По умолчанию, используется полный формат с датой
zgc_log_time_format=yyyy-MM-dd'T'HH:mm:ss.SSSZ |
Если в лог выводятся только секунды от начала работы JVM, формат задается как
zgc_log_time_format=ss.SSS |
При необходимости, можно задать шаблон для поиска файлов лога. По умолчанию, предполагается, что имя файла содержит дату и время
zgc_log_parser_path=logs/gc-core-[0-9]{4}-[0-9]{2}-[0-9]{2}_[0-9]{2}-[0-9]{2}.log |