Code Monkey home page Code Monkey logo

2ba3b11889c0b5370c1ddd5108a3628f990c4dda2454e650e8a1e7898ed6cc39's Introduction

Telemetry.js v2 for Node

The telemetry-next-node module loads telemetry.js from https://telemetry.mozilla.org/v2/telemetry.js and make the functions available in node.js, so that telemetry dashboard aggregates can be analyzed server-side.

Warning, this module downloads and loads Javascript code from https://telemetry.mozilla.org/v2/telemetry.js via HTTPS. If security is very important, run this inside an isolated environment such as a Docker container.

For long-running applications, it is recommended that the module be re-initialized every so often in order to obtain new data and account for any aggregate API changes. This can be done by calling Telemetry.init() again - see below for details.

Usage

A simple usage example:

var Telemetry = require('telemetry-next-node');

// Initialize library
Telemetry.init(function() {
  var version = Telemetry.getVersions()[0]; // Get the first available version

  // Optain a mapping from filter names to possible values of those filters
  var parts = version.split("/");
  Telemetry.getFilterOptions(parts[0], parts[1], function(filters) {
    console.log("Measures available:");
    filters.metric.forEach(function(measure) {
      console.log(measure);
    });
  });
});

Note that until Telemetry.init(callback) executes, this module will not have other methods than Telemetry.init. In the browser, these methods will be available, but they will throw an exception if Telemetry.init has not completed yet. This is a minor difference, but it may show up if testing for the existance of specific methods in the library.

Reloading

Just like telemetry.js in the browser, you can reload version information by calling Telemetry.init() again. This also causes the code to be reloaded from https://telemetry.mozilla.org/v2/telemetry.js. Reloading is necessary in order to get updated information, such as aggregates published after the module has been loaded.

Reloading is necessary for long-running applications to obtain fresh data. An application that does not reload may behave erratically if changes are made to the backend.

License

The telemetry-next-node library is released on the MPL license - see LICENSE for details.

2ba3b11889c0b5370c1ddd5108a3628f990c4dda2454e650e8a1e7898ed6cc39's People

Contributors

jonasfj avatar mozilla-github-standards avatar uberi 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.