Metrics Serialization Core

Core library for metrics serialization with default Java serializer

License

License

Categories

Categories

Metrics Application Testing & Monitoring Monitoring Serialization Data Data Formats
GroupId

GroupId

io.github.mattcarrier.metrics.transport
ArtifactId

ArtifactId

metrics-serialization-core
Last Version

Last Version

0.4.0
Release Date

Release Date

Type

Type

jar
Description

Description

Metrics Serialization Core
Core library for metrics serialization with default Java serializer

Download metrics-serialization-core

How to add to project

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

Dependencies

compile (3)

Group / Artifact Type Version
com.google.guava : guava jar 21.0
io.dropwizard.metrics : metrics-core jar 3.2.2
org.reflections : reflections jar 0.9.11

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

There are no modules declared in this project.

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
0.1.0