Git Product home page Git Product logo

khronus-java-client's Introduction

Java client for Khronus

A simple Java client for Khronus.

It works by buffering metrics to send them later in a batch way.

Maven

<dependency>
    <groupId>com.despegar</groupId>
    <artifactId>khronus-java-client</artifactId>
    <version>0.0.2</version>
</dependency>

How to use it

1) Create the client

new KhronusClient.Builder()
          .withApplicationName("exampleApp")
          .withSendIntervalMillis(3000L)
          .withMaximumMeasures(500000)
          .withHosts("KhronusHost:KhronusPort")
          .build()

The application name is prepend to all metrics names, to guarantee uniqueness in Khronus.

The send interval is how often the metrics are sent to Khronus.

Maximum measures is to avoid excessive memory pressure and potentially OOM.

2) Use it to measure a timer

client.recordTime("pageLoad", 300L)

This will push to Khronus a metric named "exampleApp:pageLoad" with a measured value of 300 milliseconds. If the event occurs previously use an overloaded method to pass the specific timestamp.

3) Use it to measure a counter

client.incrementCounter("pageVisits")

Caveats

  1. The send interval should be less or equal than the minor time window configured in Khronus.

  2. Take in care that the client uses an LinkedBlockingQueue in each measure, who has a penalty in concurrency (minor on most usages) for adding a element.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.