Akka Streams
Lightbend Telemetry is capable of capturing data for the following Akka Streams related features.
Cinnamon Akka Stream dependency
After adding the Cinnamon Agent as described in the setup, make sure that you add the Cinnamon Akka Stream module dependency to your build file:
- sbt
-
libraryDependencies += Cinnamon.library.cinnamonAkkaStream
- Maven
-
<dependency> <groupId>com.lightbend.cinnamon</groupId> <artifactId>cinnamon-akka-stream_2.13</artifactId> <version>2.20.4</version> </dependency>
- Gradle
-
dependencies { implementation group: 'com.lightbend.cinnamon', name: 'cinnamon-akka-stream_2.13', version: '2.20.4' }
Terminology
Cinnamon aligns its terminology with Akka. You can find definitions for terminology used in the documentation for Akka Streams.
Akka Stream metrics
The following metrics are recorded for instrumented Akka Streams, type of metric in parentheses:
-
Running streams (counter) — the number of streams currently running (as identified by reporting configuration).
-
Running operators per stream (counter) — the total number of operators currently running per stream (as identified by reporting configuration).
-
Running operators (counter) — the number of operator instances currently running (as identified by reporting configuration).
-
Stream throughput (rate) — the rate of elements being processed by a stream as a whole (measured at the sinks).
-
Operator throughput (rate) — the rate of elements that have been processed by an operator.
-
Operator processing time (recorder) — the time for processing elements through an operator.
Throughput and processing time metrics are illustrated in this diagram:
Akka Stream events
The following events are recorded for instrumented Akka Streams:
- Operator failure — event when an operator fails.
Akka Stream extended metrics
In addition to the core metrics described above, extended metrics can be enabled for recording end-to-end flow time, stream demand, latency, and per connection metrics.
Akka Stream configuration
To configure telemetry for Akka Streams see:
To configure extended telemetry for Akka Streams see:
Akka Stream telemetry use cases
Some telemetry use cases for Akka Streams describe how the metrics can be used for performance analysis and illustrate what to expect.