Code Monkey home page Code Monkey logo

measured-elasticsearch.js's Introduction

Measured Elasticsearch Reporter

Reports measured metrics to elasticsearch in the same format as the Java elasticsearch metric reporter.

Install

npm install measured elasticsearch measured-elasticsearch

Usage

var elasticsearch = require('elasticsearch');
var client        = new elasticsearch.Client({ host : 'localhost:9200' });

var reporter   = require('measured-elasticsearch').forClient(client);
var measured   = require('measured');
var collection = measured.createCollection();

reporter.addCollection(collection);
reporter.start(60, measured.units.SECONDS);

API

  • forClient(client[, config]) creates a new reporter for the given client and optional config. Available configs are:
    • index the index to use. Defaults to metrics.
    • indexDateFormat the date format to make sure to rotate to a new index. Defaults to yyyy.mm. Uses dateformat.
    • timestampFieldname the field name of the timestamp. Defaults to @timestamp.
    • getTime a function returning the current time. The return value is passed to new Date(time). Default to Date.now().
    • additionalFields object with additional fields to be included for each metric
    • pingTimeout number of millis before the initial ping HEAD request times out. The default is the elasticsearch client default (currently 100).
  • sendBulk() sends a bulk update using the elasticsearch client
  • start([interval[, unit]]) performs a ping request and once successful sends bulk updates every interval * unit where interval defaults to 60 and unit defaults to 1000.
  • stop() stops performing ping and bulk update requests and calls end() on all registered collections

Events

The reporter instance returned by forClient is an EventEmitter that emits these events:

  • start when start() was called and the initial ping request was successful
  • stop when stop() was called
  • update after a bulk update was sent to elasticsearch
  • error if the initial ping requests fail and if bulk updates fail

measured-elasticsearch.js's People

Contributors

mantoni avatar scotthuey avatar

Watchers

James Cloos avatar  avatar

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.