Skip to content
This repository has been archived by the owner on Jan 19, 2022. It is now read-only.


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

telemetry.js for node.js

The telemetry-js-node module loads telemetry.js from 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 This poses a security risk, do not run this in mission critical places. Run it somewhere fairly isolated, under docker, a non-privileged user or in a LXC container. You have been duly warned.

The reasoning behind the decision to load telemetry.js dynamically is that the storage format used server-side is unstable and we will update telemetry.js as changes to the server-side storage format occurs. For this reason you shouldn't expect this module to work in long running processes, reloading it, with Telemetry.init, may help.


This module can be used exactly like telemetry.js, refer to the documentation for telemetry.js for details on how to use it. Below is just a small example.

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

// Initialize telemetry.js
Telemetry.init(function() {
  // Find a version
  var version = Telemetry.versions()[0];

  // Load measures
  Telemetry.measures(version, function(measures) {

    // Print measures available
    console.log("Measures available:");
    Object.keys(measures).forEach(function(measure) {


Remark, until Telemetry.init(callback) have executed, 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 have not completed yet. This is a minor difference, that users who don't like trivial exceptions won't notice.

Reloading, just like telemetry.js you can reload the version information by calling Telemetry.init() again. This may also help, if server-side data has been updated (which happens multiple times as day). Further more, this will also reload telemetry.js from, hence, potentially loading new code. This can help if you have long running code using this module, though long running code using this module is not recommended.


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


INACTIVE - - node.js module for using telemetry.js to access telemetry aggregates from Mozilla Firefox




Code of conduct





No releases published


No packages published