Information on load and resources of the WCS server is available via the port 8081 at this URL
http://test.flashphoner.com:8081/?action=stat |
where test.flashphoner.com - is the actual address of the WCS server.
The information includes data on published and played streams, SIP calls and server specifications.
Connection | Connections to the WCS server |
---|---|
connections | Overall number of connections |
connections_rtmfp | Number of RTMFP connections (Flash) |
connections_websocket | Number of WebSocket connections |
Port | Ports listened by the WCS server |
ports_sip | Number of listened UDP SIP ports |
ports_media | Number of listened UDP media ports |
ports_rtsp | Number of listened RTSP TCP ports |
Stream | Audio and video stream sessions on the WCS server |
streams_rtsp_in | Number of active RTSP sessions sending traffic |
streams_rtsp_out | Number of active RTSP sessions receiving traffic |
streams_websocket_out | Number of active streams played by WebSocket |
streams_rtmp_out | Number of active RTMP streams |
streams_webrtc_in | Number of active streams published via WebRTC |
streams_webrtc_out | Number of active streams played via WebRTC |
streams_rtmfp_in | Number of active streams published via RTMFP |
streams_rtmfp_out | Number of active streams played via RTMFP |
streams_viewers | Number of active clients playing published streams |
Native resources | Information about resource usage |
native_resources | Information about encoding/decoding of the media stream |
Core | System parameters (obtained using Java methods) and parameters of the WCS server |
core_threads | Number of active threads of the WCS server process |
core_java_threads | Current number of live threads |
core_java_committedMemory | Amount of guaranteed available virtual memory, in bytes |
core_java_freePhysicalMemorySize | Amount of free physical memory, in bytes |
core_java_arch | Operating system architecture |
core_java_availableProcessors | Number of processors available for the Java virtual machine |
core_java_freeSwapSpaceSize | Amount of free swap space, in bytes |
core_java_maxFileDescriptorCount | Maximum number of file descriptors |
core_java_open_file_descriptors | Number of file descriptors opened in the Java virtual machine |
core_java_cpu_usage | "Recent CPU usage" for a process in the Java virtual machine |
core_java_totalPhysicalMemorySize | Amount of physical memory, in bytes |
core_java_totalSwapSpaceSize | Amount of swap space, in bytes |
core_java_uptime | Uptime since Java virtual machine started, in milliseconds |
core_heap_memory_used | Heap memory usage |
core_rss_memory | Memory usage |
core_open_file_descriptors | Number of opened file descriptors |
core_cpu_usage | CPU time percentage used by processes |
core_gc | Information about "garbage collecting" |
core_gc_manager | Information about "garbage collecting" in the Manager |
Call | SIP calls on the WCS server |
sip_calls | Number of SIP calls |
sip_calls_established | Number of active SIP calls |
sip_calls_in | Number of incoming SIP calls |
sip_calls_out | Number of outgoing SIP calls |
sip_calls_per_second (cps) | Number of SIP calls per minute |
SIP | |
sip_registered | Number of client in the REGISTERED state |
Recording | Audio and video file recording |
recording_sessions | Number of active recording sessions |
System | system parameters |
system_java_cpu_usage | "Recent CPU usage" for the entire system (obtained using Java methods) |
system_java_load_average | Average system load for the last minute (obtained using Java methods) |
system_uptime | Uptime since starting of the Linux server |
system_memory_total | Available RAM, in kilobytes |
system_memory_free | Amount of physical RAM not used by the system, in kilobytes |
system_cpu_usage | CPU time percentage used by the processes of the core |
Network Stats (Mbit/s) | Network traffic statistics |
global_bandwidth_in | Incoming connection channel bandwidth |
global_bandwidth_out | Outgoing connection channel bandwidth |
Version info | WCS version info |
wcs_version | Current version of the WCS server |
wcs_client_version | Current version of the WCS API |
Errors info | Error information (obtained based on caught Java exceptions) |
java.io.IOException | Number of IO errors |
java.lang.ArrayIndexOutOfBoundsException | Number of array out of bounds errors |
java.lang.IllegalArgumentException | Number of invalid function argument errors |
com.flashphoner.server.license.activation.A.C | Number of errors while activating the license |
java.lang.NullPointerException | Number of null pointer jump errors |
Degraded streams | Degraded streams information |
degraded_streams | Degraded streams quantity |
degraded_streams_percent | Degraded streams percentage of total number of streams on server |
Every parameter can be requested separately, for example:
http://test.flashphoner.com:8081/?action=stat¶ms=native_resources |
Load and resources usage information of the WCS server, combined by groups, can be requested by the group name (connections_stats, streams_stats, port_stats, call_stats, degraded_streams_stats, system_stats, core_stats are available)
http://test.flashphoner.com:8081/?action=stat&groups=call_stats |
You can include several group names in the request
http://test.flashphoner.com:8081/?action=stat&groups=call_stats,connections_stats |
System parameters can be excluded from full report using the following parameter in flashphoner.properties file:
parse_system_stats=false |
By default, statistics is shown as 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 |
Since build 5.2.416, JSON and Prometheus formats are supported. To get JSON statistics, set the format in request 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" } } |
To get Prometheus statistics, set the format in request 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 |