Metrics and Events
This section contains a list of the different metrics and events for the different instrumentations. Please note that the units described here in the meta data is just a textual representation of the units that the metrics will be collected and reported in regardless of any changes to this configuration. That means that for example changing a nanoseconds
to milliseconds
will not change the unit that the metric is collected and reported in. Changing the unit that for example times are reported in is something that has to be done in the plugin or reporter configuration.
Any metric or event can be disabled by setting the enabled
configuration to false
as described here. It is also possible to rate limit events to manage the amount of data being reported.
Akka Actor
Metric | Type | Description |
---|---|---|
ActorFailure | Event | when an actor fails, i.e. throws an exception. Event information: actor-ref — the actor failing cause — the exception being thrown
|
DeadLetter | Event | when a message is sent to an actor that no longer exists. Event information: recipient — the intended recipient of the message message — the message being sent actor-ref — the actor sending the message
|
Dropped messages | Rate | statistics for the number of messages dropped from bounded mailboxes per actor
|
LogError | Event | when an actor logs an error. Event information: actor-ref — the actor logging the error error — the error being logged
|
LogWarning | Event | when an actor logs a warning. Event information: actor-ref — the actor logging the warning warning — the warning being logged
|
Mailbox size | Recorder | statistics for actor mailbox sizes
|
MailboxSizeLimit | Event | mailbox queue grows too large. Event information: actor-ref — the actor whose mailbox size has exceeded the limit message — the message being enqueued in the mailbox size — the mailbox size limit — the mailbox size limit
|
Mailbox time | Recorder | statistics for the time that messages are in the mailbox
|
MailboxTimeLimit | Event | message has been in the mailbox for too long. Event information: actor-ref — the actor whose mailbox time has exceeded the limit message — the message being dequeued from the mailbox nanos — the mailbox time threshold-nanos — the mailbox time limit
|
Processed messages | Rate | the number of messages that actors have processed in the selected time frame
|
Processing time | Recorder | statistics for the processing time of actors
|
ProcessingTimeLimit | Event | message processing takes too long. Event information: actor-ref — the actor whose processing time has exceeded the limit message — the message that was just processed nanos — the processing time threshold-nanos — the processing time limit
|
Remote deserialization time | Recorder | statistics for the time that deserialization takes
|
Remote large message received | Event | a message larger than the threshold has been received Event information: actor-ref — the actor who is receiving the large message message-class — the message class of the large message size — the size in bytes of the large message sender — the sender of the large message
|
Remote large message sent | Event | a message larger than the threshold has been sent Event information: actor-ref — the actor who is sending the large message message-class — the message class of the large message size — the size in bytes of the large message recipient — the recipient of the large message
|
Remote received message size | Recorder | statistics for remote received message sizes
|
Remote received messages | Rate | statistics for the number received remote messages
|
Remote sent message size | Recorder | statistics for remote sent message sizes
|
Remote sent messages | Rate | statistics for the number sent remote messages
|
Remote serialization time | Recorder | statistics for the time that serialization takes
|
Actors (running) | Counter | the number of running actors (of an actor class or group)
|
Sent messages | Rate | statistics for the number of sent messages per actor
|
Stash size | Recorder | statistics for actor stash sizes
|
StashSizeLimit | Event | stash queue grows too large. Event information: actor-ref — the actor whose stash size has exceeded the limit message — the message being stashed size — the stash size limit — the stash size limit
|
UnhandledMessage | Event | when an actor does not handle a message sent to it. Event information: actor-ref — the actor not handling the message message — the message not being handled sender — the sender of the message
|
Akka Cluster
Metric | Type | Description |
---|---|---|
Cluster domain event | Event | cluster domain events like leader changed, role leader changed or cluster shutting down. Event information: event — type of domain event, e.g. LeaderChanged role — the role for the domain event if any
|
Cluster member event | Event | cluster member events like member up, unreachable, reachable, exited or removed. Event information: event — type of domain event, e.g. MemberUp version — node version member-status — member status, e.g. Joining previous-member-status — previous member status, e.g. Up
|
Node quarantined event | Event | node quarantine event information
|
Phi accrual value | GaugeDouble | statistics for the Phi accrual failure detector. A Phi value represents the connection between two nodes; self and remote. A self node can have a connection to any number of remote nodes and each connection will have its own Phi value. Note that internally in Akka the Phi accrual value can become Double.Infinity. If this happens Cinnamon will convert this value to 1024*1024. The reason for this is that most visualizers cannot handle infinity. If you therefore see the value 1048576 (1024*1024) this means that the Phi value has reached infinity.
|
Cluster current event | Event | a one time event, per cluster node, containing information about the state of the cluster
|
Cluster node status | Event | if cinnamon.akka.cluster.node-status is enabled one event per cluster member with the node status as seen from the emitting node. The events are emitted once on joining the cluster and then periodically. Interval for emitting is configured using cinnamon.akka.cluster.node-status-interval, default value is an interval of 30 seconds.
|
Cluster singleton event | Event | cluster singleton events with information about node, actor singleton class and name. Event information: event — type of singleton event, e.g. started class — singleton actor class actor — singleton actor name
|
Node unable to join event | Event | cluster node unable to join event with information about seed nodes and number of attempts to join
|
Phi accrual thresdhold value | GaugeDouble | the configured Phi accrual threshold value
|
Reachable nodes | Counter | number of reachable nodes in the cluster at any point in time
|
Shard region count value | GaugeLong | number of shards regions per node
|
Shard region event | Event | cluster shard region started/stopped event with information about actor, node, type name and type of shard region. Event information: event — type of shard region event, e.g. STARTED shard-region-actor — the actor controlling the shard region type-name — the entity type name of the shard region
|
Shard region proxy event | Event | cluster shard region started/stopped event with information about actor, node, type name and type of shard region proxy. Event information: event — type of shard region event, e.g. STARTED shard-region-actor — the actor controlling the shard region type-name — the entity type name of the shard region
|
Split brain resolver event | Event | Split brain resolver decision taken event with information about the decision, reachable and unreachable nodes. Event information: decision — type of SBR decision, e.g. DownUnreachable nodes — the nodes that this node finds reachable unreachable-nodes — the nodes that this node finds unreachable
|
Unreachable nodes | Counter | number of unreachable nodes in the cluster at any point in time
|
Shard count value | GaugeLong | number of shards per shard region
|
Shard region messages delivered | Rate | statistics for the number of messages that have been delivered by the shard region actor (regardless of where the shard resides)
|
Shard entity count value | GaugeLong | number of shard entities per shard
|
Akka Dispatcher (All time metrics)
Metric | Type | Description |
---|---|---|
Processing | Counter | how many tasks are being processed right now
|
Processing time | Recorder | statistics for how long the processing takes
|
Queue size | Counter | the number of tasks waiting to be processed
|
Queue time | Recorder | statistics for how long tasks are in the queue
|
Akka Dispatcher (Fork-Join)
Metric | Type | Description |
---|---|---|
Active thread count | ProvidingGaugeLong | an estimate of the number of threads running or stealing tasks
|
Parallelism | ProvidingGaugeLong | the parallelism setting
|
Pool size | ProvidingGaugeLong | the current size of the thread pool
|
Queued task count | ProvidingGaugeLong | an estimate of the total number of tasks currently in queues
|
Runnning thread count | ProvidingGaugeLong | an estimate of the number of threads not blocked in managed synchronization
|
Akka Dispatcher (Pinned)
Metric | Type | Description |
---|---|---|
Active thread count | GaugeLong | an estimate of the number of threads running tasks
|
Pool size | GaugeLong | the current size of the pinned thread pool
|
Runnning thread count | GaugeLong | an estimate of the total number of currently runnning threads
|
Akka Dispatcher (Thread-Pool)
Metric | Type | Description |
---|---|---|
Active thread count | ProvidingGaugeLong | an estimate of the number of threads running tasks
|
Core pool size | ProvidingGaugeLong | the minimum size of the thread pool
|
Max pool size | ProvidingGaugeLong | the maximum size of the thread pool
|
Pool size | ProvidingGaugeLong | the current size of the thread pool
|
Processed task count | ProvidingGaugeLong | an estimate of the number of processed tasks
|
Akka Http Client
Metric | Type | Description |
---|---|---|
Akka HTTP client connections | Counter | the number of connections used in a pool
|
Akka HTTP client requests | Rate | the rate of requests from a client to a service
|
Akka HTTP client service response time | Recorder | the time for responses from a service
|
Akka Http Server
Metric | Type | Description |
---|---|---|
Outgoing endpoint response time | Recorder | the time for responses per endpoint
|
Outgoing endpoint response time 2xx | Recorder | the time for endpoint responses with 200-299 status codes (optional)
|
Outgoing endpoint response time 3xx | Recorder | the time for endpoint responses with 300-399 status codes (optional)
|
Outgoing endpoint response time 4xx | Recorder | the time for endpoint responses with 400-499 status codes (optional)
|
Outgoing endpoint response time 5xx | Recorder | the time for endpoint responses with 500-599 status codes (optional)
|
Outgoing endpoint responses | Rate | the rate of responses per endpoint
|
Outgoing endpoint responses 2xx | Rate | the rate of endpoint responses with 200-299 status codes (optional)
|
Outgoing endpoint responses 3xx | Rate | the rate of endpoint responses with 300-399 status codes (optional)
|
Outgoing endpoint responses 4xx | Rate | the rate of endpoint responses with 400-499 status codes (optional)
|
Outgoing endpoint responses 5xx | Rate | the rate of endpoint responses with 500-599 status codes (optional)
|
Incoming connections | Rate | the rate of connections per server
|
Incoming requests | Rate | the rate of requests per server
|
Outgoing response time | Recorder | the time for responses per server
|
Outgoing response time 2xx | Recorder | the time for responses with 200-299 status codes per server
|
Outgoing response time 3xx | Recorder | the time for responses with 300-399 status codes per server
|
Outgoing response time 4xx | Recorder | the time for responses with 400-499 status codes per server
|
Outgoing response time 5xx | Recorder | the time for responses with 500-599 status codes per server
|
Outgoing responses | Rate | the rate of responses per server
|
Outgoing responses 2xx | Rate | the rate of responses with 200-299 status codes per server
|
Outgoing responses 3xx | Rate | the rate of responses with 300-399 status codes per server
|
Outgoing responses 4xx | Rate | the rate of responses with 400-499 status codes per server
|
Outgoing responses 5xx | Rate | the rate of responses with 500-599 status codes per server
|
Akka Persistence (Classic / Typed)
Metric | Type | Description |
---|---|---|
Active entities | Counter | number of active entities (in-memory, excludes passivated entities)
|
Command in-stash time | Recorder | time that commands spend in the stash. See Akka Persistence internal stash for the details
|
RecoveryPermitter max permits | GaugeLong | max number of permits (set via Akka configuration)
|
RecoveryPermitter pending entities | Recorder | number of entities waiting for a permit to start recovery
|
Persist failed | Event | Event created whenever a message persist fails. Event information: actor-ref — the actor failing to persist an event failure — the exception that occurred event — the event that failed if available sequence-number — the event sequence number
|
Persist rejected | Event | Event created whenever a message persist is rejected. Event information: actor-ref — the actor failing to persist an event failure — the exception that occurred event — the event that failed if available sequence-number — the event sequence number
|
Persisted events | Rate | number of persisted events acknowledged by the journal
|
Event persistence time | Recorder | time from the moment the persist/persistAll method was called to the moment when it was acknowledged by the journal
|
Command processing time | Recorder | time for processing the command excluding time spent in the mailbox or stash
|
Received commands | Rate | number of received commands
|
Recovery failed | Event | Event created whenever a message replay fails. Event information: actor-ref — the actor trying to recover failure — the exception that occurred event — the event that failed if available recovery-failure-time — the time in nanoseconds
|
Recovery failure time | Recorder | failure recovery time for a persistent entity (in case of failure)
|
Recovery time | Recorder | total time for recovery of a persistent entity (includes waiting for a recovery permit, and fetching and replaying events and snapshots from the journal)
|
RecoveryPermitter used permits | Recorder | number of used permits
|
Akka Projection
Metric | Type | Description |
---|---|---|
Handler Error | Rate | error rate during the envelope processing. If you use a handler strategy including a retry operation this number will increase
|
Handler Error Warning | Event | handler error event
|
Handler Success | Counter | number of processed envelopes or number of times an envelope handler ran successfully
|
Offset Success | Counter | number of envelopes marked as processed or number of offset positions advanced
|
Projection Count | Counter | number of running projections. This is a counter of instances so if you run a sharded projection the counter will indicate the number of shards.
|
Projection Failure | Rate | failure rate for projections. Failures indicate the projection required restarting
|
Projection Failure Warning | Event | projection failure event
|
Residence Time | Recorder | time (in milliseconds) spent since the creation of the envelope until its offset was committed
|
Service Time | Recorder | time (in nanoseconds) from the instant the envelope was considered ready until the projected data was available for reading. Note this time doesn’t include the period until data being readable and the offset being committed. As a consequence, when using at-least-once semantics, this metric will be reported for every envelope handler completing successfully (even if storing the offset failed and the envelope is retried)
|
Wait Time | Recorder | time (in milliseconds) an envelope spent on the queue/broker/journal. This is the time since the envelope was created until it was read, deserialized, and considered ready to be processed by the projection. This metric depends on the type of source since some sources don’t provide the creation timestamp. At the same time, some producers record the creation time in the producing process, while others record the timestamp on the database/broker when accepting the envelope. Note this metric is affected by existing time skew between nodes on your infrastructure
|
Akka Router
Metric | Type | Description |
---|---|---|
Router processing time | Recorder | statistics for the processing time of the router logic
|
Router routed messages | Rate | the number of messages that routers have processed in the selected time frame
|
Akka Stream
Metric | Type | Description |
---|---|---|
Akka Stream boundary demand | Rate | the rate of demand on an internal async boundary (includes batched demand requests)
|
Akka Stream boundary demand processing time | Recorder | the time for processing demand requests on an internal async boundary
|
Akka Stream boundary processing time | Recorder | the time for processing elements pushed downstream on an internal async boundary
|
Akka Stream boundary throughput | Rate | the rate of events that have been processed on an internal async boundary
|
Akka Stream connection demand | Rate | the rate of demand on a connection
|
Akka Stream connection demand latency | Recorder | the time spent waiting for demand from downstream (the time from providing an element downstream with a push to starting to process demand from a pull)
|
Akka Stream connection demand processing time | Recorder | the time for processing demands on a connection
|
Akka Stream connection latency | Recorder | the time spent waiting for elements from upstream (the time from demanding an element upstream with a pull to starting to process an element from a push)
|
Akka Stream connection processing time | Recorder | the time for processing elements pushed downstream on a connection
|
Akka Stream connection throughput | Rate | the rate of elements that have been processed on a connection
|
Akka Stream flow active time | Recorder | the active time during the flow, provided by the Stopwatch, and allowing flow efficiency to be measured
|
Akka Stream flow efficiency | Recorder | the efficiency of end-to-end flows, based on how much time was spent actively processing as compared with waiting. Recorded as a percentage using active time / total flow time
|
Akka Stream end-to-end flow time | Recorder | the time for elements to flow through the stream from sources to sinks (uses a Stopwatch internally)
|
Akka Stream operator demand | Rate | the rate of demand on an operator
|
Akka Stream operator demand latency | Recorder | the time spent waiting for demand from downstream (the time from providing an element downstream with a push to starting to process demand from a pull)
|
Akka Stream operator demand processing time | Recorder | the time for processing demands on an operator
|
Akka Stream operator flow time | Recorder | the time for elements to flow through the stream from sources to being completed by an operator, providing a progress metric for flows
|
Akka Stream operator latency | Recorder | the time spent waiting for elements from upstream (the time from demanding an element upstream with a pull to starting to process an element from a push)
|
OperatorFailure | Event | event when an operator fails
|
Akka Stream operator processing time | Recorder | the time for processing elements through an operator
|
Akka Stream operators (running) | Counter | the number of operator instances currently running (as identified by reporting configuration)
|
Akka Stream operator throughput | Rate | the rate of elements that have been processed by an operator
|
Akka Stream operators (running) | Counter | the total number of operators currently running per stream (as identified by reporting configuration)
|
Akka Streams (running) | Counter | the number of streams currently running (as identified by reporting configuration)
|
Akka Stream throughput | Rate | the rate of elements being processed by a stream as a whole (measured at the sinks)
|
Ask Pattern
Metric | Type | Description |
---|---|---|
Asked requests | Rate | the number of messages that actors have been asked in the selected time frame
|
Expired request event | Event | when request expires before the response arrived Event information: actor-ref — the actor being asked the message message — the message being sent timeout — the given timeout
|
Expired requests | Rate | the number of requests that timed out in the selected time frame grouped by specified timeout values
|
Expired requests | Rate | the number of requests that timed out in the selected time frame grouped by specified timeout values
|
Failed request event | Event | when the actor responses with akka.actor.Status.Failure (only Akka Classic) Event information: actor-ref — the actor being asked the message message — the message being sent cause — the exception returned with a failure response
|
Late response time | Recorder | the time from the moment the message was sent till the moment when the answer was received, counting only responses received after timeout
|
Success response time | Recorder | the time from the moment the message was sent till the moment when the answer was received and before the specified timeout, counting only successful responses
|
Cinnamon Stopwatch
Metric | Type | Description |
---|---|---|
Stopwatch active time | Recorder | the time spent actively in actor message processing, stream operators, or future callbacks, as compared with the time in actor mailboxes or waiting to be scheduled
|
Stopwatch rate | Rate | the rate of stopwatch runs
|
Stopwatch time | Recorder | the total elapsed time between the start and stop endpoints of a flow
|
StopwatchTimeLimit | Event | stopwatch interval threshold exceeded event with the limit and actual time in nanos
|
Java Future
Metric | Type | Description |
---|---|---|
Java Future completing time | Recorder | the time from creation to completing the CompletableFuture
|
Java Futures created | Rate | the rate of CompletableFutures being created (for a given name)
|
Java Futures processed | Rate | the rate of futures/callbacks being processed (marked when the future/callback has finished running)
|
Java Future processing time | Recorder | the time that futures/callbacks take to run
|
Java Futures scheduled | Recorder | the number of futures currently scheduled (includes both future async sources and completion callbacks)
|
Java Future scheduling time | Recorder | the time that futures/callbacks are in scheduling (in executor queues waiting to run)
|
Scala Future
Metric | Type | Description |
---|---|---|
Scala Future completing time | Recorder | the time from creation to completing the underlying Promise for this Future
|
Scala Futures created | Rate | the rate of Futures being created (for a given name)
|
Scala Futures processed | Rate | the rate of Futures/callbacks being processed (marked when the Future/callback has finished running)
|
Scala Future processing time | Recorder | the time that Futures/callbacks take to run
|
Scala Futures scheduled | Recorder | the number of Futures currently scheduled (includes both Future runnables and Future callbacks)
|
Scala Future scheduling time | Recorder | the time that Futures/callbacks are in scheduling (in execution context queues waiting to run)
|