Chrome Timeline Logger
This logger helps generates a timeline JSON file that's compatible with the Chrome Dev Tools timeline viewer
Installation
npm install chrome-timeline-logger
Usage
var timeline = ;var builder = ; // create a Program recordvar programEvent = builder; // do some stufffor index = _i = 0; _i < 10; index = ++_i // create a TimeStamp record var event = builder; // set the memory useage for this event eventusedHeapSize = processheapUsed; // demonstrates how to set the documents count in the counters section eventcounters = documents: index console; // end the TimeStamp record builder; // end the Program recordbuilder; var logger = ; logger;
- Best way to discover supported events and their data is to make a recording in the timeline tool and examine it's output ;)
- I've also made an attempt to list them here TimelineRecordTypes
Above Example Output
API
TimelineLogger
name | type | args | description |
---|---|---|---|
save() | method | string filepath, timelineRecordList[], onComplete() | saves an array of timeline records to a file specified by the filepath |
saveSync() | method | string filepath, timelineRecordList[] | Synchronous version of save |
version | string | Appears at the top of each saved timeline json file |
TimelineBuilder
name | type | args | description |
---|---|---|---|
startEvent() | method | string type, [object data] | starts a timeline event. Types are defined in TimelineRecordTypes |
endEvent() | method | none | ends the currently started timeline event. |
TimelineRecord
name | type | args | description |
---|---|---|---|
start() | method | none | sets startTime to Date.now() |
end() | method | none | sets endTime to Date.now() |
startTime | number | ||
endTime | number | ||
children | TimelineRecord[] | ||
data | object | ||
frameId | number | ||
usedHeapSize | number | ||
usedHeapSizeDelta | number | ||
counters | object | ||
stackTrace | object |
History
You can discover the history inside the History.md
file
Contributing
You can discover the contributing instructions inside the Contributing.md
file
License
Licensed under the incredibly permissive MIT License
Copyright © 2013+ Stringz Solutions Ltd
Copyright © 2013+ Peter Flannery