Metrics Transport

A Serialization/Transportation library for Dropwizard Metrics

License

License

Categories

Categories

Metrics Application Testing & Monitoring Monitoring
GroupId

GroupId

io.github.mattcarrier.metrics.transport
ArtifactId

ArtifactId

metrics-transport-parent
Last Version

Last Version

0.4.0
Release Date

Release Date

Type

Type

pom
Description

Description

Metrics Transport
A Serialization/Transportation library for Dropwizard Metrics
Project URL

Project URL

https://github.com/mattcarrier/metrics-transport
Source Code Management

Source Code Management

https://github.com/mattcarrier/metrics-transport

Download metrics-transport-parent

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.mattcarrier.metrics.transport/metrics-transport-parent/ -->
<dependency>
    <groupId>io.github.mattcarrier.metrics.transport</groupId>
    <artifactId>metrics-transport-parent</artifactId>
    <version>0.4.0</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/io.github.mattcarrier.metrics.transport/metrics-transport-parent/
implementation 'io.github.mattcarrier.metrics.transport:metrics-transport-parent:0.4.0'
// https://jarcasting.com/artifacts/io.github.mattcarrier.metrics.transport/metrics-transport-parent/
implementation ("io.github.mattcarrier.metrics.transport:metrics-transport-parent:0.4.0")
'io.github.mattcarrier.metrics.transport:metrics-transport-parent:pom:0.4.0'
<dependency org="io.github.mattcarrier.metrics.transport" name="metrics-transport-parent" rev="0.4.0">
  <artifact name="metrics-transport-parent" type="pom" />
</dependency>
@Grapes(
@Grab(group='io.github.mattcarrier.metrics.transport', module='metrics-transport-parent', version='0.4.0')
)
libraryDependencies += "io.github.mattcarrier.metrics.transport" % "metrics-transport-parent" % "0.4.0"
[io.github.mattcarrier.metrics.transport/metrics-transport-parent "0.4.0"]

Dependencies

test (3)

Group / Artifact Type Version
junit : junit jar 4.12
nl.jqno.equalsverifier : equalsverifier jar 2.2.1
org.slf4j : slf4j-simple jar 1.7.22

Project Modules

  • metrics-serialization-core
  • metrics-serialization-kryo
  • metrics-serialization-serializer-tests
  • metrics-rabbit

metrics-transport

A serialization and transport library for Dropwizard Metrics.

Aggregate your metrics for easier storage and reporting by serializing and transporting them to a centralized service.

Available Serializers:

Available Transports:

Available Consumers:

Travis SonarQube Tech Debt Coveralls Maven Central

Usage

  1. Include the appropriate transport library
...
<dependency>
  <groupId>io.github.mattcarrier.metrics.transport</groupId>
  <artifactId>metrics-rabbit</artifactId>
  <version>0.4.0</version>
</dependency>
...
  1. Optional: Include a serialization library (will default to Java Serialiation if none available)
...
<dependency>
  <groupId>io.github.mattcarrier.metrics.transport</groupId>
  <artifactId>metrics-serialization-kryo</artifactId>
  <version>0.4.0</version>
</dependency>
...
  1. Include the appropriate consumption library
...
<dependency>
  <groupId>io.github.mattcarrier.metrics.transport</groupId>
  <artifactId>metrics-consumption-influxdb</artifactId>
  <version>0.5.0-SNAPSHOT</version>
</dependency>
...

4a. Serialization: Create and start the transport reporter

RabbitReporter reporter = new RabbitReporter.Builder(registry).metricMeta(metricMeta)
    .build(new RabbitClient.Builder().host(RABBIT_HOST).durable(false).autoDelete(true).build());
reporter.start(100, TimeUnit.MILLISECONDS);

4b. Deserialization: Create and start the consumer

RabbitClient client = new RabbitClient.Builder().build();
InfluxDbMetricConsumer consumer = new InfluxDbMetricConsumer.Builder().build();
client.consume("myConsumerTag", consumer);

Development

Metrics-Transport is built entirely using Docker and dobi.

Requirements

Build

dobi

Versions

Version
0.4.0
0.3.0
0.2.0