Lagom

As of version 1.4 Lightbend’s Lagom framework, Lightbend Telemetry has support for both server and client metrics. Also, Lagom microservices contains built-in circuit breakers that can be instrumented with Lightbend Telemetry.

Note: Lightbend Telemetry will not collect any metrics in Lagom development mode, e.g., when using runAll. The reason for this is that runAll does not fork the JVM when running and a forked JVM is something the Cinnamon agent needs to be able to instrument the Akka code.

Cinnamon Lagom module dependency

Add the Cinnamon Lagom dependency to your build file:

sbt
libraryDependencies += Cinnamon.library.cinnamonLagom
Maven
<dependency>
    <groupId>com.lightbend.cinnamon</groupId>
    <artifactId>cinnamon-lagom_2.11</artifactId>
    <version>2.9.2</version>
</dependency>
Gradle
dependencies {
  compile group: 'com.lightbend.cinnamon', name: 'cinnamon-lagom_2.11', version: '2.9.2'
}

Lagom server metrics

  • Connections (rate) — the rate of connections per server.

  • Requests (rate) — the rate of requests per server.

  • Responses (rate) — the rate of responses per server.

  • Responses 2xx (rate) — the rate of responses with 200-299 status codes per server.

  • Responses 3xx (rate) — the rate of responses with 300-399 status codes per server.

  • Responses 4xx (rate) — the rate of responses with 400-499 status codes per server.

  • Responses 5xx (rate) — the rate of responses with 500-599 status codes per server.

  • Response time (recorder) — the time for responses per server.

  • Response time 2xx (recorder) — the time for responses with 200-299 status codes per server.

  • Response time 3xx (recorder) — the time for responses with 300-399 status codes per server.

  • Response time 4xx (recorder) — the time for responses with 400-499 status codes per server.

  • Response time 5xx (recorder) — the time for responses with 500-599 status codes per server.

Note: Server metrics are created automatically when the Cinnamon Lagom module dependency is added. It is possible to turn server metrics off via configuration.

Lagom server endpoint metrics

The following metrics are recorded for configured endpoints.

  • Endpoint responses (rate) — the rate of responses per endpoint.

  • Endpoint response time (recorder) — the time for responses per endpoint.

Note: By default, no metrics are created for endpoints. Lagom Configuration is used to instruct Cinnamon what endpoints to create metrics for.

Lagom client metrics

The following metrics are recorded for instrumented Play WS clients, metric in parentheses:

Client metrics

  • Requests (rate) — the rate of requests from a client to a service.

  • Service response time (recorder) — the time for responses from a service.

Note: By default, no metrics are created for endpoints. Lagom Configuration is used to instruct Cinnamon what endpoints to create metrics for.

Lagom request tracing

Request tracing is supported through the Cinnamon OpenTracing integration. See Lagom configuration for OpenTracing.