Concepts Guide
SRS Daemon Statistics

This section contains details on the SRS's Daemon Statistics feature. You should already be familiar with the general information contained in daemonstatistics.

The SRS Daemon Statistics are published in the form of JSON messages. These are ASCII text messages which represent internal SRS data structures containing statistical and configuration information.

The following sub-sections describe the content of the messages. Note that while the sample messages shown are "beautified" (whitespace inserted for readability), a receiver of these messages should make no assumption about the presence or absence of whitespace. Also, as it true generally with JSON, the order of the fields is not fixed and can vary.

The message types are:


Message Type: SRS_STATS  <-

Message type SRS_STATS contains information about the overall state of the SRS service.

EXAMPLE:

{
"monitorInfoCategory": "SRS_STATS",
"stats": [
{
"name": "clients.inactive.SIR.count",
"value": 0
},
{
"name": "clients.next.client.ID",
"value": 17
}
]
}

This example has two statistics. Be aware that a given message can have any number of statistic entries.

Overall structure of message:

Field

Description

monitorInfoCategory

Message type. Set to the string "SRS_STATS".

stats

Array of sub-structures, one per statistic. The number and order of the contained statistics is not fixed.

. . stats[].name

Name of statistic (see below).

. . stats[].valueValue of statistic.

Meaning of each statistic:

Statistic

Description

clients.next.client.ID

Unique session ID that will be assigned to the next context to connect.

active.clients.count

Number of currently connected contexts.

clients.connects.count

Number of contexts that have connected since this SRS started.

clients.disconnects.count

Number of contexts that have disconnected since this SRS started.

clients.max.concurrent.connections.count

High water mark of simultaneous connections since the SRS service was started.

clients.active.SIR.count

Number of sources being maintained from connected contexts.

clients.active.RIR.count

Number of receivers being maintained from connected contexts.

clients.active.WIR.count

Number of wildcard receivers being maintained from connected contexts.

clients.active.DIR.count

Number of Domain Information Records (DIRs) being maintained from connected DRO endpoints.

clients.inactive.SIR.count

Number of sources being temporarily maintained from disconnected contexts. These get cleaned up after the state lifetime expires.

clients.inactive.RIR.count

Number of receivers being temporarily maintained from disconnected contexts. These get cleaned up after the state lifetime expires.

clients.inactive.WIR.count

Number of wildcard receivers being temporarily maintained from disconnected contexts. These get cleaned up after the state lifetime expires.

clients.inactive.DIR.count

Number of Domain Information Records (DIRs) being temporarily maintained from disconnected DRO endpoints. These get cleaned up after the state lifetime expires.

clients.expired.SIR.count

Number of times the SRS deleted source records due to the state lifetime being expired. This will happen when applications exit without deleting their sources, which is not recommended. If this number increases frequently, consider modifying your applications to clean up before exiting.

clients.expired.RIR.count

Number of times the SRS deleted receiver records due to the state lifetime being expired. This will happen when applications exit without deleting their receivers, which is not recommended. If this number increases frequently, consider modifying your applications to clean up before exiting.

clients.expired.WIR.count

Number of times the SRS deleted wildcard receiver records due to the state lifetime being expired. This will happen when applications exit without deleting their receivers, which is not recommended. If this number increases frequently, consider modifying your applications to clean up before exiting.

clients.expired.DIR.count

Number of times the SRS deleted Domain Information Records (DIRs) due to the state lifetime being expired. This will happen when DROs exit abnormally. Informatica support should be informed if this count increments frequently.

clients.expired.CNIR.count

Number of times the SRS deleted Context Name Information Records (CNIRs) due to the state lifetime being expired. This will happen when Stores exit abnormally. Informatica support should be informed if this count increments frequently.

clients.DR.inactive.SIR.count

If DROs are involved, it is normal for this count to increment. Otherwise, this should not increment, and Informatica support should be informed if it does. (A context disconnected while it has SIRs that were inactive.)

clients.SLR.no.OTID.match.count

If the system is otherwise behaving normally, increments in this count are most likely harmless. (A receiver sent a source leave record for a source that the SRS does not know about.)

clients.active.RTIR.count

Number of Route Information Records (RTIR) being maintained from all connected DRO endpoint contexts. Should be equal to the number of active DRO endpoints in this TRD.

clients.inactive.RTIR.count

Number of Route Information Records (RTIR) being temporarily maintained from disconnected DRO endpoint contexts.

clients.expired.RTIR.count

Number of inactive Route Information Records (RTIR) deleted due to expiration of their state lifetimes. This value is cumulative since the SRS was started.

clients.active.CNIR.count

Number of Context Name Information Records (CNIRs) being maintained from connected contexts. This is for Stores identified by their context names; see Identifying Persistent Stores.

clients.inactive.CNIR.count

Number of Context Name Information Records (CNIRs) being temporarily maintained from disconnected contexts. Currently, this is only for Stores identified by their context names; see Identifying Persistent Stores.

clients.duplicate.CNIR.count Number of duplicate Context Name Information Records (CNIRs) received from all Store endpoints. While not a fatal condition, Informatica support should be informed if this is non-zero.

All of the above statistics are included in a snapshot. Only the changed statistics are included during a periodic update.


Message Type: SRS_ERROR_STATS  <-

Message type SRS_ERROR_STATS contains counters for errors detected by the SRS service. These types of errors should not be happening in a properly configured network; contact Informatica Support if the counters are increasing frequently.

EXAMPLE:

{
"monitorInfoCategory": "SRS_ERROR_STATS",
"stats": [
{
"name": "clients.duplicate.SIR.count",
"value": 0
},
{
"name": "clients.invalid.SDR.no.OTID.match.count",
"value": 17
}
]
}

This example has two statistics. Be aware that a given message can have any number of statistic entries.

Overall structure of message:

Field

Description

monitorInfoCategory

Message type. Set to the string "SRS_ERROR_STATS".

stats

Array of sub-structures, one per statistic. The number and order of the contained statistics is not fixed.

. . stats[].name

Name of statistic (see below).

. . stats[].valueValue of statistic.

Meaning of each statistic:

Statistic

Description

clients.duplicate.SIR.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (Number of times that the SRS is informed about a source when it didn't need to be informed; i.e. the SRS already knew about it.)

clients.duplicate.RIR.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (Number of times that the SRS is informed about a receiver when it didn't need to be informed; i.e. the SRS already knew about it.)

clients.duplicate.WIR.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (Number of times that the SRS is informed about a wildcard receiver when it didn't need to be informed; i.e. the SRS already knew about it.)

clients.invalid.SDR.no.topic.match.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (A context deleted a source that the SRS does not know about, which should never happen.)

clients.invalid.SDR.no.OTID.match.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (A context deleted a source that the SRS does not know about, which should never happen.)

clients.invalid.SDR.no.transport.match.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (A context deleted a source that the SRS does not know about, which should never happen.)

clients.invalid.DR.no.topic.match.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (A source that the SRS does not know about disconnected, which should never happen.)

clients.invalid.DR.no.OTID.match.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (A context deleted a source that the SRS does not know about, which should never happen.)

clients.invalid.DR.no.transport.match.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (A context deleted a source that the SRS does not know about, which should never happen.)

clients.invalid.SLR.no.topic.match.count

While not a fatal condition, Informatica support should be informed if this count increments frequently. (A receiver notified source leave for a source that the SRS does not know about, which should never happen.)

clients.invalid.DR.inactive.SIR.count

This counter should never be greater than zero. While not a fatal condition, Informatica support should be informed if this count increments frequently. (A context disconnected while it has SIRs that were inactive, which should never happen.)

clients.duplicate.DIR.count

Number of duplicate Domain Information Records (DIRs) the SRS generated. This should never happen. While not a fatal condition, Informatica support should be informed if this is non-zero.

clients.mismatched.DIR.count

A non-zero count indicates that at least two DRO endpoints have reported different domain IDs, which is illegal. All DRO endpoints servicing the same TRD must be configured for the same domain ID value.

If all DRO endpoints being services by this SRS are configured for the same <domain-id> value, contact Informatica Support.

clients.duplicate.RTIR.count

Number of duplicate Route Information Records (RTIRs) received from all DRO endpoints. While not a fatal condition, Informatica support should be informed if this is non-zero.

See also statistic "client.duplicate.RTIR.received.count" in Message Type: UM_CLIENT_ERROR_STATS.

clients.invalid.CNIR.name.mismatch.count Number of Context Name Information Records (CNIRs) received from a context that are different from the initial CNIR. This should never happen. While not a fatal condition, Informatica support should be informed if this is non-zero.


Message Type: UM_CLIENT_STATS  <-

Message type UM_CLIENT_STATS contains information related to an individual connected context. Multiple instances of this message can be sent, one per connected context.

EXAMPLE:

{
"monitorInfoCategory": "UM_CLIENT_STATS",
"srsRegistrationInfo": {
"ip": "10.29.3.43",
"port": "60681",
"sessionId": "0x9739b88f"
},
"stats": [
{
"name": "client.SIR.received.count",
"value": 1
},
{
"name": "client.SDR.received.count",
"value": 0
}
]
}

This example has two statistics. Be aware that a given message can have any number of statistic entries.

Overall structure of message:

Field

Description

monitorInfoCategory

Message type. Set to the string "UM_CLIENT_STATS".

srsRegistrationInfo

Structure containing identifying information about the connected context.

. . srsRegistrationInfo.ip

IP address of the context.

. . srsRegistrationInfo.port

TCP "source port" the context used locally for its SRS connection. See resolver_service (context).

. . srsRegistrationInfo.sessionId

The unique identifier assigned by the SRS to this connection.

stats

Array of sub-structures, one per statistic. The number and order of the contained statistics is not fixed.

. . stats[].name

Name of statistic (see below).

. . stats[].valueValue of statistic.

Meaning of each statistic:

Statistic

Description

record.queue.depth

Snapshot of the context's SRS worker thread's work queue. I.e. number of Topic Resolution updates that need to be sent to the context. This number should normally be zero. If it remains above zero for significant time contact Informatica Support.

client.SIR.sent.count

Number of sources that the SRS has informed the context of.

client.SER.sent.count

Number of source deletions that the SRS has informed the context of. Either the application explicitly deleted a source, or the context abnormally disconnected and the state lifetime expired.

client.RIR.sent.count

Number of receivers that the SRS has informed the context of.

client.RER.sent.count

Number of receiver deletions that the SRS has informed the context of. Either the application explicitly deleted a receiver, or the context abnormally disconnected and the state lifetime expired.

client.WIR.sent.count

Number of wildcard receivers that the SRS has informed the context of.

client.WER.sent.count

Number of wildcard receiver deletions that the SRS has informed the context of. Either the application explicitly deleted a receiver, or the context abnormally disconnected and the state lifetime expired.

client.SIR.received.count

Number of created sources that the context has informed the SRS. This number is not necessarily the current number of sources; i.e. the counter does not decrease as sources are deleted.

client.SDR.received.count

Number of sources deleted that the context has informed the SRS.

client.RIR.received.count

Number of created receivers (one per topic even if more than one receivers on a topic) that the context has informed the SRS. This number is not necessarily the current number of receivers; i.e. the counter does not decrease as receivers are deleted.

client.WIR.received.count

Number of created wildcard receivers (one per pattern even if more than one receivers on a pattern) that the context has informed the SRS. This number is not necessarily the current number of wildcard receivers; i.e. the counter does not decrease as wildcard receivers are deleted.

client.RDR.received.count

Number of deleted receivers (one per topic even if more than one receivers on a topic) that the context has informed the SRS. This number is not necessarily the current number of receivers; i.e. the counter does not decrease as receivers are deleted.

client.WDR.received.count

Number of deleted wildcard receivers (one per pattern even if more than one receivers on a pattern) that the context has informed the SRS. This number is not necessarily the current number of wildcard receivers; i.e. the counter does not decrease as wildcard receivers are deleted.

client.SLR.received.count

Number of source leave records that the receiver context has informed the SRS.

client.active.SIR.count

Number of sources that currently exist in the context.

client.max.concurrent.SIR.count

High water mark of simultaneous sources managed since the SRS service started.

client.DIR.sent.count

Number of Domain Information Records (DIRs) that the SRS has sent to the context.

client.RTIR.sent.count

Number of Route Information Records (RTIRs) the SRS has sent to the context.

client.RTIR.received.count

Number of Route Information Records (RTIRs) the context has sent to the SRS.

client.RTER.sent.count

Number of Route End Records (RTERs) the SRS has sent to the context. This is incremented if a DRO disconnects from an SRS and that DRO's Route Information Record state lifetime expires.

client.CNIR.sent.count

Number of Context Name Information Records (CNIRs) sent to the context.

client.CNIR.received.count

Number of Context Name Information Records (CNIRs) received from the context. This should normally be 1 or 2.

client.CNQR.received.count

Number of Context Name Query Records (CNQRs) received from the context. This should normally be 1.

client.unexpected.CNER.received.count

Number of Context Name End Records (CNERs) received from the context. This should normally be 0, but if the client is UM version 6.14, this counter can increase.


Message Type: UM_CLIENT_ERROR_STATS  <-

Message type UM_CLIENT_ERROR_STATS contains error counters related to an individual connected context. Multiple instances of this message can be sent, one per connected context. These types of errors should not be happening in a properly configured network; contact Informatica Support if the counters are increasing frequently.

EXAMPLE:

{
"monitorInfoCategory": "UM_CLIENT_ERROR_STATS",
"srsRegistrationInfo": {
"ip": "10.29.3.43",
"port": "60681",
"sessionId": "0x9739b88f"
},
"stats": [
{
"name": "client.invalid.SRS.message.received.count",
"value": 1
},
{
"name": "client.invalid.SDR.received.count",
"value": 0
}
]
}

This example has two statistics. Be aware that a given message can have any number of statistic entries.

Overall structure of message:

FieldDescription
monitorInfoCategoryMessage type. Set to the string "UM_CLIENT_ERROR_STATS".
srsRegistrationInfoStructure containing identifying information about the connected context.
. . srsRegistrationInfo.ipIP address of the context.
. . srsRegistrationInfo.portTCP "source port" the context used locally for its SRS connection. See resolver_service (context).
. . srsRegistrationInfo.sessionIdThe unique identifier assigned by the SRS to this connection.
statsArray of sub-structures, one per statistic. The number and order of the contained statistics is not fixed.
. . stats[].nameName of statistic (see below).
. . stats[].valueValue of statistic.

Meaning of each statistic:

Statistic

Description

client.duplicate.RIR.received.count Number of created duplicate receivers that the context has informed the SRS.
client.duplicate.WIR.received.count

Number of created duplicate wildcard receivers that the context has informed the SRS.

client.invalid.SRS.message.received.count

This counter should never be greater than zero. While not a fatal condition, Informatica support should be informed if this count increments frequently. (Number of messages received from this context that could not be processed.)

client.invalid.SDR.received.count

This counter should never be greater than zero. While not a fatal condition, Informatica support should be informed if this count increments frequently. (Number of source delete messages received from this context which could not be processed correctly.)

client.duplicate.RTIR.received.count

Number of duplicate Route Information Records (RTIRs) received from this DRO endpoint. This should never happen. While not a fatal condition, Informatica support should be informed if this is non-zero.

See also statistic "clients.duplicate.RTIR.count" in Message Type: SRS_ERROR_STATS.

client.unexpected.SRS.message.sent.count

Number of unexpected messages sent to the context. This should never happen. While not a fatal condition, Informatica support should be informed if this is non-zero.

client.duplicate.CNIR.received.count

Number of duplicate Context Name Information Records (CNIRs) received from this context. This should never happen. While not a fatal condition, Informatica support should be informed if this is non-zero.

client.duplicate.CNQR.received.count Number of duplicate Context Name Query Records (CNQRs) received from this context. This should never happen. While not a fatal condition, Informatica support should be informed if this is non-zero.


Message Type: CONNECTION_EVENTS  <-


Message Subtype: UM_CLIENT_CONNECT  <-

Message type CONNECTION_EVENTS, sub-type UM_CLIENT_CONNECT, logs a single connect of a context to the SRS.

{
"monitorInfoCategory": "CONNECTION_EVENTS",
"srsRegistrationInfo": {
"ip": "10.29.3.42",
"port": "41873",
"sessionId": "0xaecbff98"
},
"connectionEventType": "UM_CLIENT_CONNECT",
"events": [
{
"connectionEventType": "UM_CLIENT_CONNECT",
"connectionEventTime": "Thu Jan 24 00:28:26 CET 2019",
}
]
}

Overall structure of message:

Field

Description

monitorInfoCategory

Message type. Set to the string "CONNECTION_EVENTS".

srsRegistrationInfo

Structure containing identifying information about the connected context.

. . srsRegistrationInfo.ip

IP address of the context.

. . srsRegistrationInfo.port

TCP "source port" the context used locally for its SRS connection. See resolver_service (context).

. . srsRegistrationInfo.sessionId

The unique identifier assigned by the SRS to this connection.

connectionEventType

type of event contained in the events sub-structure. Set to "UM_CLIENT_CONNECT".

events

Technically events is constructed as an array of sub-structures, however each CONNECTION_EVENTS message contains exactly one event log.

. . events[].connectionEventType

type of event contained in the events sub-structure. Set to "UM_CLIENT_CONNECT".

. . events[].connectionEventTimeASCII time/date stamp of event.


Message Subtype: UM_CLIENT_DISCONNECT  <-

Message type CONNECTION_EVENTS, sub-type UM_CLIENT_DISCONNECT, logs a single disconnect of a context to the SRS.

{
"monitorInfoCategory": "CONNECTION_EVENTS",
"srsRegistrationInfo": {
"ip": "10.29.3.42",
"port": "35350",
"sessionId": "0x0388cf20"
},
"connectionEventType": "UM_CLIENT_DISCONNECT",
"events": [
{
"srsRegistrationInfo": {
"ip": "10.29.3.42",
"port": "35350",
"sessionId": "0x0388cf20"
},
"connectionEventType": "UM_CLIENT_DISCONNECT",
"connectionEventTime": "Wed Jan 30 23:50:30 CET 2019",
}
]
}

Overall structure of message:

Field

Description

monitorInfoCategory

Message type. Set to the string "CONNECTION_EVENTS".

srsRegistrationInfoStructure containing identifying information about the connected context.   
. . srsRegistrationInfo.ip

IP address of the context.

. . srsRegistrationInfo.port

TCP "source port" the context used locally for its SRS connection. See resolver_service (context).

. . srsRegistrationInfo.sessionId

The unique identifier assigned by the SRS to this connection.

connectionEventType

type of event contained in the events sub-structure. Set to "UM_CLIENT_DISCONNECT".

events

Technically events is constructed as an array of sub-structures, however each CONNECTION_EVENTS message contains exactly one event log.

. . events[].srsRegistrationInfo

Structure containing identifying information about the connected context.

. . . . events[].srsRegistrationInfo.ip

IP address of the context.

. . . . events[].srsRegistrationInfo.port

TCP "source port" the context used locally for its SRS connection. See resolver_service (context).

. . . . event[].srsRegistrationInfo.sessionId

The unique identifier assigned by the SRS to this connection.

. . events[].connectionEventType

type of event contained in the events sub-structure. Set to "UM_CLIENT_DISCONNECT".

. . events[].connectionEventTimeASCII time/date stamp of event.


Message Subtypes: SIR and SDR  <-

Message type CONNECTION_EVENTS, sub-types SIR and SDR, log a single context source creation or deletion message to the SRS.

{
"monitorInfoCategory": "CONNECTION_EVENTS",
"srsRegistrationInfo": {
"ip": "10.29.3.43",
"port": "60809",
"sessionId": "0x1c668bad"
},
"connectionEventType": "SIR" or "SDR",
"events": [
{
"topic": "srs_topic",
"source": "LBTRM:10.29.3.43:24000:47b87920:225.11.28.85:14400",
"connectionEventType": "SIR" or "SDR",
"connectionEventTime": "Fri Feb 1 02:16:06 CET 2019",
}
]
}

Overall structure of message:

Field

Description

monitorInfoCategory

Message type. Set to the string "CONNECTION_EVENTS".

srsRegistrationInfoStructure containing identifying information about the connected context.   
. . srsRegistrationInfo.ip

IP address of the context.

. . srsRegistrationInfo.port

TCP "source port" the context used locally for its SRS connection. See resolver_service (context).

. . srsRegistrationInfo.sessionId

The unique identifier assigned by the SRS to this connection.

connectionEventType

type of event contained in the events sub-structure. Set to "SIR" or "SDR".

events

Technically events is constructed as an array of sub-structures, however each CONNECTION_EVENTS message contains exactly one event log.

. . events[].connectionEventType

type of event contained in the events sub-structure. Set to "SIR" or "SDR".

. . events[].connectionEventTimeASCII time/date stamp of event.


Message Type: CONFIG_OPTS  <-

Message type CONFIG_OPTS contains SRS configuration information.

EXAMPLE:

{
"monitorInfoCategory": "CONFIG_OPTS",
"configOptions": [
{
"name": "um-srs.daemon-monitor.lbm-attributes.context.context_name",
"value": "statsLbmContext",
},
{
"name": "um-srs.daemon-monitor.lbm-attributes.context.default_interface",
"value": "192.168.0.0/24",
}
]
}

This example has two options. Be aware that a given message can have any number of option entries.

Overall structure of message:

Field

Description

monitorInfoCategory

Message type. Set to the string "CONFIG_OPTS".

configOptions

Array of sub-structures, one per configuration option. The number and order of the contained options is not fixed.

. . configOptions[].name

Name of option (see below).

. . configOptions[].valueValue of option.

Meaning of each option:

Option Name

Description

um-srs.version

Value for 'version' attribute to SRS configuration element <um-srs>.

um-srs.daemon.log

Value for the SRS configuration element <log>.

um-srs.daemon.log.type

Value for 'type' attribute to SRS configuration element <log>.

um-srs.daemon.log.frequency

Value for 'frequency' attribute to SRS configuration element <log>.

um-srs.daemon.log.size

Value for 'size' attribute to SRS configuration element <log>.

um-srs.daemon.log.max-history

Value for 'max-history' attribute to SRS configuration element <log>.

um-srs.daemon.log.total-size-cap

Value for 'total-size-cap' attribute to SRS configuration element <log>.

um-srs.daemon.log.compression

Value for 'compression' attribute to SRS configuration element <log>.

um-srs.daemon.pid-file

Value for the SRS configuration element <request-stream-max-msg-count>.

um-srs.srs.interface

Value for the SRS configuration element <interface> inside <srs>.

um-srs.srs.port

Value for the SRS configuration element <port> inside <srs>.

um-srs.srs.state-lifetime

Value for the SRS configuration element <state-lifetime>.

um-srs.srs.source-state-lifetime

Value for the SRS configuration element <source-state-lifetime>.

um-srs.srs.interest-state-lifetime

Value for the SRS configuration element <interest-state-lifetime>.

um-srs.srs.route-state-lifetime

Value for the SRS configuration element <context-name-state-lifetime>.

um-srs.srs.context-name-state-lifetime

Value for the SRS configuration element <context-name-state-lifetime>.

um-srs.srs.source-leave-backoff

Value for the SRS configuration element <source-leave-backoff>.

um-srs.srs.application-id

Value for the SRS configuration element <application-id>.

um-srs.srs.clientactor.request-stream-max-msg-count

Value for the SRS configuration element <request-stream-max-msg-count>.

um-srs.srs.clientactor.record-queue-service-interval

Value for the SRS configuration element <record-queue-service-interval>.

um-srs.srs.clientactor.batch-frame-max-record-count

Value for the SRS configuration element <batch-frame-max-record-count>.

um-srs.srs.clientactor.batch-frame-max-datagram-size

Value for the SRS configuration element <batch-frame-max-datagram-size>.

um-srs.debug-monitor.interface

Value for the SRS configuration element <interface> inside <debug-monitor>.

um-srs.debug-monitor.port

Value for the SRS configuration element <port> inside <debug-monitor>.

um-srs.debug-monitor.enabled

Value for the SRS configuration element <enabled>.

um-srs.debug-monitor.ping-interval

Value for the SRS configuration element <ping-interval> for debug-monitor.

um-srs.daemon-monitor.ping-interval

Value for the SRS configuration element <ping-interval> for daemon-monitor.

um-srs.daemon-monitor.topic

Value for 'topic' attribute to SRS configuration element <daemon-monitor>.

um-srs.daemon-monitor.publishing-interval.default

Value for the SRS configuration element <default>.

um-srs.daemon-monitor.publishing-interval.srs-stats

Value for the SRS configuration element <srs-stats>.

um-srs.daemon-monitor.publishing-interval.um-client-stats

Value for the SRS configuration element <um-client-stats>.

um-srs.daemon-monitor.publishing-interval.connection-events

Value for the SRS configuration element <connection-events>.

um-srs.daemon-monitor.publishing-interval.srs-error-stats

Value for the SRS configuration element <srs-error-stats>.

um-srs.daemon-monitor.publishing-interval.um-client-error-stats

Value for the SRS configuration element <um-client-error-stats>.

um-srs.daemon-monitor.publishing-interval.config-opts

Value for the SRS configuration element <config-opts>.

um-srs.daemon-monitor.publishing-interval.internal-config-opts

Value for the SRS configuration element <internal-config-opts>.

um-srs.daemon-monitor.publish-connection-events.allow

Value for 'allow' attribute to SRS configuration element <publish-connection-events>.

um-srs.daemon-monitor.remote-snapshot-request.allow

Value for 'allow' attribute to SRS configuration element <remote-snapshot-request>.

um-srs.daemon-monitor.remote-config-changes-request.allow

Value for 'allow' attribute to SRS configuration element <remote-config-changes-request>.

um-srs.daemon-monitor.monitor-format

Value for the SRS configuration element <monitor-format>.

um-srs.daemon-monitor.lbm-attributes.lbmConfigOptionScope.lbmConfigOptionName A UM configuration option, as documented in Configuration Overview, where 'lbmConfigOptionScope' is the option scope ('context', 'source', etc) and 'lbmConfigOptionName' is the option name.


Message Type: INTERNAL_CONFIG_OPTS  <-

Message type INTERNAL_CONFIG_OPTS contains SRS internal configuration information. These options are not intended for application use.

EXAMPLE:

{
"monitorInfoCategory": "INTERNAL_CONFIG_OPTS",
"configOptions": [
{
"name": "um-srs.srs.otidmap.async-receiver-distribution",
"value": "false",
},
{
"name": "um-srs.srs.otidmap.shards",
"value": "4",
}
]
}

This example has two options. Be aware that a given message can have any number of option entries.

Overall structure of message:

Field

Description

monitorInfoCategory

Message type. Set to the string "INTERNAL_CONFIG_OPTS".

configOptions

Array of sub-structures, one per configuration option. The number and order of the contained options is not fixed.

. . configOptions[].name

Name of option (see below).

. . configOptions[].valueValue of option.

Meaning of each option:

Option Name

Description

um-srs.srs.otidmap.shards

Value for the SRS configuration element <shards> within element <otidmap>.

um-srs.srs.topicmap.shards

Value for the SRS configuration element <shards> within element <topicmap>.

um-srs.srs.routemap.shards

Value for the SRS configuration element <shards> within element <routemap>.

um-srs.srs.namemap.shards Value for the SRS configuration element <shards> within element <namemap>.


Request Type: REPORT_SRS_VERSION  <-

Request type REPORT_SRS_VERSION is sent by a monitoring application to determine the software version of the SRS.

{
"commandMessageType": "REPORT_SRS_VERSION"
}

The SRS will send a response of the form:

SRS Version 6.16.1


Request Type: REPORT_MONITOR_INFO  <-

Request type REPORT_MONITOR_INFO is sent by a monitoring application to initiate an immediate publishing of monitoring data.

The SRS will only process this request if the configuration contains <remote-snapshot-request allow="true"/>.

{
"commandMessageType": "REPORT_MONITOR_INFO",
"monitorInfoCategory": "SRS_STATS"
}

Where the "monitorInfoCategory" field is set to one of the following:

  • SRS_STATS
  • UM_CLIENT_STATS
  • CONNECTION_EVENTS
  • SRS_ERROR_STATS
  • UM_CLIENT_ERROR_STATS
  • CONFIG_OPTS
  • INTERNAL_CONFIG_OPTS

The SRS will send a response of the form:

snap SRS_STATS - OK!

Note that "SRS_STATS" is replaced by the requested category.


Request Type: SET_PUBLISHING_INTERVAL  <-

Request type SET_PUBLISHING_INTERVAL is sent by a monitoring application to Modify the publishing intervals for a running SRS. Note that SRS does not persist the new interval value; if the SRS is restarted, the value returns to the value configured via <daemon-monitor>.

The SRS will only process this request if the configuration contains <remote-config-changes-request allow="true"/>.

{
"commandMessageType": "SET_PUBLISHING_INTERVAL",
"monitorInfoCategory": "SRS_STATS",
"publishingInterval": 60000
}

Where the "monitorInfoCategory" field is set to one of the following:

  • SRS_STATS
  • UM_CLIENT_STATS
  • CONNECTION_EVENTS
  • SRS_ERROR_STATS
  • UM_CLIENT_ERROR_STATS
  • CONFIG_OPTS
  • INTERNAL_CONFIG_OPTS

The SRS will send a response of the form:

SRS_STATS 60000 - OK!

Note that "SRS_STATS" is replaced by the requested category.