Skip to content

Commit 9db3918

Browse files
committed
refactor: fix typing tests
1 parent af6dd54 commit 9db3918

16 files changed

+388
-444
lines changed

packages/utils/mocks/multiprocess-profiling/utils.ts

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {
22
NodejsProfiler,
3-
type NodejsProfilerOptions,
3+
type NodejsProfilerOptionsWithFormat,
44
} from '../../src/lib/profiler/profiler-node.js';
55
import { entryToTraceEvents } from '../../src/lib/profiler/trace-file-utils.js';
66
import type { TraceEvent } from '../../src/lib/profiler/trace-file.type.js';
@@ -26,12 +26,18 @@ export function getTrackConfig(): TrackMeta {
2626
*/
2727
export function getProfilerConfig(
2828
options?: Partial<
29-
NodejsProfilerOptions<TraceEvent, Record<string, ActionTrackEntryPayload>>
29+
NodejsProfilerOptionsWithFormat<
30+
TraceEvent,
31+
Record<string, ActionTrackEntryPayload>
32+
>
3033
>,
31-
): NodejsProfilerOptions<TraceEvent, Record<string, ActionTrackEntryPayload>> {
34+
): NodejsProfilerOptionsWithFormat<
35+
TraceEvent,
36+
Record<string, ActionTrackEntryPayload>
37+
> {
3238
return {
3339
format: {
34-
...traceEventWalFormat(),
40+
...traceEventWalFormat,
3541
encodePerfEntry: entryToTraceEvents,
3642
},
3743
...getTrackConfig(),

packages/utils/mocks/omit-trace-json.ts

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import type {
1616
const BASE_TS = 1_700_000_005_000_000;
1717
const FIXED_TIME = '2026-01-28T14:29:27.995Z';
1818

19-
/* ───────────── IO ───────────── */
2019
const read = (p: string) => fs.readFile(p, 'utf8').then(s => s.trim());
2120
const parseJsonl = (s: string) =>
2221
s
@@ -25,7 +24,6 @@ const parseJsonl = (s: string) =>
2524
.map(l => JSON.parse(l));
2625
const parseDecodeJsonl = (s: string) => parseJsonl(s).map(decodeEvent);
2726

28-
/* ───────────── Metadata ───────────── */
2927
const normMeta = (
3028
m?: TraceMetadata | Record<string, unknown>,
3129
keepGen = true,
@@ -42,7 +40,6 @@ const normMeta = (
4240
} as TraceMetadata)
4341
: undefined;
4442

45-
/* ───────────── Detail ───────────── */
4643
const normalizeDetail = (d: unknown): unknown => {
4744
const o =
4845
typeof d === 'string'
@@ -101,7 +98,6 @@ const ctx = (e: TraceEvent[], base = BASE_TS) => ({
10198
),
10299
});
103100

104-
/* ───────────── Event normalization ───────────── */
105101
const mapIf = <T, R>(v: T | undefined, m: Map<T, R>, k: string) =>
106102
v != null && m.has(v) ? { [k]: m.get(v)! } : {};
107103

@@ -152,7 +148,6 @@ const normalizeEvent = (
152148
};
153149
};
154150

155-
/* ───────────── Public normalization ───────────── */
156151
export const normalizeTraceEvents = (
157152
events: TraceEvent[],
158153
{ baseTimestampUs = BASE_TS } = {},
@@ -176,12 +171,9 @@ export const normalizeAndFormatEvents = (
176171
: input
177172
: normalizeTraceEvents(input, opts);
178173

179-
/* ───────────── Loaders ───────────── */
180174
export const loadAndOmitTraceJsonl = (p: `${string}.jsonl`, o?: any) =>
181175
read(p).then(s => normalizeAndFormatEvents(parseDecodeJsonl(s), o));
182176

183-
export const loadTraceJsonlForSnapshot = loadAndOmitTraceJsonl;
184-
185177
export const loadAndOmitTraceJson = async (
186178
p: string,
187179
o?: { baseTimestampUs: number },
@@ -196,23 +188,3 @@ export const loadAndOmitTraceJson = async (
196188
JSON.stringify(r);
197189
return r;
198190
};
199-
200-
export const loadNormalizedTraceJson = async (
201-
p: `${string}.json`,
202-
): Promise<TraceEventContainer> => {
203-
const j = JSON.parse(await read(p));
204-
const r = createTraceFile({
205-
traceEvents: normalizeTraceEvents(j.traceEvents?.map(decodeEvent) ?? []),
206-
metadata: normMeta(j.metadata, false),
207-
startTime: j.metadata?.startTime,
208-
});
209-
const { displayTimeUnit, ...rest } = r;
210-
return rest;
211-
};
212-
213-
export const loadNormalizedTraceJsonl = async (
214-
p: `${string}.jsonl`,
215-
): Promise<TraceEventContainer> =>
216-
createTraceFile({
217-
traceEvents: normalizeTraceEvents(parseDecodeJsonl(await read(p))),
218-
});

packages/utils/src/lib/profiler.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { getNodeJSProfiler } from './profiler/profiler-node';
2+
3+
export const profiler = getNodeJSProfiler({
4+
track: 'CLI',
5+
prefix: 'cp',
6+
tracks: {
7+
cli: {
8+
track: 'CLI',
9+
trackGroup: 'CLI Group',
10+
color: 'primary-dark',
11+
},
12+
},
13+
});
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000000,"name":"stats-profiler:operation-1:start","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}}
2-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000001,"name":"stats-profiler:operation-1","ph":"b","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}
3-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000002,"name":"stats-profiler:operation-1","ph":"e","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}
4-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000003,"name":"stats-profiler:operation-1:end","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}}
5-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000004,"name":"stats-profiler:operation-2:start","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}}
6-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000005,"name":"stats-profiler:operation-2","ph":"b","id2":{"local":"0x2"},"args":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}
7-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000006,"name":"stats-profiler:operation-2","ph":"e","id2":{"local":"0x2"},"args":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}
8-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000007,"name":"stats-profiler:operation-2:end","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}}
2+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000100,"name":"stats-profiler:operation-1","ph":"b","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}
3+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000200,"name":"stats-profiler:operation-1","ph":"e","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}
4+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000300,"name":"stats-profiler:operation-1:end","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}}
5+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000400,"name":"stats-profiler:operation-2:start","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}}
6+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000500,"name":"stats-profiler:operation-2","ph":"b","id2":{"local":"0x2"},"args":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}
7+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000600,"name":"stats-profiler:operation-2","ph":"e","id2":{"local":"0x2"},"args":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}
8+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000700,"name":"stats-profiler:operation-2:end","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Stats\",\"dataType\":\"track-entry\"}}"}}}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000000,"name":"api-server:user-lookup:start","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"cache\",\"dataType\":\"track-entry\"}}"}}}
2-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000001,"name":"api-server:user-lookup","ph":"b","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"cache\",\"dataType\":\"track-entry\"}}"}}
3-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000002,"name":"api-server:user-lookup","ph":"e","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"cache\",\"dataType\":\"track-entry\"}}"}}
4-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000003,"name":"api-server:user-lookup:end","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"cache\",\"dataType\":\"track-entry\"}}"}}}
2+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000100,"name":"api-server:user-lookup","ph":"b","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"cache\",\"dataType\":\"track-entry\"}}"}}
3+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000200,"name":"api-server:user-lookup","ph":"e","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"cache\",\"dataType\":\"track-entry\"}}"}}
4+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000300,"name":"api-server:user-lookup:end","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"cache\",\"dataType\":\"track-entry\"}}"}}}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000000,"name":"write-test:test-operation:start","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Test\",\"dataType\":\"track-entry\"}}"}}}
2-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000001,"name":"write-test:test-operation","ph":"b","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"Test\",\"dataType\":\"track-entry\"}}"}}
3-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000002,"name":"write-test:test-operation","ph":"e","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"Test\",\"dataType\":\"track-entry\"}}"}}
4-
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000003,"name":"write-test:test-operation:end","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Test\",\"dataType\":\"track-entry\"}}"}}}
2+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000100,"name":"write-test:test-operation","ph":"b","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"Test\",\"dataType\":\"track-entry\"}}"}}
3+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000200,"name":"write-test:test-operation","ph":"e","id2":{"local":"0x1"},"args":{"detail":"{\"devtools\":{\"track\":\"Test\",\"dataType\":\"track-entry\"}}"}}
4+
{"cat":"blink.user_timing","pid":10001,"tid":1,"ts":1700000005000300,"name":"write-test:test-operation:end","ph":"I","args":{"data":{"detail":"{\"devtools\":{\"track\":\"Test\",\"dataType\":\"track-entry\"}}"}}}

packages/utils/src/lib/profiler/constants.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import path from 'node:path';
2+
13
/**
24
* Environment variable name for enabling/disabling profiling globally.
35
* When set to 'true', profiling is enabled. When set to 'false' or unset, profiling is disabled.
@@ -32,6 +34,12 @@ export const SHARDED_WAL_COORDINATOR_ID_ENV_VAR =
3234
*/
3335
export const PROFILER_PERSIST_BASENAME = 'trace';
3436

37+
/**
38+
* Default base name for WAL files.
39+
* Used as the base name for sharded WAL files (e.g., "trace" in "trace.json").
40+
*/
41+
export const PROFILER_PERSIST_OUTDIR = path.join('tmp', 'profiles');
42+
3543
/**
3644
* Name for current measure.
3745
* Used as the name for the sharded folder.

0 commit comments

Comments
 (0)