Metrics¶
Genvid services are configured to publish metrics locally in the
Datadog’s extended StatsD format via
UDP port 8125. You can override this setting in the
game by specifying the GENVID_STATSD_URL
. Please provide a URL with
the form host:port.
You can deactivate metrics by setting the GENVID_STATSD_DISABLED
to true.
Warning
Genvid metrics are still under development. Future versions are likely to change and create some incompatibilities.
In This Section
Available Metrics¶
In addition to metrics coming from Nomad, Consul, and Vault, our services provide the following metrics:
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
initialize1_count
initialize1_us
|
counter
timing
|
The number of times the Genvid_Initialize() function is called and the time spent in it. |
us
|
|
terminate1_count
terminate1_us
|
counter
timing
|
The number of times the Genvid_Terminate() function is called and the time spent in it. |
us
|
|
getcurrenttimecode1_count
getcurrenttimecode1_us
|
counter
timing
|
The number of times the Genvid_GetCurrentTimecode() function is called and the time spent in it. |
us
|
|
getprevioustimecode1_count
getprevioustimecode1_us
|
counter
timing
|
The number of times the Genvid_GetPreviousTimecode() function is called and the time spent in it. |
us
|
|
createstream1_count
createstream1_us
|
counter
timing
|
The number of times the Genvid_CreateStream() function is called and the time spent in it. |
us
|
|
destroystream1_count
destroystream1_us
|
counter
timing
|
The number of times the Genvid_DestroyStream() function is called and the time spent in it. |
us
|
|
setparameterint1_count
setparameterint1_us
|
counter
timing
|
The number of times the Genvid_SetParameterInt() function is called and the time spent in it. |
us
|
|
setparameterfloat1_count
setparameterfloat1_us
|
counter
timing
|
The number of times the Genvid_SetParameterFloat() function is called and the time spent in it. |
us
|
|
setparameterpointer1_count
setparameterpointer1_us
|
counter
timing
|
The number of times the Genvid_SetParameterPointer() function called and the time spent in it. |
us
|
|
getparameterint1_count
getparameterint1_us
|
counter
timing
|
The number of times the Genvid_GetParameterInt() function is called and the time spent in it. |
us
|
|
getparameterfloat1_count
getparameterfloat1_us
|
counter
timing
|
The number of times the Genvid_GetParameterFloat() function is called and the time spent in it. |
us
|
|
getparameterpointer1_count
getparameterpointer1_us
|
counter
timing
|
The number of times the Genvid_GetParameterPointer() function called and the time spent in it. |
us
|
|
getparameterutf81_count
getparameterutf81_us
|
counter
timing
|
The number of times the Genvid_GetParameterUTF8() function is called and the time spent in it. |
us
|
|
submitaaudiodata1_count
submitaaudiodata1_us
|
counter
timing
|
The number of times the Genvid_SubmitAudioData() function is called and the time spent in it. |
us
|
|
submitvideodata1
count submitvideodata1_us
|
counter
timing
|
The number of times the Genvid_SubmitVideoData() function is called and the time spent in it. |
us
|
|
submitgamedata1_count
submitgamedata1_us
|
counter
timing
|
The number of times the Genvid_SubmitGameData() function is called and the time spent in it. |
us
|
|
submitannotation1_count
submitannotation1_us
|
counter
timing
|
The number of times the Genvid_SubmitAnnotation() function is called and the time spent in it. |
us
|
|
submitnotification1_count
submitnotification1_us
|
counter
timing
|
The number of times the Genvid_SubmitNotification() function is called and the time spent in it. |
us
|
|
subscribeevent1_count
subscribeevent1_us
|
counter
timing
|
The number of times the Genvid_Subscribe() function is called and the time spent in it. |
us
|
|
unsubscribeevent1_count
unsubscribeevent1_us
|
counter
timing
|
The number of times the Genvid_Unsubscribe() function is called and the time spent in it. |
us
|
|
checkforevents1_count
checkforevents1_us
|
counter
timing
|
The number of times the check for events part of the Genvid_CheckForEvents() function is called and the time spent in it. |
us
|
|
checkforcommands1_count
checkforcommands1_us
|
counter
timing
|
The number of times the check for commands part of the Genvid_CheckForEvents() function is called and the time spent in it. |
us
|
|
subscribecommand1_count
subscribecommand1_us
|
counter
timing
|
The number of times the Genvid_SubscribeCommand() function is called and the time spent in it. |
us
|
|
unsubscribecommand1_count
unsubscribecommand1_us
|
counter
timing
|
The number of times the Genvid_UnsubscribeCommand() function is called and the time spent in it. |
us
|
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
reservetimeslot_count
reservetimeslot_us
|
counter
timing
|
The number of times the Genvid2_ReserveTimeSlot function is called and the time spent in it. | us
|
|
reservesource_count
reservesource_us
|
counter
timing
|
The number of times the Genvid2_ReserveSource function is called and the time spent in it. | us
|
|
releasesource_count
releasesource_us
|
counter
timing
|
The number of times the Genvid2_ReleaseSource function is called and the time spent in it. | us
|
|
releasesources_count
releasesources_us
|
counter
timing
|
The number of times the Genvid2_ReleaseSources function is called and the time spent in it. | us
|
|
createvideostream_count
createvideostream_us
|
counter
timing
|
The number of times the Genvid2_CreateVideoStream function is called and the time spent in it. | us
|
|
createaudiostream_count
createaudiostream_us
|
counter
timing
|
The number of times the Genvid2_CreateAudioStream function is called and the time spent in it. | us
|
|
createdatastream_count
createdatastream_us
|
counter
timing
|
The number of times the Genvid2_CreateDataStream function is called and the time spent in it. | us
|
|
destroystream_count
destroystream_us
|
counter
timing
|
The number of times the Genvid2_DestroyStream function is called and the time spent in it. | us
|
|
submitnotification_count
submitnotification_us
|
counter
timing
|
The number of times the Genvid2_SubmitNotification function is called and the time spent in it. | us
|
|
subscribeevent_count
subscribeevent_us
|
counter
timing
|
The number of times the Genvid2_SubscribeEvent function is called and the time spent in it. | us
|
|
unsubscribeevent_count
unsubscribeevent_us
|
counter
timing
|
The number of times the Genvid2_UnsubscribeEvent function is called and the time spent in it. | us
|
|
getnexteventsize_count
getnexteventsize_us
|
counter
timing
|
The number of times the Genvid2_GetNextEventSize function is called and the time spent in it. | us
|
|
getnexteventdata_count
getnexteventdata_us
|
counter
timing
|
The number of times the Genvid2_GetNextEventData function is called and the time spent in it. | us
|
|
subscribecommand_count
subscribecommand_us
|
counter
timing
|
The number of times the Genvid2_SubscribeCommand function is called and the time spent in it. | us
|
|
unsubscribecommand_count
unsubscribecommand_us
|
counter
timing
|
The number of times the Genvid2_UnsubscribeCommand function is called and the time spent in it. | us
|
|
getnextcommandsize_count
getnextcommandsize_us
|
counter
timing
|
The number of times the Genvid2_GetNextCommandSize function is called and the time spent in it. | us
|
|
getnextcommanddata_count
getnextcommanddata_us
|
counter
timing
|
The number of times the Genvid2_GetNextCommandData function is called and the time spent in it. | us
|
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
Prefix: genvid.sdk. | ||||
framesubmitted | counter | stream | Number of frames submitted to the SDK, sent when the client submits data (audio, video or game data), and the operation is successful | |
framesizesubmitted | gauge | stream, streamtype | Size of a frame submitted to the SDK, sent when the client submits data (audio, video or game data), and the operation is successful | bytes |
framesubmitteddropped | counter | stream | Number of frames submitted to the SDK that were dropped, sent when the client submits data (audio, video or game data), and the operation is not successful, i.e. the frames are submitted to the SDK, but the SDK doesn’t submit them to the stream corresponding to the provided Stream ID | |
framesizesubmittedropped | counter | stream, streamtype | Cumulative size of all the frames submitted to the SDK that were dropped, sent when the client submits data (audio, video or game data), and the operation is not successful, i.e. the frames are submitted to the SDK, but the SDK doesn’t submit them to the stream corresponding to the provided Stream ID | bytes |
framedropped | counter | stream, streamtype | Number of frames dropped by the the SDK, sent when the operation of submitting annotations or data (video/audio/game) to the stream is not successful | |
framesizedropped | counter | stream, streamtype | Cumulative size of all frames dropped by the the SDK, sent when the operation of submitting annotations or data (video/audio/game) to the stream is not successful | bytes |
submitdelta | gauge | stream, streamtype | Delta time between time codes of frames submitted to the SDK, sent when the client submits data (audio, video, game data or annotations) | ms |
submittime_us | timing | stream, streamtype | Time spent in the SDK submit functions, sent when the client submits data (audio, video, game data or annotations) | us |
inbandwidth | gauge | Number of bytes per second submitted to the SDK when submitting streams, sent every seconds by the Compose Session | Bps | |
notificationdropped | counter | notificationid | Number of notifications dropped by the SDK, sent when the client calls SubmitNotification() and the publishing fails | |
notificationsizedropped | gauge | notificationid | Size of a notification dropped by the SDK, sent when the client calls SubmitNotification() and the publishing fails | bytes |
submittedstreams | gauge | none | Total number of frames submitted to the different streams (audio, video and data) that were just sent to the RTMSP Session, sent by the Compose Session at every ms | |
submittedstreams_audio | gauge | none | Number of frames submitted to the different audio streams that were just sent to the RTMSP Session, sent by the Compose Session at every ms | |
submittedstreams_video | gauge | none | Number of frames submitted to the different video streams that were just sent to the RTMSP Session, sent by the Compose Session at every ms | |
submittedstreams_data | gauge | none | Number of frames submitted to the different data streams that were just sent to the RTMSP Session, sent by the Compose Session at every ms | |
gcl.received | Stats on frames received by the SDK. See the GCL Metrics table for details. The GCL Stats Callback is invoked through the Receive Message Callback of the RTMSP Session, which in turn sends the metric based on the submission rate |
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
Prefix: genvid.sdk. | ||||
framesent | counter | stream, streamtype | Number of frames sent by the SDK, sent when annotations or data (video/audio/game) are sent over the RTMSP connection by Compose Session | |
framesizesent | gauge | stream, streamtype | Size of a frame sent by the SDK, sent when annotations or data (video/audio/game) are sent over the RTMSP connection by Compose Session) | bytes |
frameadded | counter | stream, streamtype | Number of extra frames sent to keep the expected rate up, sent by the Compose Session when repeating the last frame and sending it to the RTMSP Connection | |
framemissed | counter | stream, streamtype | Number of frames that were sent as missing due to lack of available data, sent by the Compose Session when tagging the frame as missing (because the last frame is not available) and sending it to the RTMSP Connection | |
framedelta | gauge | stream, streamtype | Delta time between the time codes of consecutive sent frames, sent by the Compose Session when sending frames to the RTMSP Connection | ms |
outbandwidth | gauge | Number of bytes per second sent by the SDK when sending frames or annotations, sent every seconds by the Compose Session | Bps | |
streambandwidth | gauge | stream, streamtype | Per stream number of bytes per second sent by the SDK, sent every second by the Compose Session | Bps |
notificationsent | counter | notificationid | Number of notifications successfully sent by the the SDK, sent when the client successfully calls SubmitNotification() | |
notificationsizepublished | gauge | notificationid | Size of a notification successfully sent by the the SDK, sent when the client successfully calls SubmitNotification() | bytes |
numaudioframes | gauge | stream, streamtype | Number of audio frames sent by the SDK, sent by the Compose Session every time an audio frame is sent to the RTMSP Session | |
numvideoframes | gauge | stream, streamtype | Number of video frames sent by the SDK, sent by the Compose Session every time a video frame is sent to the RTMSP Session | |
duplicatedaudioframes | gauge | stream, streamtype | Number of duplicated audio frames sent by the SDK, sent by the Compose Session every time an audio frame is sent, however the counter is incremented only when a repeated frame is created | |
duplicatedvideoframes | gauge | stream, streamtype | Number of duplicated video frames sent by the SDK, sent by the Compose Session every time a video frame is sent, however the counter is incremented only when a repeated frame is created | |
missedaudioframes | gauge | stream, streamtype | Number of missed audio frames sent by the SDK, sent by the Compose Session every time an audio frame is sent, however the counter is incremented only when a missing frame is created | |
missedvideoframes | gauge | stream, streamtype | Number of missed video frames sent by the SDK, sent by the Compose Session every time a video frame is sent, however the counter is incremented only when a missing frame is created | |
audiofps | gauge | stream, streamtype | Effective audio FPS as seen by the SDK, taking into account the number of duplicated and missed frames. No duplicated or missed frames will give an FPS number equal to the one set at stream creation, any number of duplicated or missed frames will give a lower FPS number. Sent by the Compose Session every time an audio frame is sent to the RTMSP Session | fps |
videofps | gauge | stream, streamtype | Effective video FPS as seen by the SDK, taking into account the number of duplicated and missed frames. No duplicated or missed frames will give an FPS number equal to the one set at stream creation, any number of duplicated or missed frames will give a lower FPS number. Sent by the Compose Session every time an audio frame is sent to the RTMSP Session | fps |
gcl.sent | Stats on frames sent by the SDK. See the GCL Metrics table for details. The GCL Stats Callback is invoked when the Compose Session sends messages through the RTMSP Session, which in turn sends the metric based on the submission rate |
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
Prefix: genvid.compose-backend. | ||||
framesent | counter | stream, streamtype, messagetype, reason, session, source, stream | Number of packets sent to GVencode, sent when sending an RTMSP message (buffer or format type) to GVencode | |
framesizesent | gauge | stream, streamtype, messagetype, reason, session, source, stream | Size of a packet sent to GVencode, sent when sending an RTMSP message (buffer or format type) to GVencode | bytes |
framediscarded | counter | stream, streamtype, messagetype, reason, session, source, stream | Number of packets discarded, sent when the RTMSP message is discarded instead of being sent to GVencode, possible reasons: RTMSP session not running, undefined session ID, format is missing | |
framesizediscarded | gauge | stream, streamtype, messagetype, reason, session, source, stream | Payload size of a discarded RTMSP message, sent when the RTMSP message is discarded instead of being sent to GVencode, possible reasons: RTMSP session not running, undefined session ID, format is missing | bytes |
message.discarded | counter | stream, streamtype, messagetype, session, source | Number of RTMSP messages discarded, sent when the RTMSP message queue is full, at the moment the message would normally be pushed in the queue | |
streambus.audiovideo.weight | gauge | stream, streamtype, messagetype, session, source | Weight of the audio/video messages currently in the stream bus, sent when the RTMSP message queue is full | bytes |
streambus.data.weight | gauge | stream, streamtype, messagetype, session, source | Weight of the data/annotation/sync messages currently in the stream bus, sent when the RTMSP message queue is full | bytes |
gcl.sent | Stats on frames sent to GVencode. See the GCL Metrics table for details. The GCL Stats Callback is invoked when the Backend sends messages through the RTMSP Session, which in turn sends the metric based on the submission rate | |||
gcl.received | Stats on frames received by the Backend. See the GCL Metrics table for details. The GCL Stats Callback is invoked through the Receive Message Callback of the RTMSP Session, which in turn sends the metric based on the submission rate | |||
Prefix: genvid.compose-frontend. | ||||
framemissed | counter | stream, streamtype, sessionname | Number of frames created by compose, deprecated: this metric is not sent anymore | |
framereceived | counter | stream, streamtype, sessionname | Number of frames received, sent when a frame is extracted from the RTMSP message and pushed to the stream bus | |
framesizereceived | counter | stream, streamtype, sessionname | Cumulative size of all frames received, sent when a frame is extracted from the RTMSP message and pushed to the stream bus | bytes |
framedelayreceived_us | gauge | stream, streamtype, sessionname | Delay of the frame compared to its expected time, sent when a frame is extracted from the RTMSP message and pushed to the stream bus | us |
message.discarded | counter | stream, streamtype, messagetype, session, source | Number of RTMSP messages discarded, sent when the RTMSP message queue is full, at the moment the message would normally be pushed in the queue | |
streambus.audiovideo.weight | gauge | stream, streamtype, messagetype, session, source | Weight of the audio/video messages currently in the stream bus, sent when the RTMSP message queue is full | bytes |
streambus.data.weight | gauge | stream, streamtype, messagetype, session, source | Weight of the data/annotation/sync messages currently in the stream bus, sent when the RTMSP message queue is full | bytes |
gcl.sent | Stats on frames sent by the Frontend Session. See the GCL Metrics table for details. The GCL Stats Callback is invoked when the Frontend Session sends messages through the RTMSP Session, which in turn sends the metric based on the submission rate | |||
gcl.received | Stats on frames received by the Frontend Session. See the GCL Metrics table for details. The GCL Stats Callback is invoked through the Receive Message Callback of the RTMSP Session, which in turn sends the metric based on the submission rate | |||
Prefix: genvid.compose-gameframes. | ||||
framesent | counter | stream, streamtype | Number of buffers sent to replication nodes (Bulb), sent when a Protobuf is created with the data extracted from the RTMSP packet, more specifically at the moment the annotations are extracted | |
framesize | counter | stream, streamtype | Size of a buffer sent to replication nodes (Bulb), sent when a Protobuf is created with the data extracted from the RTMSP packet, more specifically at the moment the annotations are extracted | bytes |
framedropped | counter | stream, streamtype | Number of frames rejected, sent when trying to extract data from streams containing anything but game data or sync info | |
compositionframesent | counter | stream, streamtype | Number of frames sent by the data and synchronization streams, sent when creating a Protobuf with the data extracted from a data or a synchronization stream | |
compositionframesizesent | counter | stream, streamtype | Cumulative size of all frames sent by the data and synchronization streams, sent when creating a Protobuf with the data extracted from a data or a synchronization stream | bytes |
gcl.sent | Stats on frames sent to replication nodes. See the GCL Metrics table for details. The GCL Stats Callback is invoked when the Compose Data Frame sends messages through the Bulb Session, which in turn sends the metric based on the submission rate |
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
Prefix: genvid.gvencode-compose. | ||||
blendingtime | timing | filtername | Time to blend one video frame, sent by various video layers upon composition of each frame, in some cases a different metric is sent when compositing the final layout: the Video Cover Layer sends “covering”, the Video Push Layer sends “wiping”, the Video Wipe Layer sends “wiping” | ms |
bytesent | counter | filtername, session | Number of bytes sent during a broadcast session, sent by a FFMPEG callback invoked when a packet is broadcast by the Server/Sink Filter, more specifically when the packet is written to the output media file | bytes |
compositionmonitortime | timing | filtername | Time to compose one frame of the Monitor stream, sent by the Video Mixer Filter upon composition (if enabled) | ms |
compositionpreviewtime | timing | filtername | Time to compose one frame of the Preview stream, sent by the Video Mixer Filter upon composition (if enabled) | ms |
compositionprogramtime | timing | filtername | Time to compose one frame of the Program (broadcast) stream, sent by the Video Mixer Filter upon composition (if enabled) | ms |
compositionsent | counter | filtername, filterid | Number of frames sent by composition and synchronization streams from GVEncode to Composed, deprecated: this metric is not sent anymore | |
compositionsizesent | gauge | filtername, streamid | Size of frames sent by composition and synchronization streams from GVEncode to Composed, deprecated: this metric is not sent anymore | bytes |
receive-frame-time | timing | streamname | Time to decode one packet and push the decoded frame to the output queue, sent by the Source Filter when an RTMSP message is decoded | ms |
rtmspMessageQueue | counter | filtername | Number of RTMSP messages received, sent by the Source Filter when an RTMSP message is dequeued, just before decoding it | |
rtmspMessageQueueCount | gauge | filtername | Amount of RTMSP messages pushed in the input queue, sent by the Source Filter when an RTMSP message is dequeued, just before decoding it | |
compositiontotaltime | timing | filtername | Time to compose the Program/Preview/Monitor streams, sent by the Video Mixer Filter upon composition (if enabled) | ms |
chromakeyingtime | timing | filtername | Time to perform composition on a Chroma Key Layer, more specifically, time to apply chroma key blending on the overlay source, sent by the Video Chroma Key Layer every time a frame of the overlay source is composed | ms |
decodingtime | timing | filtername | Time to decode one video packet, sent by the Source Filter when a video frame is retrieved from the decoder and pushed to the output video queue | ms |
delayedframe | counter | filtername, streamtype | Number of frames delayed, sent by the Digital Delay Filter when a delayed frame is processed, incremented when a frame is moved from the input frame queue to the delayed frame queue, decremented when a frame is moved from the delayed frame queue to the output frame queue, this implies that frames are added or removed and may point to other issues | |
delayedframesize | counter | filtername, streamtype | Cumulative size of all the delayed frames, sent by the Digital Delay Filter when a delayed frame is processed | bytes |
encodingtime | timing | filtername | Time to encode one video frame, sent by the Server/Sink Filter when a video packet is retrieved from the encoder and pushed to the FIFO or the Output Buffer to be broadcast | ms |
fifoBufferNumFrames | gauge | filtername, streamtype | Number of packets pushed in the FIFO, sent by the Stream Server Filter when a packet is broadcast | |
framereceivedfps | gauge | filtername, streamtype, sessionid | The FPS at which the source filter is receiving frames. | |
framesentfps | gauge | filtername, streamtype, sessionid | The FPS at which the source filter is sending frames. | |
framedropped | counter | filtername, streamtype | Number of frames dropped to preserve the frame rate, sent by the Video Reframer Filter when more frames are actually sent than the allowed deviation to the target | |
frameduplicated | counter | filtername, streamtype | Number of frames duplicated to preserve the frame rate, sent by the Video Reframer Filter when less frames are actually sent than the allowed deviation to the target | |
frameerror_fr | counter | filtername | Cumulative number of packets with an incorrect frame number, sent by the Sink Filter when the frame is written to the output media file or moved to the storage queue, incremented when the frame number doesn’t match the target, which should never happen (this value should remain at 0) | |
framereceived | counter | filtername, streamtype | Number of frames received from compose, sent by the Source Filter when a frame is decoded (in case of video frames) and pushed to the output queue | |
framesent | counter | filtername, streamtype | Number of packets sent to the broadcaster, sent by the Server/Sink Filter when a packet is retrieved from the encoder and pushed to the FIFO or the Output Buffer to be broadcast | |
framesSentFromSinkHz | gauge | filtername, streamtype | Number of packets sent to the broadcaster, the internal value is incremented when a packet, audio or video, is dequeued from the FIFO and sent to the broadcaster, but the metric is sent, by the Stream Server Filter, only when video packets are broadcast, at a rate of 1Hz | |
framesizesent | gauge | filtername, streamtype | Size of an encoded packet, sent by the Server/Sink Filter when a packet is retrieved from the encoder and pushed to the FIFO or the Output Buffer to be broadcast | bytes |
framesizereceived | gauge | filtername, streamtype | Size of a frame received from compose, sent by the Source Filter when a frame is decoded (in case of video frames) and pushed to the output queue | bytes |
lowoutputbufferlevel | counter | filtername | Number of times an attempt to get a packet from the output buffer failed (low output buffer level detection), sent by the Sink Filter when failing to broadcast or store a packet because the output buffer is empty | |
missingframecreatingtime | timing | filtername | Time to allocate, prepare and fill a missing frame, the source can be the last video frame, the keep alive still image, a plain color, or silence for the audio, sent by the Source Filter when a missing frame is created and pushed to the output queue, this can point to issues like frame starvation, but this can also simply mean that a keep alive request has been made | ms |
outputbufferlimit_us | gauge | filtername | Cumulative presentation time of all the packets pushed in the output buffer, sent by the Sink Filter when the frame is written to the output media file or moved to the storage queue | us |
runningtime | timing | filtername | Time to draw the content of one frame with the Canvas Filter, sent upon execution of each frame | ms |
scalingtime | timing | filtername | Time to scale a video frame, sent by the Video Blitter Filter when a frame is processed, if no scaling occurs a time of 0 ms is emitted | ms |
session | counter | filtername, session | Number of active sessions, incremented when a streamer is created, decremented when a streamer is destroyed | |
audiopinnumframes | gauge | filtername, pin name, pin type | Number of audio frames in the queue of a given pin, sent by various filters every time a frame is processed | |
videopinnumframes | gauge | filtername, pin name, pin type | Number of video frames in the queue of a given pin, sent by various filters every time a frame is processed | |
writeframe | counter | filtername, outputtype, error | Number of packets written to the output media file, sent by the File Sink Filter when sending a packet for broadcast or storage | |
canvasfilterpinnumframes | gauge | filtername, pin name, pin type | Number of frames in a given pin, sent by the Canvas Filter every time a frame is processed | |
covering | timing | filtername | Time to blend one video frame, sent by the Video Cover Layer upon composition of each frame of the final layout | ms |
digitaldelaylinefilterpinnumframes | gauge | filtername, pin name, pin type | Number of delayed frames in a given pin, sent by the Digital Delay Filter when a delayed frame is processed | |
videoreframerfilterpinnumframes | gauge | filtername, pin name, pin type | Number of frames in a given pin, sent by the Reframer Filter every time a frame is processed | |
wiping | timing | filtername | Time to wipe one video frame, sent by the Video Push Layer and the Video Wipe Layer upon composition of each frame of the final layout | ms |
gcl.received | Stats on frames received by GVencode. See the GCL Metrics table for details. The GCL Stats Callback is invoked through the Receive Message Callback of the RTMSP Session, which in turn sends the metric based on the submission rate | |||
gcl.sent | Stats on frames sent by GVencode. See the GCL Metrics table for details. The GCL Stats Callback is invoked when GVencode sends messages through the RTMSP Session, which in turn sends the metric based on the submission rate |
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
Prefix: genvid.studiod. | ||||
messagebytereceived | counter | websocket | Size of messages received from a client with a Websocket | bytes |
messagebytesent | counter | websocket | Size of messages sent to client with a Websocket | bytes |
messageReceived | counter | websocket | Number of messages received from a client with a Websocket | |
messageSent | counter | websocket | Number of messages sent to client with a Websocket | |
websocketopened | gauge | websocket | Number of Websocket opens by studio | |
Prefix: genvid.studio. | ||||
monitor.video.element.seekable.size.seconds | gauge | Size of the video element’s seekable buffer | s | |
monitor.source.buffer.size.seconds | gauge | The source buffer’s size | s | |
monitor.playback.rate | gauge | The video element’s playback rate | ||
monitor.play.rate | gauge | The time played. A value of 1 represents a constant play speed | speed/s | |
monitor.segments.pushed.hz | gauge | The number of segments pushed to the source buffer | segments/s | |
monitor.segment.size.kilobytes | gauge | The average size of a segment | kB | |
monitor.latency.seconds | gauge | The time delta between the current playback time and the most recent seekable frame | s |
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
Prefix: genvid.leafd.reduce. | ||||
collect | timing | reduceId | Duration of a collect call, used before sending a map reduce result | ms |
processkeyvalue | timing | reduceId | Duration of a processkeyvalue call , part of a reduction execution | ms |
reduce | timing | reduceId | Duration of a reduce call, part of a reduction execution | ms |
sent | counter | reduceId | Number of messages sent to nats on topic “events.nodes.results. {{msgId}}” | |
size | counter | reduceId | Size of messages sent to nats on topic “events.nodes. results.{{msgId}}” | bytes |
Prefix: genvid.leafd.map. | ||||
accepted | counter | mapId, success | Number of key values processed by a map | |
processkeyvalues | timing | mapId, success | Duration of a processkeyvalues call, part of a map execution | ms |
refused | counter | Number of key values not processed by a map | ||
Prefix: genvid.leafd.connection. | ||||
current | gauge | The current number of clients connected to a leaf | ||
disconnected | counter | The number of client disconnections from a leaf | ||
elapsed | timing | The duration of a client session | ms | |
initialsendtime | timing | Duration of a processkeyvalues call, part of a map reduce | ms | |
sentdatacachesize | gauge | The size of the data cache being sent to the client | bytes | |
sentpackets | counter | The number of packets sent | ||
sentpacketssize | counter | The size of the packets sent | bytes | |
total | counter | The number of client connections to a leaf | ||
Prefix: genvid.leafd.root. | ||||
receivedpackets | counter | type | The number of packets received from rootd | |
receivedpacketssize | counter | type | The size of the packets received from rootd | bytes |
Prefix: genvid.leafd.event. | ||||
count | counter | The number of events sent by the clients | ||
size | counter | The size of the events sent by the clients | bytes |
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
Prefix: genvid.rootd.bulb.compose. | ||||
receivedpackets | counter | type | The number of packets received from composed | |
receivedpacketssize | counter | type | The size of the packets received from composed | bytes |
receptionInterval | gauge | The time between two consecutive frames received | ms | |
Prefix: genvid.rootd.root.leaf. | ||||
sentpackets | counter | type | The number of packets sent to a leaf | |
sentpacketssize | counter | type | The size of the packets sent to a leaf | bytes |
senttotalpacketssize | counter | type | The total size of the packets sent to all leafs | bytes |
Prefix: genvid.rootd.connection. | ||||
current | gauge | The current number of leafs connected to a root | ||
sentdatacachesize | gauge | The size of the data cache being sent to a leaf | bytes |
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
Prefix: genvid.webgateway. | ||||
gameOK.received | counter | status | Number of game commands received | |
notificationOK.received | counter | status | Number of notifications received | |
eventsOK.received | counter | status | Number of events received | |
eventsOK.processed | counter | status | Number of events processed | |
batchevents.reduce.collect | timing | reduceId | Duration of a collect call, used before sending a map reduce result | ms |
reduce.sent | counter | reduceId | Number of messages sent to nats on topic “events.nodes.results. {{msgId}}” | |
reduce.size | counter | reduceId | Size of messages sent to nats on topic “events.nodes.results. {{msgId}}” | bytes |
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
Prefix: genvid.viewer. | ||||
cached.bytes | gauge | stream | Client cache size | bytes |
cached.seconds | gauge | stream | Client cache size in content time | s |
deviation.from.latest.frame | gauge | Deviation between the current media player time and the most recent data in the source buffer | ms | |
events.sent.Hz | gauge | Number of events sent | events/s | |
frame.decode.duration | timing | The time it takes to decode newly received frames | ms | |
frame.decode.errors | gauge | The number of frame decoding errors | ||
latency | timing | The stream latency | ms | |
notification.decode.errors | gauge | Number of notification decoding errors | ||
notification.decode.duration | timing | The amount of time it took to decode the received notifications | ms | |
onDraw.duration.max | timing | The longest amount of time it took to process the onDraw call | ms | |
onDraw.duration.mean | timing | The average ammount of time it took the onDraw callback to execute | ms | |
onDraw.duration.min | timing | The shortest amount of time it took to process the onDraw call | ms | |
onDraw.interval.max | timing | The longest amount of time between onDraw executions | ms | |
onDraw.interval.mean | timing | The average amount of time between onDraw executions | ms | |
onDraw.interval.min | timing | The shortest amount of time between onDraw executions | ms | |
playback.rate | gauge | The player’s playback rate | ||
received.annotation.bytes.Hz | gauge | stream | The amount of annotation bytes received per second | Bps |
received.annotation.frames.Hz | gauge | stream | The amount of annotation frames received per second | fps |
received.data.bytes.Hz | gauge | stream | The amount of data bytes received per second | Bps |
received.data.frames.Hz | gauge | stream | The amount of frames received per second | fps |
streams.interval | timing | The amount of time it took to receive new streams | ms | |
streams.received.Hz | gauge | The number of streams received | streams/s | |
sync.error.max | gauge | The max sync error | ms | |
sync.error.mean | gauge | The average sync error | ms | |
sync.error.min | gauge | The min sync error | ms | |
videoTime | gauge | The video time | ms |
Name | Type | Possible tags | Description | Unit |
---|---|---|---|---|
gcl.received.frame.count | gauge | stream, streamtype | Number of frames received since the last metric submission | |
gcl.received.frame.missing | gauge | stream, streamtype | Number of frames flagged as missing received since the last metric submission | |
gcl.received.frame.rate | gauge | stream, streamtype | Number of frames received, per second | fps |
gcl.received.frame.size | gauge | stream, streamtype | Size, in bytes, of frames received, per second | Bps |
gcl.received.frame.total | gauge | stream, streamtype | Total number of frames received over the lifetime of the session | |
gcl.sent.frame.count | gauge | stream, streamtype | Number of frames sent since the last metric submission | |
gcl.sent.frame.missing | gauge | stream, streamtype | Number of frames flagged as missing sent since the last metric submission | |
gcl.sent.frame.rate | gauge | stream, streamtype | Number of frames sent per second | fps |
gcl.sent.frame.size | gauge | stream, streamtype | Size, in bytes, of frames sent, per second | Bps |
gcl.sent.frame.total | gauge | stream, streamtype | Total number of frames sent over the lifetime of the the session | |
gcl.buffersize | gauge | socketname | Average size of a packet read or written through a socket over one second, sent once per second, triggered when a socket reads or writes a packet | bytes |
gcl.packet.count | gauge | socketname | Number of packets read or written through a socket over one second, sent once per second, triggered when a socket reads or writes a packet | fps |
gcl.packet.latency | gauge | socketname | Average latency between 2 packets read or written through a socket over one second, sent once per second, triggered when a socket reads or writes a packet | ms |
gcl.packet.remaining | gauge | socketname | Number of packets in transit per second, sent once per second, triggered when a socket reads or writes a packet | |
gcl.packet.size | gauge | socketname | Size of all packets read or written through a socket over one second, sent once per second, triggered when a socket reads or writes a packet | Bps |
gcl.packet.total | gauge | socketname | Total number of packets read or written through a socket over the lifetime of the session, sent once per second, triggered when a socket reads or writes a packet |
Metrics Tags Definitions¶
- stream
- The ID of the stream (string).
- streamtype
- The type of the stream:
video
,audio
,data
, orannotations
. - sessionname
- The name of the session.
- session
- Session identifer (internal pointer value).
- filtername
- The name of filter in composition graph.
- websocket
- The address of the pointer of the Websocket.
- reduceId
- The ID of the reduce definition.
- socketname
- The name and type (read or write) of the socket.