@code-pushup/utils 0.113.0 → 0.114.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/index.d.ts +2 -1
- package/src/index.js +2 -1
- package/src/index.js.map +1 -1
- package/src/lib/file-system.d.ts +0 -2
- package/src/lib/file-system.js +0 -16
- package/src/lib/file-system.js.map +1 -1
- package/src/lib/import-module.d.ts +2 -0
- package/src/lib/import-module.js +21 -0
- package/src/lib/import-module.js.map +1 -0
- package/src/lib/process-id.d.ts +83 -0
- package/src/lib/process-id.js +93 -0
- package/src/lib/process-id.js.map +1 -0
- package/src/lib/profiler/constants.d.ts +5 -0
- package/src/lib/profiler/constants.js +5 -0
- package/src/lib/profiler/constants.js.map +1 -1
- package/src/lib/profiler/profiler-node.js +11 -3
- package/src/lib/profiler/profiler-node.js.map +1 -1
- package/src/lib/profiler/trace-file-utils.d.ts +65 -116
- package/src/lib/profiler/trace-file-utils.js +127 -185
- package/src/lib/profiler/trace-file-utils.js.map +1 -1
- package/src/lib/profiler/trace-file.type.d.ts +24 -157
- package/src/lib/profiler/wal-json-trace.d.ts +11 -10
- package/src/lib/profiler/wal-json-trace.js +36 -53
- package/src/lib/profiler/wal-json-trace.js.map +1 -1
- package/src/lib/wal.d.ts +0 -28
- package/src/lib/wal.js +12 -52
- package/src/lib/wal.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-file-utils.js","sourceRoot":"","sources":["../../../../src/lib/profiler/trace-file-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"trace-file-utils.js","sourceRoot":"","sources":["../../../../src/lib/profiler/trace-file-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,168 +1,29 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { MarkerPayload, TrackEntryPayload } from '../user-timing-extensibility-api.type.js';
|
|
2
|
+
/** DevTools payload type for trace events. */
|
|
3
|
+
export type DevToolsPayload = TrackEntryPayload | MarkerPayload;
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
4
|
-
* @property {UserTimingDetail} [detail] - Optional user timing detail with DevTools payload
|
|
5
|
+
* Unified trace event type for Chrome DevTools trace format.
|
|
5
6
|
*/
|
|
6
|
-
export type
|
|
7
|
-
detail?: UserTimingDetail;
|
|
8
|
-
} & {
|
|
9
|
-
[key: string]: unknown;
|
|
10
|
-
};
|
|
11
|
-
/**
|
|
12
|
-
* Arguments for span trace events (begin/end events).
|
|
13
|
-
* @property {object} [data] - Optional data object
|
|
14
|
-
* @property {UserTimingDetail} [data.detail] - Optional user timing detail with DevTools payload
|
|
15
|
-
*/
|
|
16
|
-
export type SpanEventArgs = {
|
|
17
|
-
data?: {
|
|
18
|
-
detail?: UserTimingDetail;
|
|
19
|
-
};
|
|
20
|
-
} & {
|
|
21
|
-
[key: string]: unknown;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* Arguments for complete trace events.
|
|
25
|
-
* @property {Record<string, unknown>} [detail] - Optional detail object with arbitrary properties
|
|
26
|
-
*/
|
|
27
|
-
export type CompleteEventArgs = {
|
|
28
|
-
detail?: Record<string, unknown>;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* Arguments for start tracing events.
|
|
32
|
-
* @property {object} data - Tracing initialization data
|
|
33
|
-
* @property {number} data.frameTreeNodeId - Frame tree node identifier
|
|
34
|
-
* @property {Array} data.frames - Array of frame information
|
|
35
|
-
* @property {boolean} data.persistentIds - Whether IDs are persistent
|
|
36
|
-
*/
|
|
37
|
-
export type InstantEventTracingStartedInBrowserArgs = {
|
|
38
|
-
data: {
|
|
39
|
-
frameTreeNodeId: number;
|
|
40
|
-
frames: {
|
|
41
|
-
frame: string;
|
|
42
|
-
isInPrimaryMainFrame: boolean;
|
|
43
|
-
isOutermostMainFrame: boolean;
|
|
44
|
-
name: string;
|
|
45
|
-
processId: number;
|
|
46
|
-
url: string;
|
|
47
|
-
}[];
|
|
48
|
-
persistentIds: boolean;
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
/**
|
|
52
|
-
* Union type of all possible trace event arguments.
|
|
53
|
-
*/
|
|
54
|
-
export type TraceArgs = InstantEventArgs | SpanEventArgs | CompleteEventArgs | InstantEventTracingStartedInBrowserArgs;
|
|
55
|
-
/**
|
|
56
|
-
* Base properties shared by all trace events.
|
|
57
|
-
* @property {string} cat - Event category
|
|
58
|
-
* @property {string} name - Event name
|
|
59
|
-
* @property {number} pid - Process ID
|
|
60
|
-
* @property {number} tid - Thread ID
|
|
61
|
-
* @property {number} ts - Timestamp in epoch microseconds
|
|
62
|
-
* @property {TraceArgs} [args] - Optional event arguments
|
|
63
|
-
*/
|
|
64
|
-
export type BaseTraceEvent = {
|
|
7
|
+
export type TraceEvent = {
|
|
65
8
|
cat: string;
|
|
9
|
+
ph: string;
|
|
66
10
|
name: string;
|
|
67
11
|
pid: number;
|
|
68
12
|
tid: number;
|
|
69
13
|
ts: number;
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Start tracing event for Chrome DevTools tracing.
|
|
74
|
-
*/
|
|
75
|
-
export type InstantEventTracingStartedInBrowser = BaseTraceEvent & {
|
|
76
|
-
cat: 'devtools.timeline';
|
|
77
|
-
ph: 'i';
|
|
78
|
-
name: 'TracingStartedInBrowser';
|
|
79
|
-
args: InstantEventTracingStartedInBrowserArgs;
|
|
80
|
-
};
|
|
81
|
-
/**
|
|
82
|
-
* Complete trace event with duration.
|
|
83
|
-
* Represents a complete operation with start time and duration.
|
|
84
|
-
* @property {'X'} ph - Phase indicator for complete events
|
|
85
|
-
* @property {number} dur - Duration in microseconds
|
|
86
|
-
*/
|
|
87
|
-
export type CompleteEvent = BaseTraceEvent & {
|
|
88
|
-
ph: 'X';
|
|
89
|
-
dur: number;
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* Instant trace event representing a single point in time.
|
|
93
|
-
* Used for user timing marks and other instantaneous events.
|
|
94
|
-
* @property {'blink.user_timing'} cat - Fixed category for user timing events
|
|
95
|
-
* @property {'i'} ph - Phase indicator for instant events
|
|
96
|
-
* @property {never} [dur] - Duration is not applicable for instant events
|
|
97
|
-
* @property {InstantEventArgs} [args] - Optional event arguments
|
|
98
|
-
*/
|
|
99
|
-
export type InstantEvent = Omit<BaseTraceEvent, 'cat' | 'args'> & {
|
|
100
|
-
cat: 'blink.user_timing';
|
|
101
|
-
ph: 'i';
|
|
102
|
-
dur?: never;
|
|
103
|
-
args: InstantEventArgs;
|
|
104
|
-
};
|
|
105
|
-
/**
|
|
106
|
-
* Core properties for span trace events (begin/end pairs).
|
|
107
|
-
* @property {object} id2 - Span identifier
|
|
108
|
-
* @property {string} id2.local - Local span ID (unique to the process, same for b and e events)
|
|
109
|
-
* @property {SpanEventArgs} [args] - Optional event arguments
|
|
110
|
-
*/
|
|
111
|
-
type SpanCore = Omit<BaseTraceEvent, 'args'> & {
|
|
112
|
-
id2: {
|
|
14
|
+
dur?: number;
|
|
15
|
+
id2?: {
|
|
113
16
|
local: string;
|
|
114
17
|
};
|
|
115
|
-
args
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
ph: 'b';
|
|
124
|
-
dur?: never;
|
|
125
|
-
};
|
|
126
|
-
/**
|
|
127
|
-
* End event for a span (paired with a begin event).
|
|
128
|
-
* @property {'e'} ph - Phase indicator for end events
|
|
129
|
-
* @property {never} [dur] - Duration is not applicable for end events
|
|
130
|
-
*/
|
|
131
|
-
export type EndEvent = SpanCore & {
|
|
132
|
-
ph: 'e';
|
|
133
|
-
dur?: never;
|
|
134
|
-
};
|
|
135
|
-
/**
|
|
136
|
-
* Union type for span events (begin or end).
|
|
137
|
-
*/
|
|
138
|
-
export type SpanEvent = BeginEvent | EndEvent;
|
|
139
|
-
/**
|
|
140
|
-
* Union type of all trace event types.
|
|
141
|
-
*/
|
|
142
|
-
export type UserTimingTraceEvent = InstantEvent | SpanEvent;
|
|
143
|
-
/**
|
|
144
|
-
* All trace events including system events added during finalization.
|
|
145
|
-
*/
|
|
146
|
-
export type TraceEvent = UserTimingTraceEvent | CompleteEvent | InstantEventTracingStartedInBrowser;
|
|
147
|
-
/**
|
|
148
|
-
* Raw arguments format for trace events before processing.
|
|
149
|
-
* Either contains a detail string directly or nested in a data object.
|
|
150
|
-
*/
|
|
151
|
-
type RawArgs = {
|
|
152
|
-
detail?: string;
|
|
153
|
-
[key: string]: unknown;
|
|
154
|
-
} | {
|
|
155
|
-
data?: {
|
|
156
|
-
detail?: string;
|
|
18
|
+
args?: {
|
|
19
|
+
detail?: unknown;
|
|
20
|
+
data?: {
|
|
21
|
+
detail?: unknown;
|
|
22
|
+
[key: string]: unknown;
|
|
23
|
+
};
|
|
24
|
+
devtools?: DevToolsPayload;
|
|
25
|
+
[key: string]: unknown;
|
|
157
26
|
};
|
|
158
|
-
[key: string]: unknown;
|
|
159
|
-
};
|
|
160
|
-
/**
|
|
161
|
-
* Raw trace event format before type conversion.
|
|
162
|
-
* Similar to TraceEvent but with unprocessed arguments.
|
|
163
|
-
*/
|
|
164
|
-
export type TraceEventRaw = Omit<TraceEvent, 'args'> & {
|
|
165
|
-
args: RawArgs;
|
|
166
27
|
};
|
|
167
28
|
/**
|
|
168
29
|
* Time window bounds (min, max) in trace time units (e.g. microseconds).
|
|
@@ -279,5 +140,11 @@ export type TraceEventContainer = {
|
|
|
279
140
|
/**
|
|
280
141
|
* Trace file format - either an array of events or a structured container.
|
|
281
142
|
*/
|
|
282
|
-
export type TraceFile =
|
|
283
|
-
|
|
143
|
+
export type TraceFile = TraceEventContainer;
|
|
144
|
+
/** Options for creating a tracing started in browser event. */
|
|
145
|
+
export type TracingStartedInBrowserOptions = {
|
|
146
|
+
url: string;
|
|
147
|
+
ts?: number;
|
|
148
|
+
pid?: number;
|
|
149
|
+
tid?: number;
|
|
150
|
+
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { InvalidEntry } from '../wal.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { TraceEvent, TraceMetadata } from './trace-file.type.js';
|
|
3
|
+
export declare function generateTraceContent(events: TraceEvent[], metadata?: Partial<TraceMetadata>): string;
|
|
3
4
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @param events - Array of user timing trace events to include
|
|
7
|
-
* @param metadata - Optional custom metadata to include in the trace file
|
|
8
|
-
* @returns JSON string representation of the complete trace file
|
|
5
|
+
* Codec for encoding and decoding trace events.
|
|
6
|
+
* Encodes nested objects in args.detail and args.data.detail to JSON strings for storage.
|
|
9
7
|
*/
|
|
10
|
-
export declare
|
|
8
|
+
export declare const traceEventCodec: {
|
|
9
|
+
encode: (event: TraceEvent) => string;
|
|
10
|
+
decode: (json: string) => TraceEvent;
|
|
11
|
+
};
|
|
11
12
|
/**
|
|
12
13
|
* Creates a WAL (Write-Ahead Logging) format configuration for Chrome DevTools trace files.
|
|
13
14
|
* Automatically finalizes shards into complete trace files with proper metadata and margin events.
|
|
@@ -18,8 +19,8 @@ export declare function traceEventWalFormat(): {
|
|
|
18
19
|
walExtension: string;
|
|
19
20
|
finalExtension: string;
|
|
20
21
|
codec: {
|
|
21
|
-
encode: (event:
|
|
22
|
-
decode: (json: string) =>
|
|
22
|
+
encode: (event: TraceEvent) => string;
|
|
23
|
+
decode: (json: string) => TraceEvent;
|
|
23
24
|
};
|
|
24
|
-
finalizer: (records: (
|
|
25
|
+
finalizer: (records: (TraceEvent | InvalidEntry)[], metadata?: Record<string, unknown>) => string;
|
|
25
26
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { defaultClock } from '../clock-epoch.js';
|
|
2
|
-
import {
|
|
2
|
+
import { PROFILER_PERSIST_BASENAME } from './constants.js';
|
|
3
|
+
import { complete, createTraceFile, deserializeTraceEvent, getInstantEventTracingStartedInBrowser, serializeTraceEvent, } from './trace-file-utils.js';
|
|
3
4
|
/** Name for the trace start margin event */
|
|
4
5
|
const TRACE_START_MARGIN_NAME = '[trace padding start]';
|
|
5
6
|
/** Name for the trace end margin event */
|
|
@@ -8,70 +9,52 @@ const TRACE_END_MARGIN_NAME = '[trace padding end]';
|
|
|
8
9
|
const TRACE_MARGIN_US = 1_000_000;
|
|
9
10
|
/** Duration in microseconds for margin events (20ms = 20,000μs) */
|
|
10
11
|
const TRACE_MARGIN_DURATION_US = 20_000;
|
|
11
|
-
/**
|
|
12
|
-
* Generates a complete Chrome DevTools trace file content as JSON string.
|
|
13
|
-
* Adds margin events around the trace events and includes metadata.
|
|
14
|
-
* @param events - Array of user timing trace events to include
|
|
15
|
-
* @param metadata - Optional custom metadata to include in the trace file
|
|
16
|
-
* @returns JSON string representation of the complete trace file
|
|
17
|
-
*/
|
|
18
12
|
export function generateTraceContent(events, metadata) {
|
|
19
|
-
const traceContainer = getTraceFile({
|
|
20
|
-
traceEvents: events,
|
|
21
|
-
startTime: new Date().toISOString(),
|
|
22
|
-
metadata: {
|
|
23
|
-
...metadata,
|
|
24
|
-
generatedAt: new Date().toISOString(),
|
|
25
|
-
},
|
|
26
|
-
});
|
|
27
|
-
const marginUs = TRACE_MARGIN_US;
|
|
28
|
-
const marginDurUs = TRACE_MARGIN_DURATION_US;
|
|
29
|
-
const sortedEvents = [...events].sort((a, b) => a.ts - b.ts);
|
|
30
13
|
const fallbackTs = defaultClock.epochNowUs();
|
|
14
|
+
const sortedEvents = events.length > 0 ? [...events].sort((a, b) => a.ts - b.ts) : [];
|
|
31
15
|
const firstTs = sortedEvents.at(0)?.ts ?? fallbackTs;
|
|
32
16
|
const lastTs = sortedEvents.at(-1)?.ts ?? fallbackTs;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
17
|
+
return JSON.stringify(createTraceFile({
|
|
18
|
+
traceEvents: [
|
|
19
|
+
getInstantEventTracingStartedInBrowser({
|
|
20
|
+
ts: firstTs - TRACE_MARGIN_US,
|
|
21
|
+
// TODO: add the stringifies command of the process that was traced when sharded WAL is implemented in profiler
|
|
22
|
+
url: events.length > 0 ? 'generated-trace' : 'empty-trace',
|
|
23
|
+
}),
|
|
24
|
+
complete(TRACE_START_MARGIN_NAME, TRACE_MARGIN_DURATION_US, {
|
|
25
|
+
ts: firstTs - TRACE_MARGIN_US,
|
|
26
|
+
}),
|
|
27
|
+
...sortedEvents,
|
|
28
|
+
complete(TRACE_END_MARGIN_NAME, TRACE_MARGIN_DURATION_US, {
|
|
29
|
+
ts: lastTs + TRACE_MARGIN_US,
|
|
30
|
+
}),
|
|
31
|
+
],
|
|
32
|
+
metadata: {
|
|
33
|
+
...metadata,
|
|
34
|
+
startTime: new Date(firstTs / 1000).toISOString(),
|
|
35
|
+
},
|
|
36
|
+
}));
|
|
53
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Codec for encoding and decoding trace events.
|
|
40
|
+
* Encodes nested objects in args.detail and args.data.detail to JSON strings for storage.
|
|
41
|
+
*/
|
|
42
|
+
export const traceEventCodec = {
|
|
43
|
+
encode: serializeTraceEvent,
|
|
44
|
+
decode: deserializeTraceEvent,
|
|
45
|
+
};
|
|
54
46
|
/**
|
|
55
47
|
* Creates a WAL (Write-Ahead Logging) format configuration for Chrome DevTools trace files.
|
|
56
48
|
* Automatically finalizes shards into complete trace files with proper metadata and margin events.
|
|
57
49
|
* @returns WalFormat configuration object with baseName, codec, extensions, and finalizer
|
|
58
50
|
*/
|
|
59
51
|
export function traceEventWalFormat() {
|
|
60
|
-
const baseName = 'trace';
|
|
61
|
-
const walExtension = '.jsonl';
|
|
62
|
-
const finalExtension = '.json';
|
|
63
52
|
return {
|
|
64
|
-
baseName,
|
|
65
|
-
walExtension,
|
|
66
|
-
finalExtension,
|
|
67
|
-
codec:
|
|
68
|
-
|
|
69
|
-
decode: (json) => decodeTraceEvent(JSON.parse(json)),
|
|
70
|
-
},
|
|
71
|
-
finalizer: (records, metadata) => {
|
|
72
|
-
const validRecords = records.filter((r) => !(typeof r === 'object' && r != null && '__invalid' in r));
|
|
73
|
-
return generateTraceContent(validRecords, metadata);
|
|
74
|
-
},
|
|
53
|
+
baseName: PROFILER_PERSIST_BASENAME,
|
|
54
|
+
walExtension: '.jsonl',
|
|
55
|
+
finalExtension: '.json',
|
|
56
|
+
codec: traceEventCodec,
|
|
57
|
+
finalizer: (records, metadata) => generateTraceContent(records.filter((r) => !('__invalid' in r)), metadata),
|
|
75
58
|
};
|
|
76
59
|
}
|
|
77
60
|
//# sourceMappingURL=wal-json-trace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wal-json-trace.js","sourceRoot":"","sources":["../../../../src/lib/profiler/wal-json-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,
|
|
1
|
+
{"version":3,"file":"wal-json-trace.js","sourceRoot":"","sources":["../../../../src/lib/profiler/wal-json-trace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EACL,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,sCAAsC,EACtC,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAG/B,4CAA4C;AAC5C,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;AACxD,0CAA0C;AAC1C,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AACpD,sFAAsF;AACtF,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,mEAAmE;AACnE,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAExC,MAAM,UAAU,oBAAoB,CAClC,MAAoB,EACpB,QAAiC;IAEjC,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;IAC7C,MAAM,YAAY,GAChB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnE,MAAM,OAAO,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,UAAU,CAAC;IACrD,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,UAAU,CAAC;IAErD,OAAO,IAAI,CAAC,SAAS,CACnB,eAAe,CAAC;QACd,WAAW,EAAE;YACX,sCAAsC,CAAC;gBACrC,EAAE,EAAE,OAAO,GAAG,eAAe;gBAC7B,+GAA+G;gBAC/G,GAAG,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa;aAC3D,CAAC;YACF,QAAQ,CAAC,uBAAuB,EAAE,wBAAwB,EAAE;gBAC1D,EAAE,EAAE,OAAO,GAAG,eAAe;aAC9B,CAAC;YACF,GAAG,YAAY;YACf,QAAQ,CAAC,qBAAqB,EAAE,wBAAwB,EAAE;gBACxD,EAAE,EAAE,MAAM,GAAG,eAAe;aAC7B,CAAC;SACH;QACD,QAAQ,EAAE;YACR,GAAG,QAAQ;YACX,SAAS,EAAE,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;SAClD;KACF,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,qBAAqB;CAC9B,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,QAAQ,EAAE,yBAAyB;QACnC,YAAY,EAAE,QAAQ;QACtB,cAAc,EAAE,OAAO;QACvB,KAAK,EAAE,eAAe;QACtB,SAAS,EAAE,CACT,OAAsC,EACtC,QAAkC,EAClC,EAAE,CACF,oBAAoB,CAClB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAmB,EAAE,CAAC,CAAC,CAAC,WAAW,IAAK,CAAY,CAAC,CAAC,EACvE,QAAQ,CACT;KAC4B,CAAC;AACpC,CAAC"}
|
package/src/lib/wal.d.ts
CHANGED
|
@@ -168,34 +168,6 @@ export declare function isCoordinatorProcess(envVarName: string, profilerID: str
|
|
|
168
168
|
* Sets envVarName to the current process ID if not already defined.
|
|
169
169
|
*/
|
|
170
170
|
export declare function setCoordinatorProcess(envVarName: string, profilerID: string): void;
|
|
171
|
-
/**
|
|
172
|
-
* Generates a human-readable shard ID.
|
|
173
|
-
* This ID is unique per process/thread/shard combination and used in the file name.
|
|
174
|
-
* Format: readable-timestamp.pid.threadId.shardCount
|
|
175
|
-
* Example: "20240101-120000-000.12345.1.1"
|
|
176
|
-
* Becomes file: trace.20240101-120000-000.12345.1.1.log
|
|
177
|
-
*/
|
|
178
|
-
export declare function getShardId(): string;
|
|
179
|
-
/**
|
|
180
|
-
* Generates a human-readable sharded group ID.
|
|
181
|
-
* This ID is a globally unique, sortable, human-readable date string per run.
|
|
182
|
-
* Used directly as the folder name to group shards.
|
|
183
|
-
* Format: yyyymmdd-hhmmss-ms
|
|
184
|
-
* Example: "20240101-120000-000"
|
|
185
|
-
*/
|
|
186
|
-
export declare function getShardedGroupId(): string;
|
|
187
|
-
/**
|
|
188
|
-
* Regex patterns for validating WAL ID formats
|
|
189
|
-
*/
|
|
190
|
-
export declare const WAL_ID_PATTERNS: {
|
|
191
|
-
/** Readable date format: yyyymmdd-hhmmss-ms */
|
|
192
|
-
readonly READABLE_DATE: RegExp;
|
|
193
|
-
/** Group ID format: yyyymmdd-hhmmss-ms */
|
|
194
|
-
readonly GROUP_ID: RegExp;
|
|
195
|
-
/** Shard ID format: readable-date.pid.threadId.count */
|
|
196
|
-
readonly SHARD_ID: RegExp;
|
|
197
|
-
};
|
|
198
|
-
export declare function sortableReadableDateString(timestampMs: string): string;
|
|
199
171
|
/**
|
|
200
172
|
* Generates a path to a shard file using human-readable IDs.
|
|
201
173
|
* Both groupId and shardId are already in readable date format.
|
package/src/lib/wal.js
CHANGED
|
@@ -3,6 +3,7 @@ import * as fs from 'node:fs';
|
|
|
3
3
|
import path from 'node:path';
|
|
4
4
|
import process from 'node:process';
|
|
5
5
|
import { threadId } from 'node:worker_threads';
|
|
6
|
+
import { getUniqueInstanceId, getUniqueTimeId, } from './process-id.js';
|
|
6
7
|
export const createTolerantCodec = (codec) => {
|
|
7
8
|
const { encode, decode } = codec;
|
|
8
9
|
return {
|
|
@@ -230,8 +231,14 @@ export function setCoordinatorProcess(envVarName, profilerID) {
|
|
|
230
231
|
process.env[envVarName] = profilerID;
|
|
231
232
|
}
|
|
232
233
|
}
|
|
233
|
-
|
|
234
|
-
|
|
234
|
+
/**
|
|
235
|
+
* Simple counter implementation for generating sequential IDs.
|
|
236
|
+
*/
|
|
237
|
+
const shardCounter = (() => {
|
|
238
|
+
// eslint-disable-next-line functional/no-let
|
|
239
|
+
let count = 0;
|
|
240
|
+
return { next: () => ++count };
|
|
241
|
+
})();
|
|
235
242
|
/**
|
|
236
243
|
* Generates a unique sharded WAL ID based on performance time origin, process ID, thread ID, and instance count.
|
|
237
244
|
*/
|
|
@@ -239,53 +246,6 @@ function getShardedWalId() {
|
|
|
239
246
|
// eslint-disable-next-line functional/immutable-data
|
|
240
247
|
return `${Math.round(performance.timeOrigin)}.${process.pid}.${threadId}.${++ShardedWal.instanceCount}`;
|
|
241
248
|
}
|
|
242
|
-
/**
|
|
243
|
-
* Generates a human-readable shard ID.
|
|
244
|
-
* This ID is unique per process/thread/shard combination and used in the file name.
|
|
245
|
-
* Format: readable-timestamp.pid.threadId.shardCount
|
|
246
|
-
* Example: "20240101-120000-000.12345.1.1"
|
|
247
|
-
* Becomes file: trace.20240101-120000-000.12345.1.1.log
|
|
248
|
-
*/
|
|
249
|
-
export function getShardId() {
|
|
250
|
-
const timestamp = Math.round(performance.timeOrigin + performance.now());
|
|
251
|
-
const readableTimestamp = sortableReadableDateString(`${timestamp}`);
|
|
252
|
-
return `${readableTimestamp}.${process.pid}.${threadId}.${++shardCount}`;
|
|
253
|
-
}
|
|
254
|
-
/**
|
|
255
|
-
* Generates a human-readable sharded group ID.
|
|
256
|
-
* This ID is a globally unique, sortable, human-readable date string per run.
|
|
257
|
-
* Used directly as the folder name to group shards.
|
|
258
|
-
* Format: yyyymmdd-hhmmss-ms
|
|
259
|
-
* Example: "20240101-120000-000"
|
|
260
|
-
*/
|
|
261
|
-
export function getShardedGroupId() {
|
|
262
|
-
return sortableReadableDateString(`${Math.round(performance.timeOrigin + performance.now())}`);
|
|
263
|
-
}
|
|
264
|
-
/**
|
|
265
|
-
* Regex patterns for validating WAL ID formats
|
|
266
|
-
*/
|
|
267
|
-
export const WAL_ID_PATTERNS = {
|
|
268
|
-
/** Readable date format: yyyymmdd-hhmmss-ms */
|
|
269
|
-
READABLE_DATE: /^\d{8}-\d{6}-\d{3}$/,
|
|
270
|
-
/** Group ID format: yyyymmdd-hhmmss-ms */
|
|
271
|
-
GROUP_ID: /^\d{8}-\d{6}-\d{3}$/,
|
|
272
|
-
/** Shard ID format: readable-date.pid.threadId.count */
|
|
273
|
-
SHARD_ID: /^\d{8}-\d{6}-\d{3}(?:\.\d+){3}$/,
|
|
274
|
-
};
|
|
275
|
-
export function sortableReadableDateString(timestampMs) {
|
|
276
|
-
const timestamp = Number.parseInt(timestampMs, 10);
|
|
277
|
-
const date = new Date(timestamp);
|
|
278
|
-
const MILLISECONDS_PER_SECOND = 1000;
|
|
279
|
-
const yyyy = date.getFullYear();
|
|
280
|
-
const mm = String(date.getMonth() + 1).padStart(2, '0');
|
|
281
|
-
const dd = String(date.getDate()).padStart(2, '0');
|
|
282
|
-
const hh = String(date.getHours()).padStart(2, '0');
|
|
283
|
-
const min = String(date.getMinutes()).padStart(2, '0');
|
|
284
|
-
const ss = String(date.getSeconds()).padStart(2, '0');
|
|
285
|
-
// eslint-disable-next-line @typescript-eslint/no-magic-numbers
|
|
286
|
-
const ms = String(timestamp % MILLISECONDS_PER_SECOND).padStart(3, '0');
|
|
287
|
-
return `${yyyy}${mm}${dd}-${hh}${min}${ss}-${ms}`;
|
|
288
|
-
}
|
|
289
249
|
/**
|
|
290
250
|
* Ensures a directory exists, creating it recursively if necessary using sync methods.
|
|
291
251
|
* @param dirPath - The directory path to ensure exists
|
|
@@ -325,7 +285,7 @@ export function getShardedFinalPath(opt) {
|
|
|
325
285
|
export class ShardedWal {
|
|
326
286
|
static instanceCount = 0;
|
|
327
287
|
#id = getShardedWalId();
|
|
328
|
-
groupId =
|
|
288
|
+
groupId = getUniqueTimeId();
|
|
329
289
|
#format;
|
|
330
290
|
#dir = process.cwd();
|
|
331
291
|
#isCoordinator;
|
|
@@ -339,7 +299,7 @@ export class ShardedWal {
|
|
|
339
299
|
*/
|
|
340
300
|
constructor(opt) {
|
|
341
301
|
const { dir, format, groupId, coordinatorIdEnvVar } = opt;
|
|
342
|
-
this.groupId = groupId ??
|
|
302
|
+
this.groupId = groupId ?? getUniqueTimeId();
|
|
343
303
|
if (dir) {
|
|
344
304
|
this.#dir = dir;
|
|
345
305
|
}
|
|
@@ -357,7 +317,7 @@ export class ShardedWal {
|
|
|
357
317
|
isCoordinator() {
|
|
358
318
|
return this.#isCoordinator;
|
|
359
319
|
}
|
|
360
|
-
shard(shardId =
|
|
320
|
+
shard(shardId = getUniqueInstanceId(shardCounter)) {
|
|
361
321
|
return new WriteAheadLogFile({
|
|
362
322
|
file: getShardedPath({
|
|
363
323
|
dir: this.#dir,
|
package/src/lib/wal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wal.js","sourceRoot":"","sources":["../../../src/lib/wal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wal.js","sourceRoot":"","sources":["../../../src/lib/wal.ts"],"names":[],"mappings":"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"}
|