Skip to main content

Rocos Diagnostics

The Rocos Diagnostics Plugin provides diagnostic information about the DroneDeploy Agent itself, which can be used to diagnose issues, or optimise telemetry performance in view of your network conditions and application requirements.

Configuration

Configuration settings of the Rocos Diagnostics Plugin can be configured via an appropriate section in the agent's agent-settings.json configuration file. However, unlike other plugins, the Rocos Diagnostics Plugin will always be enabled, even if the enabled flag is set false, or if there is no matching section included in the configuration file (in which case the plugin will use default settings). For more information on how to configure the agent plugins, see Agent Configuration.

Note

The Rocos Diagnostics (rocos) plugin cannot be disabled, and any changes to its configuration will not take affect until the Agent is restarted.

...
"components": [
...
{
"enabled": true,
"id": "rocos",
"settings": {
"logLevel": 4,
"heartbeatPeriod": 1000
}
},
...
]

The Rocos Diagnostics plugin understands the following configuration parameters:

NameDescriptionDefaultUnits
logLevelThe logging verbosity: from 1 (very quiet) to 6 (very talkative).4
heartbeatPeriodThe period with which the Agent should generate a telemetry heartbeat message, which is used by the Robot Automation Platform to detect whether the robot is online or not. Since the heartbeat is always transmitted, lengthening the heartbeat period will reduced network data consumption, but will impact the latency with which changes in robot connectivity can be detected.1000ms

Data Model

Data URIDescriptionUnitExample
/agent/diagnostics/heapAllocThe size of the heap memory which has been allocated to the Agent.B999
/agent/diagnostics/numGoRoutinesThe number of separate routines the Agent is running.999
/agent/diagnostics/stackTraceThe current stack trace of the Agent as it runs, including all routines.Stack Trace: 71078/196608 Bytes

goroutine 79 [running]:

...
/agent/logsAn array of console log entries, which allow reconstructing the console log output of the Agent.{<br/> "entries": [<br/> {<br/> "time": 1580872815141572600,<br/> "level": "info",<br/> "message": "teleop-sender - client subscribed to: /rocos/agent/logs",<br/> "fields": {<br/> "component": "teleop-sender",<br/> "module": "teleop-sender"<br/> }<br/> } ]<br/>}
/agent/subscription-manager/subscriptionsA list in string format of the current message subscriptions the agent is sending, and the plugin which is consuming each./rocos/agent/diagnostics/heapAlloc (to: /persistent-sender)<br/>/rocos/agent/diagnostics/numGoRoutines (to: /persistent-sender)<br/>/rocos/agent/logs (to: /persistent-sender)<br/>/rocos/agent/subscription-manager/subscriptions (to: /persistent-sender /teleop-platform)<br/>/rocos/agent/telemetry/heartbeat (to: /teleop-platform)<br/>/rocos/agent/teleop-sender/teleop-platform/txBytesSent (to: /persistent-sender)
/agent/telemetry/heartbeatA message containing a timestamp used by the Robot Automation Platform to determine whether the Agent is connected or not.{<br/> "tim": 1580873228924<br/>}
/agent/<name>/txBytesSentThe number of message payload bytes which were successfully transmitted upstream in the last second. Note that this measures the uncompressed payload size, not including any transmission overhead.B/s999
/agent/<name>/txMsgsDroppedTTLThe number of messages which were dropped from the transmission queue because they expired in the last second.msg/s999
/agent/<name>/txMsgsQueuedThe number of messages which were added to the transmission queue in the last second.msgs/s999
/agent/<name>/txMsgsSentThe number of messages which were successfully transmitted upstream in the last second.msgs/s999
/agent/<name>/txQueueSizeThe number of messages currently in the transmission queue.999
/agent/<name>/wiresizeDownThe number of bytes received downstream in the last second. Note this consists entirely of the message overhead for upstream telemetry messages.B/s999
/agent/<name>/wiresizeUpThe number of bytes transmitted upstream in the last second. Note this measures the compressed payload size, and includes any transmission overhead, including from failed transmission attempts.B/s999
/agent/versionContains information on the current version of the Agent, and the version of the Component Configuration which the Agent is currently using.{"agent": "0.1.2-dev", "build":"fae0710b65a4a0036f987520ae1011911e83249e", "config": "3.205-tb-sim"}