@@ -14,8 +14,8 @@ export interface PerformanceAPIExtensionTestData {
1414
1515export interface ConsoleAPIExtensionTestData {
1616 name : string ;
17- start ?: string ;
18- end ?: string ;
17+ start ?: string | number ;
18+ end ?: string | number ;
1919 track ?: string ;
2020 trackGroup ?: string ;
2121 color ?: string ;
@@ -59,13 +59,13 @@ function makeTimingEventWithPerformanceExtensionData(
5959function makeTimingEventWithConsoleExtensionData ( { name, ts, start, end, track, trackGroup, color} :
6060 ConsoleAPIExtensionTestData ) : Trace . Types . Events . ConsoleTimeStamp {
6161 return {
62- cat : 'disabled-by-default-v8.inspector ' ,
62+ cat : 'devtools.timeline ' ,
6363 pid : Trace . Types . Events . ProcessID ( 2017 ) ,
6464 tid : Trace . Types . Events . ThreadID ( 259 ) ,
65- name : Trace . Types . Events . Name . CONSOLE_TIME_STAMP ,
65+ name : Trace . Types . Events . Name . TIME_STAMP ,
6666 args : {
6767 data : {
68- name,
68+ message : name ,
6969 start,
7070 end,
7171 track,
@@ -74,7 +74,7 @@ function makeTimingEventWithConsoleExtensionData({name, ts, start, end, track, t
7474 }
7575 } ,
7676 ts : Trace . Types . Timing . Micro ( ts ) ,
77- ph : Trace . Types . Events . Phase . COMPLETE ,
77+ ph : Trace . Types . Events . Phase . INSTANT ,
7878
7979 } ;
8080}
@@ -441,7 +441,7 @@ describe('ExtensionTraceDataHandler', function() {
441441 assert . deepEqual ( Object . keys ( fourthTrackData . entriesByTrack ) , [ 'Ungrouped Track 2' ] ) ;
442442 assert . deepEqual ( Object . values ( fourthTrackData . entriesByTrack ) . map ( entries => entries . length ) , [ 2 ] ) ;
443443 } ) ;
444- it ( 'calculates self time sub track by sub track' , async function ( ) {
444+ it ( 'calculates self time sub track by sub track for events added with the performance API ' , async function ( ) {
445445 const extensionDevToolsObjects : PerformanceAPIExtensionTestData [ ] = [
446446 // Track group 1
447447 {
@@ -622,6 +622,20 @@ describe('ExtensionTraceDataHandler', function() {
622622 end : 'Mark 4' ,
623623 ts : 300 ,
624624 } ,
625+ // numeric start and end
626+ {
627+ track : 'Custom track 1' ,
628+ name : 'Measure 6' ,
629+ start : 300 ,
630+ end : 400 ,
631+ ts : 300 ,
632+ } ,
633+ {
634+ track : 'Custom track 1' ,
635+ name : 'Measure 7' ,
636+ start : 350 ,
637+ ts : 400 ,
638+ }
625639 ] ;
626640 return createTraceExtensionDataFromConsoleAPITestInput ( extensionData ) ;
627641 }
@@ -632,23 +646,26 @@ describe('ExtensionTraceDataHandler', function() {
632646 } ) ;
633647 it ( 'parses track data correctly' , async ( ) => {
634648 assert . lengthOf ( extensionHandlerOutput . extensionTrackData , 3 ) ;
635-
636- assert . strictEqual ( extensionHandlerOutput . extensionTrackData [ 0 ] . name , 'Custom track 3' ) ;
637- assert . lengthOf ( extensionHandlerOutput . extensionTrackData [ 0 ] . entriesByTrack [ 'Custom track 3' ] , 2 ) ;
638- assert . strictEqual (
639- extensionHandlerOutput . extensionTrackData [ 0 ] . entriesByTrack [ 'Custom track 3' ] [ 0 ] . name , 'Measure 3' ) ;
640- assert . strictEqual (
641- extensionHandlerOutput . extensionTrackData [ 0 ] . entriesByTrack [ 'Custom track 3' ] [ 1 ] . name , 'Measure 4' ) ;
642-
643- assert . strictEqual ( extensionHandlerOutput . extensionTrackData [ 1 ] . name , 'Custom track 1' ) ;
644- assert . lengthOf ( extensionHandlerOutput . extensionTrackData [ 1 ] . entriesByTrack [ 'Custom track 1' ] , 1 ) ;
645- assert . strictEqual (
646- extensionHandlerOutput . extensionTrackData [ 1 ] . entriesByTrack [ 'Custom track 1' ] [ 0 ] . name , 'Measure 1' ) ;
647-
648- assert . strictEqual ( extensionHandlerOutput . extensionTrackData [ 2 ] . name , 'Custom track 2' ) ;
649- assert . lengthOf ( extensionHandlerOutput . extensionTrackData [ 2 ] . entriesByTrack [ 'Custom track 2' ] , 1 ) ;
650- assert . strictEqual (
651- extensionHandlerOutput . extensionTrackData [ 2 ] . entriesByTrack [ 'Custom track 2' ] [ 0 ] . name , 'Measure 2' ) ;
649+ const expectedData : Record < string , Array < { name : string , ts : number , dur : number } > > = {
650+ 'Custom track 3' : [ { name : 'Measure 3' , ts : 100 , dur : 200 } , { name : 'Measure 4' , ts : 100 , dur : 100 } ] ,
651+ 'Custom track 1' : [
652+ { name : 'Measure 1' , ts : 100 , dur : 100 } , { name : 'Measure 6' , ts : 300 , dur : 100 } ,
653+ { name : 'Measure 7' , ts : 350 , dur : 50 }
654+ ] ,
655+ 'Custom track 2' : [ { name : 'Measure 2' , ts : 100 , dur : 100 } ]
656+ } ;
657+ for ( let i = 0 ; i < extensionHandlerOutput . extensionTrackData . length ; i ++ ) {
658+ const track = extensionHandlerOutput . extensionTrackData [ i ] ;
659+ assert . strictEqual ( track . name , Object . keys ( expectedData ) [ i ] ) ;
660+ const actualTrackData = track . entriesByTrack [ track . name ] ;
661+ const expectedTrackData = expectedData [ track . name ] ;
662+ for ( let j = 0 ; j < actualTrackData . length ; j ++ ) {
663+ const { name, ts, dur} = actualTrackData [ j ] ;
664+ assert . strictEqual ( name , expectedTrackData [ j ] . name ) ;
665+ assert . strictEqual ( ts , expectedTrackData [ j ] . ts ) ;
666+ assert . strictEqual ( dur , expectedTrackData [ j ] . dur ) ;
667+ }
668+ }
652669 } ) ;
653670 it ( 'parses synthetic console timings for the timings track' , async ( ) => {
654671 assert . lengthOf ( extensionHandlerOutput . syntheticConsoleEntriesForTimingsTrack , 1 ) ;
@@ -735,7 +752,7 @@ describe('ExtensionTraceDataHandler', function() {
735752 assert . deepEqual ( Object . keys ( fourthTrackData . entriesByTrack ) , [ 'Ungrouped Track 2' ] ) ;
736753 assert . deepEqual ( Object . values ( fourthTrackData . entriesByTrack ) . map ( entries => entries . length ) , [ 2 ] ) ;
737754 } ) ;
738- it ( 'calculates self time sub track by sub track' , async function ( ) {
755+ it ( 'calculates self time sub track by sub track for events added with the console API ' , async function ( ) {
739756 const extensionDevToolsObjects : ConsoleAPIExtensionTestData [ ] = [
740757 // Track group 1
741758 {
@@ -792,6 +809,13 @@ describe('ExtensionTraceDataHandler', function() {
792809 start : 'F' ,
793810 ts : 80 ,
794811 } ,
812+ {
813+ trackGroup : 'Group 1' ,
814+ track : 'Track 1' ,
815+ name : 'Measurement 5' ,
816+ start : 75 ,
817+ ts : 80 ,
818+ } ,
795819 {
796820 name : 'G' ,
797821 ts : 0 ,
@@ -848,7 +872,8 @@ describe('ExtensionTraceDataHandler', function() {
848872 { name : 'Measurement 1' , selfTime : 40 } ,
849873 { name : 'Measurement 2' , selfTime : 20 } ,
850874 { name : 'Measurement 3' , selfTime : 30 } ,
851- { name : 'Measurement 4' , selfTime : 10 } ,
875+ { name : 'Measurement 4' , selfTime : 5 } ,
876+ { name : 'Measurement 5' , selfTime : 5 } ,
852877 ] ) ;
853878
854879 const testDataTrack2 = trackGroupData . entriesByTrack [ 'Track 2' ] . map ( entry => {
0 commit comments