haystack-client-metrics-dropwizard

Dropwizard metrics for the haystack library

License

License

Categories

Categories

DropWizard Container Microservices CLI User Interface Metrics Application Testing & Monitoring Monitoring
GroupId

GroupId

com.expedia.www
ArtifactId

ArtifactId

haystack-client-metrics-dropwizard
Last Version

Last Version

0.4.0
Release Date

Release Date

Type

Type

jar
Description

Description

haystack-client-metrics-dropwizard
Dropwizard metrics for the haystack library

Download haystack-client-metrics-dropwizard

How to add to project

<!-- https://jarcasting.com/artifacts/com.expedia.www/haystack-client-metrics-dropwizard/ -->
<dependency>
    <groupId>com.expedia.www</groupId>
    <artifactId>haystack-client-metrics-dropwizard</artifactId>
    <version>0.4.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.expedia.www/haystack-client-metrics-dropwizard/
implementation 'com.expedia.www:haystack-client-metrics-dropwizard:0.4.0'
// https://jarcasting.com/artifacts/com.expedia.www/haystack-client-metrics-dropwizard/
implementation ("com.expedia.www:haystack-client-metrics-dropwizard:0.4.0")
'com.expedia.www:haystack-client-metrics-dropwizard:jar:0.4.0'
<dependency org="com.expedia.www" name="haystack-client-metrics-dropwizard" rev="0.4.0">
  <artifact name="haystack-client-metrics-dropwizard" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.expedia.www', module='haystack-client-metrics-dropwizard', version='0.4.0')
)
libraryDependencies += "com.expedia.www" % "haystack-client-metrics-dropwizard" % "0.4.0"
[com.expedia.www/haystack-client-metrics-dropwizard "0.4.0"]

Dependencies

compile (2)

Group / Artifact Type Version
com.expedia.www : haystack-client-metrics-api jar 0.4.0
org.slf4j : slf4j-api jar 1.7.25

provided (1)

Group / Artifact Type Version
io.dropwizard.metrics : metrics-core jar 4.0.2

test (5)

Group / Artifact Type Version
junit : junit jar 4.12
org.mockito : mockito-core jar 1.9.5
io.opentracing : opentracing-mock jar 0.33.0
io.opentracing : opentracing-noop jar 0.33.0
org.awaitility : awaitility jar 3.0.0

Project Modules

There are no modules declared in this project.

Build Status codecov License

Haystack Client Java

Haystack client java is an OpenTracing compatible library which is used to capture information about distributed operations and report them to haystack

Opentracing API usage has been documented at https://github.com/opentracing/opentracing-java.

OpenTracing version compatibility

The current OpenTracing version 0.33 has introduced backwards incompatible changes with all previous versions. Please make sure that your dependencies on OpenTracing align to the 0.33 version to avoid runtime issues.

Examples

You can look at our sample projects for how to trace a simple web application

Contributing and Developing

Please see CONTRIBUTING.md

Core Modules

haystack-client-core - library provides an implementation of io.opentracing.Tracer that sends spans to Haystack server.

Addon Modules

haystack-client-metrics-micrometer: metrics provider backed by micrometer, to report internal Haystack Client metrics to third-party backends, such as Prometheus

haystack-client-metrics-dropwizard: metrics provider backed by dropwizard-metrics, to report internal Haystack Client metrics to third-party backends, such as Graphite

haystack-client-metrics-api: metrics api consumed by haystack-client-core to report internal Haystack Client metrics. By default its bundled with a NoOp metrics dispatcher, add any of the obove dependencies to push the client metrics.

Importing Dependencies

All artifacts are published to Maven Central. Snapshot artifacts are also published to [Sonatype][sonatype]. Follow these [instructions][sonatype-snapshot-instructions] to add the snapshot repository to your build system.

Please use the latest version: [![Released Version][maven-img]][maven]

In the usual case, you just need to include the following dependency to your project:

<dependency>
  <groupId>com.expedia.www</groupId>
  <artifactId>haystack-client-java-core</artifactId>
  <version>$latestClientVersion</version>
  <type>pom</type>
</dependency>

Integrations

In case your apps are already wired in with some kind of instrumentation library other than OpenTracing you could refer to the below links based on your usecase

License

This project is licensed under the Apache License v2.0 - see the LICENSE.txt file for details.

Benchmarks

We have published our benchmarks here

com.expedia.www

Expedia.com

Versions

Version
0.4.0
0.3.0
0.2.9
0.2.8
0.2.7
0.2.6