lib/third_party/tracing/extras/rail/rail_ir_finder.js
function() {
      function isStartupSlice(slice) {
        return slice.title === 'BrowserMainLoop::CreateThreads';
      }
      var events = this.modelHelper.browserHelper.getAllAsyncSlicesMatching(
          isStartupSlice);
      var deduper = new tr.model.EventSet();
      events.forEach(function(event) {
        var sliceGroup = event.parentContainer.sliceGroup;
        var slice = sliceGroup && sliceGroup.findFirstSlice();
        if (slice)
          deduper.push(slice);
      });
      return deduper.toArray();
    }
function() {
      function isStartupSlice(slice) {
        return slice.title === 'BrowserMainLoop::CreateThreads';
      }
      var events = this.modelHelper.browserHelper.getAllAsyncSlicesMatching(
          isStartupSlice);
      var deduper = new tr.model.EventSet();
      events.forEach(function(event) {
        var sliceGroup = event.parentContainer.sliceGroup;
        var slice = sliceGroup && sliceGroup.findFirstSlice();
        if (slice)
          deduper.push(slice);
      });
      return deduper.toArray();
    }
function ( ) { function isStartupSlice ( slice ) { return slice . title === 'BrowserMainLoop::CreateThreads' ; } var events = this . modelHelper . browserHelper . getAllAsyncSlicesMatching ( isStartupSlice ) ; var deduper = new tr . model . EventSet ( ) ; events . forEach ( function ( event ) { var sliceGroup = event . parentContainer . sliceGroup ; var slice = sliceGroup && sliceGroup . findFirstSlice ( ) ; if ( slice ) deduper . push ( slice ) ; } ) ; return deduper . toArray ( ) ; }
If a thread contains a typical initialization slice, then the first event on that thread is a startup event.
If a thread contains a typical initialization slice then the first event on that thread is a startup event .