Code Monkey home page Code Monkey logo

process-reporter's Introduction

process-reporter

Reports information about your node process to statsd. Use it like this:

var ProcessReporter = require('process-reporter');

var processReporter = ProcessReporter({
    statsd: statsdClient
});

processReporter.bootstrap();

It currently reports these stats:

  • yourapp.process-reporter.handles number of libuv handles
  • yourapp.process-reporter.requests number of libuv requests
  • yourapp.process-reporter.memory-usage.rss resident set size of procss
  • yourapp.process-reporter.memory-usage.heap-total total size of v8 heap
  • yourapp.process-reporter.memory-usage.heap-used amt of v8 heap used
  • yourapp.process-reporter.lag-sampler event loop lag
  • yourapp.process-reporter.gc.{gc-type}.pause-ms length of GC pauses
  • yourapp.process-reporter.gc.{gc-type}.heap-used +/- amount of bytes GCd
  • yourapp.process-reporter.gc.{gc-type}.heap-total +/- changes in heap total

To destroy the reporter just call processReporter.destroy();

Docs

The ProcessReporter constructor takes an options dictionary:

  • options.statsd, a per-worker statsd to write per-worker stats to
  • options.clusterStatsd, a cluster-wide statsd to write cluster-wide stats to

You can pass in an optional clusterStatsd that will be used to emit lag-sampler and gc.{gc-type}.pause-ms stats that are cluster wide so that your statsd aggregation can calculate more accurate P99s

process-reporter's People

Contributors

andrewdeandrade avatar jialiehu avatar kriskowal avatar luciferous avatar malandrew avatar raynos avatar rf avatar uberesch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

process-reporter's Issues

Consider replacing gauges with timers

In statsd, gauges are last write wins. If you generate stats for an entire cluster using process-reporter, you want to see the statistical spread of the values that occurred in each 10s bucket, such as max, memory, min memory, p99 etc. Timers are used for collecting this information, even if the data isn't strictly related to time.

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.