Tracks component events and data flow with counters
Overview
Joule provides a simple Monitoring API, which tracks various operational metrics by incrementing or decrementing counters for different components, including custom processors, connectors and storage components.
Currently the monitoring API is limited to only publishing counter metrics using the below method
Metrics API
Every component within the Joule system has the ability to be monitored. This means any custom processor, transport or storage component inherits this feature within the component context.
The API includes methods to adjust counters for metrics (i.e., increment or decrement a value, set an initial value).
Available Methods
// Increment a metric by 1
void incrementMetric(Metric metric)
// Increment a metric by a delta
void incrementMetric(Metric metric, int delta)
// Decrement a metric by 1
void decrementMetric(Metric metric)
// Increment a metric by a delta
void decrementMetric(Metric metric, int delta)
// Initialises a metric to a given start value
void setMetric(Metric metric, long value)
Metric types
Metrics cover different system aspects:
ComponentsTracks counts for events received, processed, failed, discarded, etc.
Data storesRecords data read / write operations and byte volume.
Processing streamLogs start, shutdown, suspension and resumption times.
This is an enum data type which represents various classes of metrics which can be tracked over time.