Package Exports
- tracium
- tracium/lib/main-thread-tasks
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (tracium) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
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 traceoptions
<Object> Set of options for trace processingflatten
<boolean> Defaults tofalse
. 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 millisecondsendTime
<number> monotonic end time in millisecondsduration
<number> task duration in milliseconds, a.k.a. "wall time"selfTime
<number> time spent in the task at the current level of the task treeevent
<Object> original trace event object associated with the taskchildren
<Array<[Task]>> an array of child tasksparent
<?[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.
An example task
{
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' }