Example #1
0
function live() {
  var client = new Prometheus();

  var logins = client.newCounter({
    namespace: "counters",
    name: "logins",
    help: "Counters"
  });

  var requests = client.newCounter({
    namespace: "counters",
    name: "requests",
    help: "Counters"
  });

  var bytes = client.newGauge({
    namespace: "gauge",
    name: "bytes",
    help: "bytes"
  });

  client.listen(9091);
  var data = {};
  var bytesCounter = 0;

  function randomWalk(labels, variation) {
    logins.increment(labels, (Math.random() * variation) - (variation / 2));
    requests.increment(labels, 100 + (Math.random() * 10));

    bytesCounter++;
    bytes.set(labels, bytesCounter);
  }

  setInterval(function() {
    randomWalk({server: "backend-01", app: "backend"}, 2);
    randomWalk({server: "backend-02", app: "backend"}, 2);
    randomWalk({server: "webserver-01", app: "frontend"}, 2);
    randomWalk({server: "webserver-02", app: "frontend"}, 2);
    randomWalk({server: "webserver_03", app: "frontend"}, 2);
    randomWalk({server: "webserver.03", app: "frontend"}, 2);
  }, 10000);
}
Example #2
0
var Prometheus = require("prometheus-client");

var metricsClient = new Prometheus();

var memoryGauge = metricsClient.newGauge({
    namespace: "memory",
    name     : "usage",
    help     : "Memory Usage"
});

var memoryGaugeInterval = setInterval(function() {
    var usage = process.memoryUsage();
    memoryGauge.set({type: 'rss'}, usage.rss);
    memoryGauge.set({type: 'heapTotal'}, usage.heapTotal);
    memoryGauge.set({type: 'heapUsed'}, usage.heapUsed);
}, 1000);

module.exports.metrics = {

    client: metricsClient,

    httpRequestCounter: metricsClient.newCounter({
        namespace: "http",
        name     : "http_requests_total",
        help     : "The number of http requests received."
    }),

    httpResponseCounter: metricsClient.newCounter({
        namespace: "http",
        name     : "http_responses_total",
        help     : "The number of http responses sent."