A java client to push UDP messages to a local dogstatd.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
.gitignore
LICENSE
README.md
pom.xml

README.md

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