@@ -69,8 +69,8 @@ export class TimelineProfilerService implements ITimelineProfilerService {
69
69
data . split ( "\n" ) . forEach ( ( line ) => {
70
70
const trace = this . toTrace ( line . trim ( ) ) ;
71
71
if ( trace ) {
72
- deviceTimeline . startPoint ??= trace . from ;
73
- deviceTimeline . timeline . push ( trace ) ;
72
+ deviceTimeline . startPoint ??= trace [ 0 ] . ts ;
73
+ deviceTimeline . timeline . push ( ... trace ) ;
74
74
}
75
75
} ) ;
76
76
}
@@ -80,28 +80,36 @@ export class TimelineProfilerService implements ITimelineProfilerService {
80
80
return this . $projectConfigService . getValue ( "profiling" ) === "timeline" ;
81
81
}
82
82
83
- private toTrace ( text : string ) : ChromeTraceEvent | undefined {
83
+ private toTrace ( text : string ) : ChromeTraceEvent [ ] | undefined {
84
84
const result = text . match ( TIMELINE_LOG_RE ) ;
85
85
if ( ! result ) {
86
86
return ;
87
87
}
88
88
89
89
const trace = {
90
- domain : result [ 2 ] ?. trim ( ) . replace ( ":" , "" ) ,
90
+ domain : result [ 2 ] ?. trim ( ) . replace ( ":" , "." ) . toLowerCase ( ) ,
91
91
name : result [ 3 ] . trim ( ) ,
92
92
from : parseFloat ( result [ 4 ] ) ,
93
93
to : parseFloat ( result [ 5 ] ) ,
94
94
} ;
95
95
96
- return {
96
+ return [ {
97
+ args :{ } ,
97
98
pid : 1 ,
98
99
tid : 1 ,
99
100
ts : trace . from * 1000 ,
100
- dur : ( trace . to - trace . from ) * 1000 ,
101
101
name : trace . name ,
102
102
cat : trace . domain ?? "default" ,
103
- ph : ChromeTraceEventPhase . COMPLETE ,
104
- } ;
103
+ ph : ChromeTraceEventPhase . BEGIN ,
104
+ } , {
105
+ args :{ } ,
106
+ pid : 1 ,
107
+ tid : 1 ,
108
+ ts : trace . to * 1000 ,
109
+ name : trace . name ,
110
+ cat : trace . domain ?? "default" ,
111
+ ph : ChromeTraceEventPhase . END ,
112
+ } ] ;
105
113
}
106
114
107
115
private writeTimelines ( ) {
0 commit comments