Dogstatd Client

Java client for DogStatD

License

License

Categories

Categories

CLI User Interface
GroupId

GroupId

org.honton.chas
ArtifactId

ArtifactId

dogstatd-client
Last Version

Last Version

0.0.3
Release Date

Release Date

Type

Type

jar
Description

Description

Dogstatd Client
Java client for DogStatD
Project URL

Project URL

https://github.com/chonton/dogstatd-client
Source Code Management

Source Code Management

https://github.com/chonton/dogstatd-client

Download dogstatd-client

How to add to project

<!-- https://jarcasting.com/artifacts/org.honton.chas/dogstatd-client/ -->
<dependency>
    <groupId>org.honton.chas</groupId>
    <artifactId>dogstatd-client</artifactId>
    <version>0.0.3</version>
</dependency>
// https://jarcasting.com/artifacts/org.honton.chas/dogstatd-client/
implementation 'org.honton.chas:dogstatd-client:0.0.3'
// https://jarcasting.com/artifacts/org.honton.chas/dogstatd-client/
implementation ("org.honton.chas:dogstatd-client:0.0.3")
'org.honton.chas:dogstatd-client:jar:0.0.3'
<dependency org="org.honton.chas" name="dogstatd-client" rev="0.0.3">
  <artifact name="dogstatd-client" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.honton.chas', module='dogstatd-client', version='0.0.3')
)
libraryDependencies += "org.honton.chas" % "dogstatd-client" % "0.0.3"
[org.honton.chas/dogstatd-client "0.0.3"]

Dependencies

compile (1)

Group / Artifact Type Version
org.slf4j : slf4j-api jar 1.7.21

provided (1)

Group / Artifact Type Version
org.projectlombok : lombok jar 1.16.6

test (2)

Group / Artifact Type Version
ch.qos.logback : logback-classic jar 1.1.7
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

dogstatd-client

A java client to push UDP messages to a local dogstatd.

Javadoc and build reports are available.

Requirements

  • Minimal latency in the mainline processing
  • Some, but not extreme buffering of outgoing messages
  • Non-blocking write of UDP message
  • Thread-safe sender
  • Lack of dogstatd collector will be noted, but not cause failure of mainline processing

Assumptions

  • A local (on the same host) dogstatd collector
  • Firing a UDP message per application event will be cheaper than in-process aggregation of events

Use with Maven

To include dogstatd-client in your maven build, use the following fragment in your pom.

      <dependency>
        <groupId>org.honton.chas</groupId>
        <artifactId>dogstatd-client</artifactId>
        <version>0.0.3</version>
      </dependency>

Typical Java Use

In setup code

  // you only need a single instance, Sender is thread safe and send method does not block caller
  static public final Sender METRICS = new Sender();

Sending some example metrics

  METRICS.send(new Histogram("histogram.name", latency);
  
  METRICS.send(new Gauge("round", i, tag));
  
  METRICS.send(new Counter("pi", 3.14));
  
  METRICS.send(new Event("title", "message", "tag1", "tag2"));

0.2 to 0.3

  • Added public constructors for Event
  • Added public constructors for ServiceCheck
  • Metric changed to abstract
  • Tags changed to package protected
  • Validator changed to package protected

Versions

Version
0.0.3
0.0.2
0.0.1