chrome-timeline-logger

A NodeJs timeline logger tool for generating timeline json files for viewing in the chrome browser

Chrome Timeline Logger

This logger helps generates a timeline JSON file that's compatible with the Chrome Dev Tools timeline viewer

npm install chrome-timeline-logger
var timeline = require('chrome-timeline-logger');
var builder = new timeline.TimelineBuilder();
 
// create a Program record 
var programEvent = builder.startEvent("Program");
 
//  do some stuff 
for (index = _i = 0; _i < 10; index = ++_i) {
 
  // create a TimeStamp record 
  var event = builder.startEvent("TimeStamp", {message: "hi mum " + index + "!"});
  
  // set the memory useage for this event 
  event.usedHeapSize = process.memoryUsage().heapUsed;
 
  // demonstrates how to set the documents count in the counters section 
  event.counters = { documents: index }
  
  console.log("some work load");
  
  // end the TimeStamp record 
  builder.endEvent();
}
 
// end the Program record 
builder.endEvent();
 
var logger = new timeline.TimelineLogger();
 
logger.save("./test.json", programEvent);
 
  • 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

######TimelineLogger

nametypeargsdescription
save()methodstring filepath, timelineRecordList[], onComplete()saves an array of timeline records to a file specified by the filepath
saveSync()methodstring filepath, timelineRecordList[]Synchronous version of save
versionstringAppears at the top of each saved timeline json file

######TimelineBuilder

nametypeargsdescription
startEvent()methodstring type, [object data]starts a timeline event. Types are defined in TimelineRecordTypes
endEvent()methodnoneends the currently started timeline event.

######TimelineRecord

nametypeargsdescription
start()methodnonesets startTime to Date.now()
end()methodnonesets endTime to Date.now()
startTimenumber
endTimenumber
childrenTimelineRecord[]
dataobject
frameIdnumber
usedHeapSizenumber
usedHeapSizeDeltanumber
countersobject
stackTraceobject

You can discover the history inside the History.md file

You can discover the contributing instructions inside the Contributing.md file

Licensed under the incredibly permissive MIT License
Copyright © 2013+ Stringz Solutions Ltd
Copyright © 2013+ Peter Flannery