@@ -642,7 +642,9 @@ function TimeMarkers<RelationSchemasT>({
642
642
< ul style = { { listStyle : 'none' , margin : 0 , padding : 0 } } >
643
643
{ lastRequiredSpanOffset !== undefined && (
644
644
< li style = { styles . listItem } >
645
- < span style = { { display : 'inline-block' } } > Last Required Span:</ span >
645
+ < span style = { { display : 'inline-block' } } >
646
+ First Contentful Render (Last Required Span):
647
+ </ span >
646
648
< span
647
649
style = { {
648
650
fontFamily : 'monospace' ,
@@ -658,7 +660,9 @@ function TimeMarkers<RelationSchemasT>({
658
660
) }
659
661
{ completeSpanOffset !== undefined && (
660
662
< li style = { styles . listItem } >
661
- < span style = { { display : 'inline-block' } } > Complete Span:</ span >
663
+ < span style = { { display : 'inline-block' } } >
664
+ Last Contentful Render (Trace Complete):
665
+ </ span >
662
666
< span
663
667
style = { {
664
668
fontFamily : 'monospace' ,
@@ -674,7 +678,9 @@ function TimeMarkers<RelationSchemasT>({
674
678
) }
675
679
{ cpuIdleSpanOffset !== undefined && (
676
680
< li style = { styles . listItem } >
677
- < span style = { { display : 'inline-block' } } > CPU Idle Span:</ span >
681
+ < span style = { { display : 'inline-block' } } >
682
+ Time To Interactive (CPU Idle Span):
683
+ </ span >
678
684
< span
679
685
style = { {
680
686
fontFamily : 'monospace' ,
@@ -1409,66 +1415,105 @@ function TraceItem<
1409
1415
cpuIdleSpanOffset = { trace . cpuIdleSpanOffset }
1410
1416
/>
1411
1417
1412
- { /* Computed Spans/Values */ }
1413
- < div style = { styles . section } >
1414
- < div style = { styles . sectionTitle } > Computed Spans:</ div >
1415
- < ul style = { { listStyle : 'none' , margin : 0 , padding : 0 } } >
1416
- { ( trace . computedSpans ?? [ ] ) . map ( ( name ) => {
1417
- const value = getFromRecord ( computedResults . computedSpans , name )
1418
- return (
1419
- < li key = { name } style = { styles . listItem } >
1420
- { name }
1421
- { trace . state === 'complete' ||
1422
- trace . state === 'interrupted' ? (
1423
- value ? (
1424
- < RenderComputedSpan value = { value } />
1418
+ { /* Computed Spans */ }
1419
+ { ( trace . computedSpans ?. length ?? 0 ) > 0 && (
1420
+ < div style = { styles . section } >
1421
+ < div style = { styles . sectionTitle } > Computed Spans:</ div >
1422
+ < ul style = { { listStyle : 'none' , margin : 0 , padding : 0 } } >
1423
+ { ( trace . computedSpans ?? [ ] ) . map ( ( name ) => {
1424
+ const value = getFromRecord (
1425
+ computedResults . computedSpans ,
1426
+ name ,
1427
+ )
1428
+ return (
1429
+ < li key = { name } style = { styles . listItem } >
1430
+ { name }
1431
+ { trace . state === 'complete' ||
1432
+ trace . state === 'interrupted' ? (
1433
+ value ? (
1434
+ < RenderComputedSpan value = { value } />
1435
+ ) : (
1436
+ < span
1437
+ style = { {
1438
+ marginLeft : 8 ,
1439
+ color : 'red' ,
1440
+ fontWeight : 500 ,
1441
+ } }
1442
+ >
1443
+ missing
1444
+ </ span >
1445
+ )
1425
1446
) : (
1426
1447
< span
1427
1448
style = { {
1428
1449
marginLeft : 8 ,
1429
- color : 'red ' ,
1430
- fontWeight : 500 ,
1450
+ color : '#757575 ' ,
1451
+ fontStyle : 'italic' ,
1431
1452
} }
1432
1453
>
1433
- missing
1454
+ pending
1434
1455
</ span >
1435
- )
1436
- ) : null }
1437
- </ li >
1438
- )
1439
- } ) }
1440
- </ ul >
1441
- </ div >
1456
+ ) }
1457
+ </ li >
1458
+ )
1459
+ } ) }
1460
+ </ ul >
1461
+ </ div >
1462
+ ) }
1442
1463
{ computedResults . computedRenderBeaconSpans ? (
1443
1464
< RenderComputedRenderBeaconSpans
1444
1465
computedRenderBeaconSpans = {
1445
1466
computedResults . computedRenderBeaconSpans
1446
1467
}
1447
1468
/>
1448
1469
) : null }
1449
- < div style = { styles . section } >
1450
- < div style = { styles . sectionTitle } > Computed Values:</ div >
1451
- < ul style = { { listStyle : 'none' , margin : 0 , padding : 0 } } >
1452
- { ( trace . computedValues ?? [ ] ) . map ( ( name ) => {
1453
- const value = getFromRecord (
1454
- computedResults . computedValues ,
1455
- name ,
1456
- )
1457
- return (
1458
- < li key = { name } style = { styles . listItem } >
1459
- { name }
1460
- { trace . state === 'complete' || trace . state === 'interrupted'
1461
- ? value !== undefined && (
1470
+ { /* Computed Values */ }
1471
+ { ( trace . computedValues ?. length ?? 0 ) > 0 && (
1472
+ < div style = { styles . section } >
1473
+ < div style = { styles . sectionTitle } > Computed Values:</ div >
1474
+ < ul style = { { listStyle : 'none' , margin : 0 , padding : 0 } } >
1475
+ { ( trace . computedValues ?? [ ] ) . map ( ( name ) => {
1476
+ const value = getFromRecord (
1477
+ computedResults . computedValues ,
1478
+ name ,
1479
+ )
1480
+ return (
1481
+ < li key = { name } style = { styles . listItem } >
1482
+ { name }
1483
+ { trace . state === 'complete' ||
1484
+ trace . state === 'interrupted' ? (
1485
+ value !== undefined ? (
1462
1486
< span style = { { marginLeft : 8 , color : '#1976d2' } } >
1463
1487
{ String ( value ) }
1464
1488
</ span >
1489
+ ) : (
1490
+ < span
1491
+ style = { {
1492
+ marginLeft : 8 ,
1493
+ color : 'red' ,
1494
+ fontWeight : 500 ,
1495
+ } }
1496
+ >
1497
+ N/A
1498
+ </ span >
1465
1499
)
1466
- : null }
1467
- </ li >
1468
- )
1469
- } ) }
1470
- </ ul >
1471
- </ div >
1500
+ ) : (
1501
+ < span
1502
+ style = { {
1503
+ marginLeft : 8 ,
1504
+ color : '#757575' ,
1505
+ fontStyle : 'italic' ,
1506
+ } }
1507
+ >
1508
+ pending
1509
+ </ span >
1510
+ ) }
1511
+ </ li >
1512
+ )
1513
+ } ) }
1514
+ </ ul >
1515
+ </ div >
1516
+ ) }
1472
1517
1473
1518
{ /* ROW 3: Definition details toggle */ }
1474
1519
< div
0 commit comments