EdgeVis Server performance metrics
Updated over a week ago

Requirements

  • Working knowledge of SNMP or JMX interface and their associated tools

  • System admin knowledge to configure EdgeVis Server start-up parameters

  • System admin knowledge to configure and secure server ports

Important notes

Performance metrics are disabled by default – EdgeVis Server needs to be restarted to initiate access (see more details below).

Accessing the performance metrics requires additional ports to be opened on the server. To ensure maximum system security, these ports must be protected.

Introduction

EdgeVis Server is critical to the smooth operation of the overall system, therefore it is essential that system performance be monitored and, where necessary, remedial action taken to ensure system reliability and integrity.

To permit an insight into EdgeVis server performance, certain key data points are available (see the tables below). The data taken from these can be used to determine system health.

Note that the majority of the data returned is dynamic and represents the condition of the server at that point in time. There is no trend analysis performed within EdgeVis Server. Any such analysis may be provided by a third party tool.

Enabling performance metrics

Access to the EdgeVis Server performance information is disabled by default. The following action is required by IT systems administrators to permit this information to be accessed.

  • The EdgeVis Server must be restarted with the access details included as part of the service start-up command (on windows, edit the file C:\Program Files (x86)\EdgeVis Server\conf\wrapper.conf)

  • One or more ports must be opened on the server

  • Starting EdgeVis Server with specific parameters (specifying the SNMP and/or JMX interface)

Once enabled, performance data is accessed by one of two methods:

  • Simple Network Management Protocol (SNMP)

  • Java Management Extensions (JMX)

Each requires configuration information to be included as part of the EdgeVis Server start-up process.

The process of SNMP/JMX set-up is beyond the scope of this document.

SNMP

Accessing information using this method requires SNMP to be enabled at a system level, which in most circumstances is an IT system admin function. In addition, the following parameters must be added to the EdgeVis Server start-up command.

Parameter

Description

-Dcom.evs.server.snmp.enabled=true

Enable output from EdgeVis Server

-Dcom.evs.server.snmp.port=1884

Define the port to be used for output (1884 in this case)

Interpretation of SNMP data can be simplified by using a Management Information Base (MIB). To obtain the Digital Barriers MIB, please contact Support.

JMX

Accessing information using this method requires JMX to be enabled at a system level, which in most circumstances is an IT system admin function. In addition, the following parameters must be added to the EdgeVis Server start-up command

Parameter

Description

-Dcom.evs.server.snmp.enabled=true

Enable output from EdgeVis Server

-Dcom.sun.management.jmxremote=true

Enable output from EdgeVis Server

-Dcom.sun.management.jmxremote.port=7091

Define the port to be used for output (7091 in this case)

JMX data is presented using MBeans. To view the information, the relevant MBean tree namespaces are com.evs.server (for EdgeVis Server metrics) and com.evs.server.streams (for encoder specifics).

Details of information available in each namespace can be found below:

Performance metrics – EdgeVis Server

System metrics report on the overall health of the EdgeVis Server, some of which may be reset on demand (either via SNMP or JMX). Items that can be reset are highlighted.

Metric

Description

ViewerCount

The current number of viewers attached to the server

ViewerCountPeak

The peak number of viewers attached to the server

ViewerCountPeakTime

The time when the peak number of attached viewers occurred

EncoderCount

The current number of encoders attached to the server

EncoderCountPeak

The peak number of encoders attached to the server

EncoderCountPeakTime

The time when the peak number of attached viewers occurred

IncomingStreams

The total number of incoming streams

OutgoingStreams

The total number of outgoing streams

WatchedOutgoingStreams

The total number of watched outgoing streams

MuxLinkDataReceived

The total number of bytes received by the server via the Mux protocol

MuxLinkDataSent

The total number of bytes sent by the server via the Mux protocol

TcpChannelDataReceived

The total number of bytes received by the server via the TCP protocol

TcpChannelDataSent

The total number of bytes sent by the server via the TCP protocol

UdpConnectionManagerDataReceived

The total number of bytes received by the server via the UDP protocol

UdpConnectionManagerDataSent

The total number of bytes sent by the server via the UDP protocol

DataTransmitAndReceive

The total number of bytes transmitted and received by the server

DataTransmitAndReceiveRateMbps

The rate at which data is transmitted and received by the server in mbps. (Please divide by 1000)

PeakDataTransmitAndReceiveRateMbps

The peak rate (Please divide by 1000)

PeakDataTransmitAndReceiveRateMbpsTime

The time when the peak occurred

ByteBufferPoolSize

The current number of ByteBuffers allocated by the com.evs.protocol.BufferPool class

ByteBuffersAllocated

The total number of ByteBuffers that have been allocated by the com.evs.protocol.BufferPool class

LoadAverage

The system load average for the last minute

MemActualFree

The amount of physical memory currently available in bytes, taking into account that committed to paging/swap files

MemActualUsed

The amount of physical memory currently used in bytes, taking into account that committed to paging/swap files

MemFree

The amount of physical memory currently available, in bytes

MemFreePercent

The amount of physical memory currently available, as a percentage

MemTotal

The amount of actual physical memory, in bytes

MemUsed

The amount of physical memory currently used, in bytes

MemUsedPercent

The amount of physical memory currently used, as a percentage

ProcCpuPercent

The CPU time as a percentage of CPU capacity of the EdgeVis Server

ProcCpuStartTime

the start time of the EdgeVis Server process (based on milliseconds since January 1 1970)

ProcCpuSysTime

The time in milliseconds that the EdgeVis Server process has executed in kernel/system mode

ProcCpuTotalTime

The sum of ProcCpuSysTime and ProcCpuUserTime

ProcCpuUserTime

The time in milliseconds that the EdgeVis Server process has executed in user mode

ProcMemResident

The amount of memory in bytes allocated to the EdgeVis Server process and is in RAM

ProcMemSize

The amount of memory in bytes that the EdgeVis Server process can access, including memory that is swapped out and memory that is from shared libraries

SampleTime

The time in milliseconds when the data in this table was sampled (based on milliseconds since January 1 1970)

SysCpuPercent

The "recent” CPU usage for the system. The value is a double between 0.0 and 1.0

Performance metrics – encoder specific

This table defines those details that are reported for each and every encoder that is connected to the EdgeVis Server

Metric

Description

connectionTable

The connection table contains the list of current connections (to and from) the EdgeVis Server

connectionEntry

A conceptual row representing a connection to or from the EdgeVis Server

connectionIndex

An index computed by the agent and which uniquely identifies a EdgeVis Server connection

connectionName

The name of the connection

connectionBytesRead

The number of bytes read by the connection since creation

connectionBytesReadDataRate

The current rate in kbps of bytes read by the connection. Please divide by 1000

connectionBytesWritten

The number of bytes written by the connection since creation

connectionBytesWrittenDataRate

The current rate in kbps of bytes written by the connection. Please divide by 1000

connectionClient

The client of the stream

connectionClientID

The client id of the stream

connectionProtocol

The communications protocol in use on the stream

connectionSampleTime

The time in milliseconds when the connection data was sampled

connectionStartTime

The time in milliseconds when the stream was created

connectionState

The current state of the stream

connectionStream

The name of the stream source

connectionStreamID

The stream id for the connection

connectionType

The type of the connection

Security

It is highly recommended that access to SNMP and JMX interfaces is protected.

Use cases

With performance metrics enabled, it is possible to determine how the EdgeVis Server is performing:

  • How many encoders are connected?

  • How many viewer are connected?

  • How much data has been used?

FAQ

  • How can the values be reset?
    Using either JMX or SNMP interfaces.

  • Is it possible to see historic data?
    Not within EdgeVis Server, however there are several third party applications that are available for this purpose.

  • Can trends be seen?
    Not within EdgeVis Server, however there are several third party applications that are available for this purpose.

  • Are performance metrics enabled by default?
    No.

  • How can performance metrics be enabled?
    See Enabling Performance Metrics above.

  • Is there a performance cost when performance metrics are enabled?
    Overall system performance is not affected as the cost is negligible.

  • Can the data be viewed in EdgeVis Server web interface?
    Not at this time.

  • Can the data be reset in EdgeVis Server web interface?
    Not at this time.


Did this answer your question?