Metrics
The eMessage Connector uses dropwizard/codahale to collect metrics. These metrics can be configured to be sent to a number of different destinations in the configuration file of the eMessage Connector. If you have not already configured the reporting of metrics, refer to Configuring Metrics Reporting.
The following table lists and describes some of the more important metrics that are gathered. Note that almost every metric listed below is stored as an incremental value, except for requestDuration, which records a duration of time in milliseonds.
Important Metrics
Type
Name
Description
Memory Usage
memory.memory-used
Represents the amount of memory currently used (in bytes).
total.committed
Represents the amount of memory (in bytes) that is guaranteed to be available for use by the Java virtual machine. The amount of committed memory may increase or decrease over time. The Java virtual machine may release memory to the system, and total.committed could be less than init. total.committed will always be greater than or equal to total.used.
Clients Connected
cxserver.connections.client
Reports the number of clients connected to the eMessage Connector.
Servers Connected
cxserver.connections.server
Reports the number of the ThingWorx Platforms that the eMessage Connector is connected to.
Messages Received
cxserver.server.messageRate
Reports the number of messages received from clients.
cxserver.client.messageRate
Reports the number of messages received from the ThingWorx Platform.
Message Throughput
cxserver.client.messageThroughputMeter
cxserver.server.messageThroughputMeter
Report the amount of data (in bytes) that has been received from clients or servers.
cxserver.client.messageThroughputHistogram
cxserver.server.messageThroughputHistogram
A histogram that reports the amount of data (in bytes) that has been received from clients or servers. These histograms record the same data as the messageRate metrics above, but they allow you to extract different types of data.
CPU Usage
cxserver.cpu.ProcessCPUTime
CPU time (or process time) is the amount of time that a CPU was used to process instructions of a computer program or operating system.
cxserver.cpu.ProcessLoad
The amount of load that the eMessage Connector is putting on the CPU.
File Descriptor ratio
cxserver.fileDescriptorRatio
The ratio of open file descriptors (or sockets) to the maximum number of file descriptors. If all file descriptors are in use, you cannot open any more sockets for network communication or opening files. If the ratio continues to increase, it can indicate that there is a file descriptor leak.
JVM Heap Usage
jvm.total.used
The amount of memory currently used (in GB).
The following table organizes by activities such as file transfers or the overall health of the Connector and shows and describes the metrics that would be useful to monitor and troubleshoot these activities:.
Useful for Monitoring and Troubleshooting
Metric
Description
Agent communication
cxserver.protocol.emessage.devicesProcessed
The number of devices (agents) processed in all eMessage requests received from Axeda agents.
If eMessage 1 contained messages from agents 5 and eMessage 2 contained messages from the same agents 5, then at that point in time, this metric would be set to 10
Agent pings
cxserver.protocol.emessage.lightweightPingsProcessed
Lightweight pings received from Axeda agents.
cxserver.protocol.emessage.conversions.PingRateConverter
PingRateConverter processed ping rate eMessage(s) from Axeda agents.
Alarm ingress
cxserver.protocol.emessage.conversions.AlarmConverter
AlarmConverter processed alarm eMessage(s) from Axeda agents.
Data Item ingress
cxserver.protocol.emessage.dataItemsProcessed
Data Items processed from Axeda agents. Each Data Item processed results in a ThingWorx property write.
cxserver.protocol.emessage.conversions.DataConverter
DataConverter processed data item eMessage(s) from Axeda agents.
Device state ingress
cxserver.protocol.emessage.conversions.DeviceStateConverter
DeviceStateConverter processed DeviceState eMessage(s) from Axeda agents.
Egress
cxserver.protocol.emessage.egressMessagesProcessed
Egress messages received from the ThingWorx Platform.
Event Ingress
cxserver.protocol.emessage.conversions.EventConverter
EventConverter processed event eMessage(s) from Axeda agents.
File downloads
cxserver.protocol.emessage.downloadRequestsProcessed
File download chunk requests received from Axeda agents.
cxserver.protocol.emessage.bytesSent
Bytes sent to Axeda agents when processing file download chunk requests.
cxserver.protocol.emessage.downloadEgressRequestsProcessed
File download egress messages received from the ThingWorx Platform.
File uploads
cxserver.protocol.emessage.uploadRequestsProcessed
Upload chunk requests received from Axeda agents.
cxserver.protocol.emessage.bytesReceived
Bytes received from Axeda agents when processing file upload chunk requests.
cxserver.protocol.emessage.uploadEgressRequestsProcessed
File upload egress messages received from the ThingWorx Platform
cxserver.protocol.emessage.conversions.UploadRequestConverter
UploadRequestConverter processed upload request eMessage(s) from Axeda agents.
File uploads/downloads
cxserver.protocol.emessage.packagesStarted
PackageStatus "Started" messages received from Axeda agents.
cxserver.protocol.emessage.packagesSucceeded
PackageStatus "Success" messages received from Axeda agents.
cxserver.protocol.emessage.packagesCancelled
PackageStatus "Canceled" messages received from Axeda agents.
cxserver.protocol.emessage.packagesErrored
PackageStatus "Error" messages received from Axeda agents.
cxserver.protocol.emessage.conversions.PackageStatusConverter
PackageStatusConverter processed package status updated from Axeda agents.
Managed device ingress
cxserver.protocol.emessage.conversions.ManagedDeviceConverter
ManagedDeviceConverter processed managed device eMessage(s) from Axeda agents.
Overall Connector health
cxserver.protocol.emessage.requestDuration
Time duration (millis) to process a eMessage request before sending back the SOAP response to the agent.
Overall connector health/Agent communication
cxserver.protocol.emessage.emessagesProcessed
eMessages requests received from Axeda agents.
Registration
cxserver.protocol.emessage.conversions.RegistrationConverter
RegistrationConverter processed registration eMessages(s) from Axeda agents.
Script status
cxserver.protocol.emessage.conversions.ScriptStatusConverter
ScriptStatusConverter processed script status eMessage(s) from Axeda agents.
Was this helpful?