11import os from 'node:os' ;
2- import {
3- type PerformanceEntry ,
4- type PerformanceMark ,
5- type PerformanceMeasure ,
6- performance ,
7- } from 'node:perf_hooks' ;
2+ import { type PerformanceMark , type PerformanceMeasure } from 'node:perf_hooks' ;
83import { threadId } from 'node:worker_threads' ;
94import { defaultClock } from './clock-epoch.js' ;
105import type {
@@ -20,15 +15,6 @@ import type {
2015 TraceEventContainer ,
2116} from './trace-file.type.js' ;
2217
23- export const entryToTraceTimestamp = (
24- entry : PerformanceEntry ,
25- asEnd = false ,
26- ) : number =>
27- defaultClock . fromPerfMs (
28- entry . startTime +
29- ( entry . entryType === 'measure' && asEnd ? entry . duration : 0 ) ,
30- ) ;
31-
3218// eslint-disable-next-line functional/no-let
3319let id2Count = 0 ;
3420export const nextId2 = ( ) => ( { local : `0x${ ++ id2Count } ` } ) ;
@@ -147,6 +133,7 @@ export const getSpan = (opt: {
147133 // spans: ======== |======|
148134 // marks: | |
149135 const pad = opt . tsMarkerPadding ?? 1 ;
136+ // b|e need to share the same id2
150137 const id2 = opt . id2 ?? nextId2 ( ) ;
151138
152139 return [
@@ -170,7 +157,7 @@ export const markToInstantEvent = (
170157 getInstantEvent ( {
171158 ...opt ,
172159 name : opt ?. name ?? entry . name ,
173- ts : defaultClock . fromEntryStartTimeMs ( entry . startTime ) ,
160+ ts : defaultClock . fromEntry ( entry ) ,
174161 args : entry . detail ? { detail : entry . detail } : undefined ,
175162 } ) ;
176163
@@ -181,8 +168,8 @@ export const measureToSpanEvents = (
181168 getSpan ( {
182169 ...opt ,
183170 name : opt ?. name ?? entry . name ,
184- tsB : entryToTraceTimestamp ( entry ) ,
185- tsE : entryToTraceTimestamp ( entry , true ) ,
171+ tsB : defaultClock . fromEntry ( entry ) ,
172+ tsE : defaultClock . fromEntry ( entry , true ) ,
186173 args : entry . detail ? { data : { detail : entry . detail } } : undefined ,
187174 } ) ;
188175
0 commit comments