tracium
Chromium trace parser
Last updated 5 years ago by aslushnikov .
Apache-2.0 · Repository · Bugs · Original npm · Tarball · package.json
$ npm install tracium 
SYNC missed versions from official npm registry.

Tracium

Tracium is the Google Lighthouse tracing parser extracted into a stand-alone library.

Tracium is a modern alternative to Big Rig. Tracium correctly parses modern Chrome Traces (generated by Chrome 66+).

Usage

Install:

$ npm install tracium

Use:

const Tracium = require('tracium');
const traceJSON = JSON.parse(fs.readFileSync('./mytrace.json', 'utf8'));
const tasks = Tracium.computeMainThreadTasks(traceJSON, {
  // |flatten| default to |false|. When false, only top-level tasks will be returned.
  flatten: true,
});

Check out examples at //examples/ folder.

API

tracium.computeMainThreadTasks(traceJson[, options])

  • traceJson <Object> A JSON of a Chromium trace
  • options <Object> Set of options for trace processing
    • flatten <boolean> Defaults to false. Whether to flatten tasks tree.
  • returns: <Array<Object>> An array of tasks:
    • kind <string> describes task attribution. Can be one of the following:
      • 'parseHTML'
      • 'styleLayout'
      • 'paintCompositeRender'
      • 'scriptParseCompile'
      • 'scriptEvaluation'
      • 'garbageCollection'
      • 'other'
    • startTime <number> monotonic start time in milliseconds
    • endTime <number> monotonic end time in milliseconds
    • duration <number> task duration in milliseconds, a.k.a. "wall time"
    • selfTime <number> time spent in the task at the current level of the task tree
    • event <Object> original trace event object associated with the task
    • children <Array<[Task]>> an array of child tasks
    • parent <?[Task]> a parent task if any

Returns an array of tasks that belong to the main thread of the inspected page. If flatten is passed to false, than only top-level tasks will be returned.

<summary>An example task</summary>
{
  event:
   { pid: 29772,
     tid: 775,
     ts: 588826692280,
     ph: 'X',
     cat: 'toplevel',
     name: 'TaskQueueManager::ProcessTaskFromWorkQueue',
     args:
      { src_file: '../../base/trace_event/trace_log.cc',
        src_func: 'SetEnabled' },
     dur: 27,
     tdur: 22,
     tts: 514358 },
  startTime: 0,
  endTime: 0.027,
  children: [],
  duration: 0.027,
  selfTime: 0.027,
  kind: 'other' }

Current Tags

  • 0.2.1                                ...           latest (5 years ago)

4 Versions

  • 0.2.1                                ...           5 years ago
  • 0.2.0                                ...           6 years ago
  • 0.1.1                                ...           6 years ago
  • 0.1.0                                ...           6 years ago
Downloads
Total 0
Today 0
This Week 0
This Month 0
Last Day 0
Last Week 0
Last Month 0
Dependencies (1)
Dev Dependencies (1)
Dependents (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE