Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.16 KB

README.markdown

File metadata and controls

38 lines (27 loc) · 1.16 KB

This project encompasses:

  1. A Java client for the Riemann protocol
  2. The Riemann protocol buffer definition, and
  3. Its corresponding (autogenerated) Java classes

Example

RiemannClient c = new RiemannTcpClient(new InetSocketAddress("my.riemann.server", 5555));
c.event().
  service("fridge").
  state("running").
  metric(5.3).
  tags("appliance", "cold").
  send();

c.query("tagged \"cold\" and metric > 0"); // => List<Event>;

Status

The TCP client is in its early stages; it does not handle server error responses correctly and offers no pooling or retries. The top-level API for sending events and querying the index is functional and threadsafe. A small DSL is available to make sending events easier.

Next steps

  • Set host automatically.
  • Add error handling to TcpClient--raise exceptions when msg.getOk() is false.
  • Write a UDP client.
  • Write a hybrid client which dispatches to UDP and TCP clients as appropriate.

Hacking

You'll need protoc 2.3.0. After that, mvn package should build a JAR, and mvn install will drop it in your local repository.