bigrig

    1.3.0 • Public • Published

    Node Big Rig

    NPM version Build Status Dependency Status

    Node Big Rig comes in two flavors:

    1. A module for doing trace analysis inline to other tasks.
    2. A CLI tool.

    Big Rig CLI

    Both the module and CLI perform the same analysis as the web app, just without a UI. This makes it a good fit for use in CI environments, or as part of bigger workflows.

    Installation

    CLI

    npm install -g bigrig

    Module

    npm install bigrig

    Usage

    CLI

    To use the CLI you call bigrig and pass it the path to a trace file:

    bigrig --file /path/to/trace.json

    This will, by default, simply return a JSON string that you can parse or manipulate as you see fit.

    If you wish to see a pretty printed version, add the --pretty-print flag:

    bigrig --file /path/to/trace.json --pretty-print

    You should then see a pretty printed output of the time breakdown for the trace.

    Module

    You can also use Big Rig's module as part of a wider workflow.

    var bigrig = require('bigrig');
    var fs = require('fs');
     
    // Read trace file contents.
    fs.readFile('/path/to/trace.json', 'utf8', function(err, data) {
      if (err)
        throw err;
     
      results = bigrig.analyze(data);
     
      // Now do something with the results, like
      // post to a dashboard.
    });
     

    Getting a trace

    You can get a trace from:

    • WebPagetest. Run your test with Chrome, and check "Capture Dev Tools Timeline" under the Chrome options. Download the timeline file (which is a trace file) and pass it to Big Rig.
    • Chrome DevTools. Take a timeline recording, and then right click on the timeline, save the file, and pass it to Big Rig.
    • Big Rig's Test Runner. This uses Chrome Driver under the hood, and will allow you to run an automated test (including for Android) and get back a trace file.

    Please note: you can only have one tab open when running the trace. If you have multiple tabs Big Rig won't be able to disambiguate and process the correct tab. You should also ideally disable any extensions you have running, as these can skew results. You can add the --strict flag if you want Big Rig to throw an error when it encounters extensions.

    License

    See /LICENSE

    Owner

    Paul Lewis - @aerotwist

    Thanks

    The tracing code is a manipulated version of Chrome's Trace Viewer. A huge thanks to the Chromium engineers for making it possible to analyze traces.

    Please note: this is not an official Google product.

    Install

    npm i bigrig

    DownloadsWeekly Downloads

    106

    Version

    1.3.0

    License

    Apache-2.0

    Last publish

    Collaborators

    • aerotwist