com.github.kevinconaway:akka-dropwizard-agent

Dropwizard Metrics for Akka Actors

License

License

Categories

Categories

DropWizard Container Microservices Akka Reactive libraries
GroupId

GroupId

com.github.kevinconaway
ArtifactId

ArtifactId

akka-dropwizard-agent
Last Version

Last Version

1.2
Release Date

Release Date

Type

Type

jar
Description

Description

Dropwizard Metrics for Akka Actors

Download akka-dropwizard-agent

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.kevinconaway/akka-dropwizard-agent/ -->
<dependency>
    <groupId>com.github.kevinconaway</groupId>
    <artifactId>akka-dropwizard-agent</artifactId>
    <version>1.2</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.kevinconaway/akka-dropwizard-agent/
implementation 'com.github.kevinconaway:akka-dropwizard-agent:1.2'
// https://jarcasting.com/artifacts/com.github.kevinconaway/akka-dropwizard-agent/
implementation ("com.github.kevinconaway:akka-dropwizard-agent:1.2")
'com.github.kevinconaway:akka-dropwizard-agent:jar:1.2'
<dependency org="com.github.kevinconaway" name="akka-dropwizard-agent" rev="1.2">
  <artifact name="akka-dropwizard-agent" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.kevinconaway', module='akka-dropwizard-agent', version='1.2')
)
libraryDependencies += "com.github.kevinconaway" % "akka-dropwizard-agent" % "1.2"
[com.github.kevinconaway/akka-dropwizard-agent "1.2"]

Dependencies

provided (2)

Group / Artifact Type Version
com.github.kevinconaway : akka-dropwizard-metrics jar 1.2
org.springframework.boot : spring-boot-loader Optional jar 2.0.3.RELEASE

test (4)

Group / Artifact Type Version
net.bytebuddy : byte-buddy-agent jar 1.8.12
com.typesafe.akka : akka-testkit_2.12 jar 2.5.11
junit : junit jar 4.12
org.assertj : assertj-core jar 3.9.1

Project Modules

There are no modules declared in this project.

Dropwizard Metrics for Akka Actors

build status

This project instruments an Akka ActorSystem to provide Dropwizard metrics for Actors. Currently, the following metrics are captured:

  • A Gauge for the size of an Actors mailbox
  • A Timer measuring how long a message sits in an Actors mailbox

Usage

This project is composed of two modules:

  • akka-dropwizard-agent, a java agent which performs the ActorSystem instrumentation
  • akka-dropwizard-metrics which contains the code to configure the agent.

First, include the akka-dropwizard-metrics module in your project:

    <dependency>
        <groupId>com.github.kevinconaway</groupId>
        <artifactId>akka-dropwizard-metrics</artifactId>
        <version>1.2</version>
    </dependency>

There is a singleton configuration class, AkkaDropwizard that must be configured before the ActorSystem is created

MetricRegistry registry = ...
AkkaDropwizard.configure(registry);

By default, the metrics will be stored under a root prefix called actor-metrics. You can customize this by providing an instance of AkkaDropwizardSettings to AkkaDropwizard

AkkaDropwizardSettings settings = ...
MetricRegistry registry = ...
AkkaDropwizard.configure(registry, settings);

The instrumentation is performed by a java agent that you need to run with your application. Add the following argument to your VM startup properties:

-javaagent:/path/to/akka-dropwizard-agent-1.2.jar

Compatibility Matrix

Below are the versions Akka and Dropwizard that this library uses in each version

This Project Akka Version Dropwizard Version Spring Boot Version
1.0 2.5.x (Scala 2.12) 3.2.x N/A
1.1 2.5.x (Scala 2.12) 3.2.x 2.0.x
1.2 2.5.x (Scala 2.12) 3.2.x 2.0.x

Versions

Version
1.2
1.1
1.0