Nuria has uploaded a new change for review. https://gerrit.wikimedia.org/r/324277
Change subject: Consolidate docs on README ...................................................................... Consolidate docs on README Bug: T145099 Change-Id: I6d7b7e31ae9c2b66fa6f16208dc43f0a194044d7 --- M README.md M lib/rdkafka-statsd.js 2 files changed, 68 insertions(+), 28 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/node-rdkafka-statsd refs/changes/77/324277/1 diff --git a/README.md b/README.md index a016d69..04c594e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,69 @@ +# Documentation # + Utility module to flatten an object, filter keys and send wanted metrics to statsd. -By default metrics that include '-1' or 'toppars' are not sent. + +This package has an implicit dependency on an statsd client that implements the function gauge. + +Callers can specify the keys they are interested on sending to statsd or use +the filtered defaults which are these ones: + +``` + ['hi_offset', + 'lo_offset', + 'eof_offset', + 'committed_offset', + 'query_offset', + 'next_offset', + 'app_offset', + 'stored_offset', + + ]; +``` + +If using a filter function metrics that include '-1' or 'toppars' are not sent. + + +## Usage ## + + +### Example: Filter function #### + + +```javascript + +var StatsD require('node-statsd'), +client new StatsD({ host: 'statsd.eqiad.wmnet'}); // or metrics-reporter + +function myFilter(key) = {...} + +var rdkafkaStatsdCb = require('node-rdkafka-statsd')(client,{'filterFn': myFilter}); + +var kafka = require('node-rdkafka'); + +var consumer = new kafka.KafkaConsumer({ + ... + 'statistics.interval.ms': 30000, +}); + + // Flowing mode +consumer.connect(); +consumer + .on('ready', function() { + consumer.consume('some-topic'); + }) + .on('event.stats', rdkafka_statsd_cb); + +``` + +#### Example: No filter function #### + +When no filter function is used all metrics are sent to statsd + +```javascript + +var StatsD require('node-statsd'), +client new StatsD({ host: 'statsd.eqiad.wmnet'}); // or metrics-reporter + +var rdkafkaStatsdCb = require('node-rdkafka-statsd')(client,{'filterFn': false}); + +``` diff --git a/lib/rdkafka-statsd.js b/lib/rdkafka-statsd.js index c29a3ed..3d430c8 100644 --- a/lib/rdkafka-statsd.js +++ b/lib/rdkafka-statsd.js @@ -2,36 +2,9 @@ * Parses an object structure, flattens it * and sends the whitelisted metrics to statsd * Depends implicitily on statsd client - * Use like: - - var StatsD require('node-statsd'), - client new StatsD({ host: 'statsd.eqiad.wmnet'}); // or metrics-reporter - - function myFilter(key) = {...} - - var rdkafkaStatsdCb = require('node-rdkafka-statsd')(client,{'filterFn': myFilter}); - - var kafka = require('node-rdkafka'); - var consumer = new kafka.KafkaConsumer({ - ... - 'statistics.interval.ms': 30000, - }); - // Flowing mode - consumer.connect(); - consumer - .on('ready', function() { - consumer.consume('some-topic'); - }) - .on('event.stats', rdkafka_statsd_cb); - * - * - * If filterFn is set to false no whitelist is applied - * metrics that include 'toppars' or '-1' are filtered by default **/ 'use strict'; - - const DOT = '.'; -- To view, visit https://gerrit.wikimedia.org/r/324277 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6d7b7e31ae9c2b66fa6f16208dc43f0a194044d7 Gerrit-PatchSet: 1 Gerrit-Project: node-rdkafka-statsd Gerrit-Branch: master Gerrit-Owner: Nuria <nu...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits