Skip to content

sitespeedio/chrome-trace

Repository files navigation

Chrome-trace

Build status

Analyze tracelogs from Chrome, from the command line or as a node.js library.

How to use

Command line

With node.js >= 8.9 and npm >= 5.3, use npx to run chrome-trace.

npx chrome-trace <trace file>

node.js

Install chrome-trace as a dependency.

npm i chrome-trace 

Pass a stream or a parsed JSON object to chrome-trace.

const { parseStream } = require('chrome-trace');

const stream = getReadableStream(); // e.g. stream from file or http response
const parsedTrace = parseStream(stream);

const mainThreadId = parsedTrace.mainThread;
const categories = parsedTrace.eventCategoryTime[mainThreadId];
console.log(categories);

Development

  • The format for trace-log events is described here.
  • A python parser for tracelogs is available from WPO Foundation.
  • Chrome-trace uses Ava for testing. Please run npm run test before submitting PRs.
  • Code formatting by Prettier. Please run npm run lint:fix before submitting PRs.
  • Optional verbose logging using the debug module.
  • Additional useful npm scripts are:
    • test:verbose for additional debug info
    • test:watch to rerun tests as changes are made
    • test:watch:verbose automatic testing, with debug output