Giter Club home page Giter Club logo

opencensus-node-exporter's Introduction

OpenCensus Zenoss Exporter for Node.js

A Node.js library intended to be used in Node.js applications instrumented with OpenCensus to export stats to Zenoss.

Status

This library is in an alpha stage, and the API is subject to change.

Usage

To use Zenoss as your exporter, you will first need a Zenoss API key. Once you have an API key, add the following to your Node.js application.

For Javascript:

const { globalStats } = require("@opencensuscore")
const { ZenossStatsExporter } = require("@zenoss/opencensus-node-exporter")

const exporter = new ZenossStatsExporter({ apiKey: "YOUR-ZENOSS-API-KEY" })
globalStats.registerExporter(exporter)

For TypeScript:

import { globalStats } from "@opencensus/core";
import { ZenossStatsExporter } from "@zenoss/opencensus-node-exporter"

const exporter = new ZenossStatsExporter({ apiKey: "YOUR-ZENOSS-API-KEY" })
globalStats.registerExporter(exporter)

Be sure to install the exporter. For npm use the following:

npm install @zenoss/opencensus-node-exporter

Options

The following options are available when creating a ZenossStatsExporter.

  • address: Zenoss API address. Default is https://api.zenoss.io.
  • apiKey: Zenoss API key.
  • source: Added as a tag to all sent metrics. Recommended.
  • extraTags: Map of additional tags to add to all sent metrics. Default is {}.
  • period: How often (in milliseconds) to send metrics to Zenoss. Default is 60000.
  • logger: Optional logger to be used by the exporter.

Example Application

The following is a complete example of an application that will write the value 10 to a measure named example.com/ten once per second. Then once per minute the last value of this metric will be sent to Zenoss with a metric name of example.com/ten_last.

const { globalStats, AggregationType, MeasureUnit, TagMap } = require('@opencensus/core')
const { ZenossStatsExporter } = require('@zenoss/opencensus-node-exporter')

// Setup the Zenoss exporter.
const exporter = new ZenossStatsExporter({ apiKey: "YOUR-ZENOSS-API-KEY" })
globalStats.registerExporter(exporter)

// Setup our tags.
const tagKeyApp = { name: "app" }
const tagMapTen = new TagMap()
tagMapTen.set(tagKeyApp, { value: "nodejs-example" })

// Create a measure.
const measureTen = globalStats.createMeasureInt64('example.com/ten', MeasureUnit.UNIT, "10: always and forever!")

// Create a "last value" view for the measure.
const viewTenLast = globalStats.createView(
    'example.com/ten_last',
    measureTen,
    AggregationType.LAST_VALUE,
    [tagKeyApp],
    'Last value of ten.'
)

globalStats.registerView(viewTenLast)

// Record a value for the measure once per second.
setInterval(() => {
    globalStats.record([{measure: measureTen, value: 10}], tagMapTen);
}, 1000);

Useful Links

opencensus-node-exporter's People

Contributors

cluther avatar alexvashchyshyn avatar srilathan10 avatar

Watchers

 avatar Cornelius Toole avatar Josh Wilmes avatar James Cloos avatar Ed Cranford avatar Eric Cifreo avatar Joseph Anderson avatar Eric Miller avatar Steve Paras-Charlton avatar  avatar Ryan Matte avatar Carl Camera avatar Will Dean avatar Justin Kerr avatar Paul Johnston avatar Michael Shannon avatar Jacob Lampe avatar Greg Emil avatar Soundararajan Varathappan avatar Edd Chun avatar Adam McCurdy avatar Oleh Babiy avatar Zenoss JIRA/GitHub SystemAccount avatar Robert Garza avatar Bharat Mitbander avatar Rama Vykunta avatar Guillermo Galván avatar  avatar  avatar Anantha G 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.