11import TracingModel from '../tracingModel'
22import TimelineModel from '.'
33import TimelineFrameModel from './timelineFrameModel'
4- import Track , { TrackType } from './track'
4+ import { TrackType } from './track'
55import TimelineFrame from './timelineFrame/timelineFrame'
6- import { ThreadData , WarningType , StatsObject } from '../types'
6+ import { ThreadData } from '../types'
77import Event from '../tracingModel/event'
8- import TimelineData from './timelineData '
8+ import Logger from '../../src/logger '
99
1010interface ExtensionTracingModel {
1111 title : string
@@ -23,7 +23,7 @@ export default class PerformanceModel {
2323 public startTime : number
2424 public endTime : number
2525
26- public constructor ( ) {
26+ public constructor ( ) {
2727 /** @type {?SDK.Target } */
2828 this . _mainTarget = null
2929 /** @type {?SDK.TracingModel } */
@@ -70,16 +70,31 @@ export default class PerformanceModel {
7070
7171 const mainTracks = this . _timelineModel
7272 . tracks ( )
73- . filter ( ( track ) : any => track . type === TrackType . MainThread && track . forMainFrame && track . events . length )
73+ . filter (
74+ ( track ) : any =>
75+ track . type === TrackType . MainThread && track . forMainFrame && track . events . length
76+ )
7477 const threadData = mainTracks . map ( ( track ) : ThreadData => {
7578 const event = track . events [ 0 ]
7679 return { thread : event . thread , time : event . startTime }
7780 } )
78- this . _frameModel . addTraceEvents ( this . _mainTarget , this . _timelineModel . inspectedTargetEvents ( ) , threadData )
81+ Logger . debug ( 'PerformanceModel' , 'Adding trace events to frame model. Main tracks:' , mainTracks . length , 'Thread data:' , threadData . length )
82+ this . _frameModel . addTraceEvents (
83+ this . _mainTarget ,
84+ this . _timelineModel . inspectedTargetEvents ( ) ,
85+ threadData
86+ )
87+ Logger . debug ( 'PerformanceModel' , 'Trace events added to frame model' )
88+
89+ // Finalize the frame model to flush any pending last frame
90+ this . _frameModel . finalize ( this . _tracingModel . maximumRecordTime ( ) )
91+ Logger . debug ( 'PerformanceModel' , 'Frame model finalized' )
7992
8093 for ( const entry of this . _extensionTracingModels ) {
8194 entry . model . adjustTime (
82- this . _tracingModel . minimumRecordTime ( ) + entry . timeOffset / 1000 - this . _recordStartTime
95+ this . _tracingModel . minimumRecordTime ( ) +
96+ entry . timeOffset / 1000 -
97+ this . _recordStartTime
8398 )
8499 }
85100 this . _autoWindowTimes ( )
@@ -95,7 +110,9 @@ export default class PerformanceModel {
95110 if ( ! this . _tracingModel ) {
96111 return
97112 }
98- model . adjustTime ( this . _tracingModel . minimumRecordTime ( ) + timeOffset / 1000 - this . _recordStartTime )
113+ model . adjustTime (
114+ this . _tracingModel . minimumRecordTime ( ) + timeOffset / 1000 - this . _recordStartTime
115+ )
99116 }
100117
101118 /**
@@ -133,7 +150,7 @@ export default class PerformanceModel {
133150 * @param {!Timeline.PerformanceModel.Window } window
134151 * @param {boolean= } animate
135152 */
136- public setWindow ( option : { left : number , right : number } ) : void {
153+ public setWindow ( option : { left : number ; right : number } ) : void {
137154 this . startTime = option . left
138155 this . endTime = option . right
139156 }
@@ -148,7 +165,10 @@ export default class PerformanceModel {
148165 }
149166 }
150167 if ( ! tasks . length ) {
151- this . setWindow ( { left : timelineModel . minimumRecordTime ( ) , right : timelineModel . maximumRecordTime ( ) } )
168+ this . setWindow ( {
169+ left : timelineModel . minimumRecordTime ( ) ,
170+ right : timelineModel . maximumRecordTime ( ) ,
171+ } )
152172 return
153173 }
154174
0 commit comments