@uptimizr/sdk-core 0.1.1 → 0.2.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/dist/aggregation/aggregator.d.ts +62 -0
- package/dist/aggregation/aggregator.d.ts.map +1 -0
- package/dist/aggregation/aggregator.js +194 -0
- package/dist/aggregation/aggregator.js.map +1 -0
- package/dist/aggregation/index.d.ts +14 -0
- package/dist/aggregation/index.d.ts.map +1 -0
- package/dist/aggregation/index.js +11 -0
- package/dist/aggregation/index.js.map +1 -0
- package/dist/aggregation/math.d.ts +63 -0
- package/dist/aggregation/math.d.ts.map +1 -0
- package/dist/aggregation/math.js +118 -0
- package/dist/aggregation/math.js.map +1 -0
- package/dist/aggregation/snapshot.d.ts +123 -0
- package/dist/aggregation/snapshot.d.ts.map +1 -0
- package/dist/aggregation/snapshot.js +16 -0
- package/dist/aggregation/snapshot.js.map +1 -0
- package/dist/aggregationSink.d.ts +67 -0
- package/dist/aggregationSink.d.ts.map +1 -0
- package/dist/aggregationSink.js +110 -0
- package/dist/aggregationSink.js.map +1 -0
- package/dist/client.d.ts +22 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +69 -3
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/offloadProtocol.d.ts +52 -8
- package/dist/offloadProtocol.d.ts.map +1 -1
- package/dist/offloadWorker.js +38 -7
- package/dist/offloadWorker.js.map +1 -1
- package/dist/processor.d.ts +2 -0
- package/dist/processor.d.ts.map +1 -1
- package/dist/processor.js +1 -1
- package/dist/processor.js.map +1 -1
- package/dist/types.d.ts +15 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collect the transferable buffers a snapshot carries so they move to the worker
|
|
3
|
+
* zero-copy (ADR 0031 §6, #98). Transferring neuters the buffer on the main
|
|
4
|
+
* thread, so a snapshot that opts in must own a fresh buffer; the aggregator's
|
|
5
|
+
* default (main) path never transfers, so the buffer stays usable there.
|
|
6
|
+
*/
|
|
7
|
+
export function collectSnapshotTransferables(snapshot) {
|
|
8
|
+
if (snapshot.channel === "perf") {
|
|
9
|
+
return [snapshot.frameTimes.buffer];
|
|
10
|
+
}
|
|
11
|
+
if (snapshot.channel === "node" && snapshot.matrix) {
|
|
12
|
+
return [snapshot.matrix.buffer];
|
|
13
|
+
}
|
|
14
|
+
return [];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=snapshot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../../src/aggregation/snapshot.ts"],"names":[],"mappings":"AAwIA;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,QAAkB;IAC7D,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,QAAQ,CAAC,OAAO,KAAK,MAAM,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Aggregator, AggregatorConfig } from "./aggregation/aggregator.js";
|
|
2
|
+
import { type Snapshot } from "./aggregation/snapshot.js";
|
|
3
|
+
import { type WorkerFactory } from "./processor.js";
|
|
4
|
+
import type { EventInput } from "./types.js";
|
|
5
|
+
/**
|
|
6
|
+
* An **AggregationSink** owns the offload-eligible *aggregation* phase of the SDK
|
|
7
|
+
* (ADR 0031 follow-up, #10): turning the raw, plain-number {@link Snapshot} DTOs
|
|
8
|
+
* a connector emits per frame into finalized analytics events. It sits between
|
|
9
|
+
* the connector (via `ctx.snapshot`) and the client's emit/queue/flush loop.
|
|
10
|
+
*
|
|
11
|
+
* Two implementations exist, mirroring the transport {@link Processor} seam:
|
|
12
|
+
* - {@link createMainSink} — the default; runs the aggregator synchronously on
|
|
13
|
+
* the main thread, emitting finalized events inline. Byte-for-byte identical to
|
|
14
|
+
* the pre-seam behaviour where each connector aggregated inline.
|
|
15
|
+
* - {@link createWorkerAggregationSink} — opt-in; ships snapshots to a worker
|
|
16
|
+
* (high-volume channels by transfer, zero-copy) where a worker-resident
|
|
17
|
+
* aggregator finalizes them and posts the events back to the page.
|
|
18
|
+
*
|
|
19
|
+
* In both cases the finalized events are emitted on the **main thread**, so the
|
|
20
|
+
* envelope, `beforeSend` (a page closure), the queue and the unload guarantee
|
|
21
|
+
* (ADR 0031 §5) are all preserved unchanged.
|
|
22
|
+
*/
|
|
23
|
+
export interface AggregationSink {
|
|
24
|
+
/**
|
|
25
|
+
* Ingest one raw snapshot. `capturedAt` is the page-stamped capture time
|
|
26
|
+
* (epoch ms); it is carried onto the emitted events' `ts` so worker round-trip
|
|
27
|
+
* latency does not skew timestamps.
|
|
28
|
+
*/
|
|
29
|
+
ingest(snapshot: Snapshot, capturedAt: number): void;
|
|
30
|
+
/**
|
|
31
|
+
* Drain any aggregator state that finalizes on demand, then resolve once all
|
|
32
|
+
* resulting events have been emitted on the main thread. Awaited by the
|
|
33
|
+
* client's terminal unload flush so no window is lost (ADR 0031 §5).
|
|
34
|
+
*/
|
|
35
|
+
drain(): Promise<void>;
|
|
36
|
+
/** Release resources (e.g. terminate the worker). Idempotent. */
|
|
37
|
+
dispose(): void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The default sink: run the given main-thread {@link Aggregator} synchronously.
|
|
41
|
+
* `ingest` finalizes inline (the aggregator's `emit` callback fires during the
|
|
42
|
+
* call), so this is identical to the old inline-connector behaviour.
|
|
43
|
+
*/
|
|
44
|
+
export declare function createMainSink(aggregator: Aggregator): AggregationSink;
|
|
45
|
+
export interface WorkerAggregationSinkOptions {
|
|
46
|
+
/** Serializable per-channel aggregation config (no callbacks/handles). */
|
|
47
|
+
config: AggregatorConfig;
|
|
48
|
+
/** Called on the main thread with finalized events from the worker. */
|
|
49
|
+
onEvents: (events: EventInput[], capturedAt: number) => void;
|
|
50
|
+
/**
|
|
51
|
+
* How to construct the worker. Defaults to the SDK-bundled module worker, the
|
|
52
|
+
* same asset the transport processor uses.
|
|
53
|
+
*/
|
|
54
|
+
workerFactory?: WorkerFactory;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Create a worker-backed aggregation sink (ADR 0031 follow-up, #10). Returns
|
|
58
|
+
* `null` when a worker cannot be constructed (no `Worker` global, the bundler did
|
|
59
|
+
* not emit the asset, a restrictive CSP, SSR, or tests) so the caller can fall
|
|
60
|
+
* back to a main-thread sink — worker mode is never required for correctness.
|
|
61
|
+
*
|
|
62
|
+
* Uses its own dedicated worker instance (separate from the transport
|
|
63
|
+
* processor's) so the existing transport seam stays untouched; each worker only
|
|
64
|
+
* acts on the messages it receives.
|
|
65
|
+
*/
|
|
66
|
+
export declare function createWorkerAggregationSink(options: WorkerAggregationSinkOptions): AggregationSink | null;
|
|
67
|
+
//# sourceMappingURL=aggregationSink.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregationSink.d.ts","sourceRoot":"","sources":["../src/aggregationSink.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAgC,KAAK,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAwB,KAAK,aAAa,EAAmB,MAAM,gBAAgB,CAAC;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQ7C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACrD;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iEAAiE;IACjE,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CAQtE;AAED,MAAM,WAAW,4BAA4B;IAC3C,0EAA0E;IAC1E,MAAM,EAAE,gBAAgB,CAAC;IACzB,uEAAuE;IACvE,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;;;;;;;;GASG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,4BAA4B,GACpC,eAAe,GAAG,IAAI,CAsFxB"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { collectSnapshotTransferables } from "./aggregation/snapshot.js";
|
|
2
|
+
import { defaultWorkerFactory } from "./processor.js";
|
|
3
|
+
/**
|
|
4
|
+
* The default sink: run the given main-thread {@link Aggregator} synchronously.
|
|
5
|
+
* `ingest` finalizes inline (the aggregator's `emit` callback fires during the
|
|
6
|
+
* call), so this is identical to the old inline-connector behaviour.
|
|
7
|
+
*/
|
|
8
|
+
export function createMainSink(aggregator) {
|
|
9
|
+
return {
|
|
10
|
+
ingest: (snapshot) => aggregator.ingest(snapshot),
|
|
11
|
+
drain: () => Promise.resolve(),
|
|
12
|
+
dispose: () => {
|
|
13
|
+
/* nothing to release */
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a worker-backed aggregation sink (ADR 0031 follow-up, #10). Returns
|
|
19
|
+
* `null` when a worker cannot be constructed (no `Worker` global, the bundler did
|
|
20
|
+
* not emit the asset, a restrictive CSP, SSR, or tests) so the caller can fall
|
|
21
|
+
* back to a main-thread sink — worker mode is never required for correctness.
|
|
22
|
+
*
|
|
23
|
+
* Uses its own dedicated worker instance (separate from the transport
|
|
24
|
+
* processor's) so the existing transport seam stays untouched; each worker only
|
|
25
|
+
* acts on the messages it receives.
|
|
26
|
+
*/
|
|
27
|
+
export function createWorkerAggregationSink(options) {
|
|
28
|
+
const factory = options.workerFactory ?? defaultWorkerFactory;
|
|
29
|
+
let worker;
|
|
30
|
+
try {
|
|
31
|
+
worker = factory();
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
let disposed = false;
|
|
37
|
+
let nextId = 1;
|
|
38
|
+
const pendingDrains = new Map();
|
|
39
|
+
worker.addEventListener("message", (event) => {
|
|
40
|
+
const data = event.data;
|
|
41
|
+
if (!data) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (data.type === "events") {
|
|
45
|
+
options.onEvents(data.events, data.capturedAt);
|
|
46
|
+
}
|
|
47
|
+
else if (data.type === "unloadDone") {
|
|
48
|
+
const resolve = pendingDrains.get(data.id);
|
|
49
|
+
if (resolve) {
|
|
50
|
+
pendingDrains.delete(data.id);
|
|
51
|
+
resolve();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
// If the worker errors, unblock any pending drain so unload still completes.
|
|
56
|
+
worker.addEventListener("error", () => {
|
|
57
|
+
for (const resolve of pendingDrains.values()) {
|
|
58
|
+
resolve();
|
|
59
|
+
}
|
|
60
|
+
pendingDrains.clear();
|
|
61
|
+
});
|
|
62
|
+
try {
|
|
63
|
+
worker.postMessage({ type: "aggInit", config: options.config });
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
worker.terminate?.();
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
return {
|
|
70
|
+
ingest(snapshot, capturedAt) {
|
|
71
|
+
if (disposed) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
worker.postMessage({ type: "snapshot", capturedAt, snapshot }, collectSnapshotTransferables(snapshot));
|
|
76
|
+
}
|
|
77
|
+
catch {
|
|
78
|
+
/* drop a single snapshot rather than throw into the render loop */
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
drain() {
|
|
82
|
+
if (disposed) {
|
|
83
|
+
return Promise.resolve();
|
|
84
|
+
}
|
|
85
|
+
const id = nextId++;
|
|
86
|
+
return new Promise((resolve) => {
|
|
87
|
+
pendingDrains.set(id, resolve);
|
|
88
|
+
try {
|
|
89
|
+
worker.postMessage({ type: "flushUnload", id });
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
pendingDrains.delete(id);
|
|
93
|
+
resolve();
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
},
|
|
97
|
+
dispose() {
|
|
98
|
+
if (disposed) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
disposed = true;
|
|
102
|
+
for (const resolve of pendingDrains.values()) {
|
|
103
|
+
resolve();
|
|
104
|
+
}
|
|
105
|
+
pendingDrains.clear();
|
|
106
|
+
worker.terminate?.();
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=aggregationSink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aggregationSink.js","sourceRoot":"","sources":["../src/aggregationSink.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAiB,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAuC,MAAM,gBAAgB,CAAC;AA4C3F;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,UAAsB;IACnD,OAAO;QACL,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC;QACjD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAC9B,OAAO,EAAE,GAAG,EAAE;YACZ,wBAAwB;QAC1B,CAAC;KACF,CAAC;AACJ,CAAC;AAcD;;;;;;;;;GASG;AACH,MAAM,UAAU,2BAA2B,CACzC,OAAqC;IAErC,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,IAAI,oBAAoB,CAAC;IAE9D,IAAI,MAAkB,CAAC;IACvB,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,EAAE,CAAC;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,MAAM,aAAa,GAAG,IAAI,GAAG,EAAsB,CAAC;IAEpD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAkC,CAAC;QACtD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE,CAAC;gBACZ,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC9B,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6EAA6E;IAC7E,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACpC,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,aAAa,CAAC,KAAK,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAiC,CAAC,CAAC;IACjG,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,MAAM,CAAC,QAAkB,EAAE,UAAkB;YAC3C,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,CAAC,WAAW,CAChB,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAkC,EAC1E,4BAA4B,CAAC,QAAQ,CAAC,CACvC,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;YACrE,CAAC;QACH,CAAC;QACD,KAAK;YACH,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;YACD,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;YACpB,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC/B,IAAI,CAAC;oBACH,MAAM,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAqC,CAAC,CAAC;gBACrF,CAAC;gBAAC,MAAM,CAAC;oBACP,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBACzB,OAAO,EAAE,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,KAAK,MAAM,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC7C,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACvB,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/client.d.ts
CHANGED
|
@@ -18,6 +18,11 @@ export declare class UptimizrClient {
|
|
|
18
18
|
private readonly beforeSend?;
|
|
19
19
|
private readonly collectors;
|
|
20
20
|
private readonly handles;
|
|
21
|
+
private readonly aggSinks;
|
|
22
|
+
/** Set when a custom transport disables worker offload (main-thread closure). */
|
|
23
|
+
private readonly customTransport?;
|
|
24
|
+
/** Bundler escape hatch for constructing the offload worker. */
|
|
25
|
+
private readonly createWorkerFn?;
|
|
21
26
|
private started;
|
|
22
27
|
private startedAt;
|
|
23
28
|
private url?;
|
|
@@ -49,6 +54,15 @@ export declare class UptimizrClient {
|
|
|
49
54
|
setScene(sceneId: string): void;
|
|
50
55
|
/** Build the envelope and queue an event. */
|
|
51
56
|
emit(input: EventInput): void;
|
|
57
|
+
/**
|
|
58
|
+
* Build the envelope (stamping the given `ts`) and queue an event. Unlike the
|
|
59
|
+
* public {@link emit}, this does **not** gate on `started`, so finalized events
|
|
60
|
+
* returned asynchronously from the worker-resident aggregator are still queued
|
|
61
|
+
* while the session is draining on stop (replay-completeness, ADR 0031 §5). The
|
|
62
|
+
* `ts` is the snapshot's page-stamped capture time, so worker round-trip latency
|
|
63
|
+
* does not skew timestamps.
|
|
64
|
+
*/
|
|
65
|
+
private emitInternal;
|
|
52
66
|
/** Emit a developer-defined `custom` event. */
|
|
53
67
|
track(name: string, props?: Record<string, CustomPropValue>): void;
|
|
54
68
|
/**
|
|
@@ -91,6 +105,14 @@ export declare class UptimizrClient {
|
|
|
91
105
|
* constructed; otherwise it transparently falls back to the main thread.
|
|
92
106
|
*/
|
|
93
107
|
private createProcessor;
|
|
108
|
+
/**
|
|
109
|
+
* Build the aggregation sink for a connector channel (ADR 0031 follow-up, #10),
|
|
110
|
+
* mirroring {@link createProcessor}. With `offload: "worker"` (and no custom
|
|
111
|
+
* transport) snapshots are aggregated in a worker; otherwise — or if a worker
|
|
112
|
+
* cannot be constructed — a synchronous main-thread aggregator runs, keeping the
|
|
113
|
+
* default path byte-for-byte identical to inline-connector aggregation.
|
|
114
|
+
*/
|
|
115
|
+
private createAggregation;
|
|
94
116
|
private startCollector;
|
|
95
117
|
private onVisibilityChange;
|
|
96
118
|
private onFocusChange;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,eAAe,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -3,6 +3,8 @@ import { EventQueue } from "./queue.js";
|
|
|
3
3
|
import { randomId } from "./idgen.js";
|
|
4
4
|
import { createBeaconTransport } from "./transport.js";
|
|
5
5
|
import { createMainProcessor, createWorkerProcessor, } from "./processor.js";
|
|
6
|
+
import { createAggregator } from "./aggregation/aggregator.js";
|
|
7
|
+
import { createMainSink, createWorkerAggregationSink, } from "./aggregationSink.js";
|
|
6
8
|
import { SDK_VERSION } from "./version.js";
|
|
7
9
|
const DEFAULTS = {
|
|
8
10
|
batchSize: 20,
|
|
@@ -44,6 +46,11 @@ export class UptimizrClient {
|
|
|
44
46
|
beforeSend;
|
|
45
47
|
collectors = [];
|
|
46
48
|
handles = [];
|
|
49
|
+
aggSinks = [];
|
|
50
|
+
/** Set when a custom transport disables worker offload (main-thread closure). */
|
|
51
|
+
customTransport;
|
|
52
|
+
/** Bundler escape hatch for constructing the offload worker. */
|
|
53
|
+
createWorkerFn;
|
|
47
54
|
started = false;
|
|
48
55
|
startedAt = 0;
|
|
49
56
|
url;
|
|
@@ -67,6 +74,8 @@ export class UptimizrClient {
|
|
|
67
74
|
this.sessionId = randomId();
|
|
68
75
|
this.queue = new EventQueue(this.config.maxQueueSize);
|
|
69
76
|
this.transport = config.transport ?? createBeaconTransport(this.config.endpoint);
|
|
77
|
+
this.customTransport = config.transport;
|
|
78
|
+
this.createWorkerFn = config.createWorker;
|
|
70
79
|
this.processor = this.createProcessor(config);
|
|
71
80
|
this.beforeSend = config.beforeSend;
|
|
72
81
|
}
|
|
@@ -142,11 +151,25 @@ export class UptimizrClient {
|
|
|
142
151
|
if (!this.started || this.config.disabled) {
|
|
143
152
|
return;
|
|
144
153
|
}
|
|
154
|
+
this.emitInternal(input, this.now());
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Build the envelope (stamping the given `ts`) and queue an event. Unlike the
|
|
158
|
+
* public {@link emit}, this does **not** gate on `started`, so finalized events
|
|
159
|
+
* returned asynchronously from the worker-resident aggregator are still queued
|
|
160
|
+
* while the session is draining on stop (replay-completeness, ADR 0031 §5). The
|
|
161
|
+
* `ts` is the snapshot's page-stamped capture time, so worker round-trip latency
|
|
162
|
+
* does not skew timestamps.
|
|
163
|
+
*/
|
|
164
|
+
emitInternal(input, ts) {
|
|
165
|
+
if (this.config.disabled) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
145
168
|
const event = {
|
|
146
169
|
...input,
|
|
147
170
|
projectId: this.config.projectId,
|
|
148
171
|
sessionId: this.sessionId,
|
|
149
|
-
ts
|
|
172
|
+
ts,
|
|
150
173
|
sdkVersion: this.config.sdkVersion,
|
|
151
174
|
...(this.url ? { url: this.url } : {}),
|
|
152
175
|
...(this.currentScene !== DEFAULT_SCENE_ID ? { sceneId: this.currentScene } : {}),
|
|
@@ -241,7 +264,6 @@ export class UptimizrClient {
|
|
|
241
264
|
durationMs: this.now() - this.startedAt,
|
|
242
265
|
reason,
|
|
243
266
|
});
|
|
244
|
-
this.started = false;
|
|
245
267
|
if (this.flushTimer) {
|
|
246
268
|
clearInterval(this.flushTimer);
|
|
247
269
|
this.flushTimer = undefined;
|
|
@@ -250,9 +272,21 @@ export class UptimizrClient {
|
|
|
250
272
|
for (const handle of this.handles.splice(0)) {
|
|
251
273
|
handle.stop();
|
|
252
274
|
}
|
|
275
|
+
// Drain any worker-resident aggregator state so the final windows are
|
|
276
|
+
// finalized and their events queued on the main thread before we send
|
|
277
|
+
// (ADR 0031 §5). `postMessage` ordering guarantees every prior snapshot's
|
|
278
|
+
// events arrive before each sink's drain barrier resolves. `started` is still
|
|
279
|
+
// true here so those returned events queue normally.
|
|
280
|
+
if (this.aggSinks.length > 0) {
|
|
281
|
+
await Promise.all(this.aggSinks.map((sink) => sink.drain()));
|
|
282
|
+
}
|
|
283
|
+
this.started = false;
|
|
253
284
|
// Terminal flush on the main thread (beacon-reliable), then release the
|
|
254
|
-
// worker if
|
|
285
|
+
// worker(s) if any were running (ADR 0031).
|
|
255
286
|
await this.flush({ unload: true });
|
|
287
|
+
for (const sink of this.aggSinks.splice(0)) {
|
|
288
|
+
sink.dispose();
|
|
289
|
+
}
|
|
256
290
|
this.processor.dispose();
|
|
257
291
|
}
|
|
258
292
|
/** Current time in epoch ms. Isolated for test overrides. */
|
|
@@ -287,6 +321,37 @@ export class UptimizrClient {
|
|
|
287
321
|
}
|
|
288
322
|
return createMainProcessor(this.transport);
|
|
289
323
|
}
|
|
324
|
+
/**
|
|
325
|
+
* Build the aggregation sink for a connector channel (ADR 0031 follow-up, #10),
|
|
326
|
+
* mirroring {@link createProcessor}. With `offload: "worker"` (and no custom
|
|
327
|
+
* transport) snapshots are aggregated in a worker; otherwise — or if a worker
|
|
328
|
+
* cannot be constructed — a synchronous main-thread aggregator runs, keeping the
|
|
329
|
+
* default path byte-for-byte identical to inline-connector aggregation.
|
|
330
|
+
*/
|
|
331
|
+
createAggregation(config) {
|
|
332
|
+
if (this.config.offload === "worker" && !this.customTransport) {
|
|
333
|
+
const sink = createWorkerAggregationSink({
|
|
334
|
+
config,
|
|
335
|
+
onEvents: (events, capturedAt) => {
|
|
336
|
+
for (const event of events) {
|
|
337
|
+
this.emitInternal(event, capturedAt);
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
...(this.createWorkerFn
|
|
341
|
+
? { workerFactory: this.createWorkerFn }
|
|
342
|
+
: {}),
|
|
343
|
+
});
|
|
344
|
+
if (sink) {
|
|
345
|
+
this.aggSinks.push(sink);
|
|
346
|
+
return (snapshot) => sink.ingest(snapshot, this.now());
|
|
347
|
+
}
|
|
348
|
+
this.log("worker aggregation unavailable; falling back to main-thread aggregator");
|
|
349
|
+
}
|
|
350
|
+
const aggregator = createAggregator({ ...config, emit: (event) => this.emit(event) });
|
|
351
|
+
const sink = createMainSink(aggregator);
|
|
352
|
+
this.aggSinks.push(sink);
|
|
353
|
+
return (snapshot) => sink.ingest(snapshot, this.now());
|
|
354
|
+
}
|
|
290
355
|
startCollector(collector) {
|
|
291
356
|
const ctx = {
|
|
292
357
|
config: this.config,
|
|
@@ -296,6 +361,7 @@ export class UptimizrClient {
|
|
|
296
361
|
trackInput: (action, opts) => this.trackInput(action, opts),
|
|
297
362
|
reportCapabilityChange: (change) => this.reportCapabilityChange(change),
|
|
298
363
|
setScene: (sceneId) => this.setScene(sceneId),
|
|
364
|
+
createAggregation: (config) => this.createAggregation(config),
|
|
299
365
|
now: () => this.now(),
|
|
300
366
|
};
|
|
301
367
|
try {
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,9 +15,13 @@ export { classifyCameraGesture, DEFAULT_GESTURE_THRESHOLDS } from "./gesture.js"
|
|
|
15
15
|
export { CANONICAL_FRAME, toCanonicalAabb, toCanonicalDirection, toCanonicalPosition, toCanonicalQuat, fromCanonicalAabb, fromCanonicalDirection, fromCanonicalPosition, fromCanonicalQuat, } from "./coordinates.js";
|
|
16
16
|
export { decomposeWorldMatrix } from "./matrix.js";
|
|
17
17
|
export type { DecomposedTransform } from "./matrix.js";
|
|
18
|
+
export { createAggregator, collectSnapshotTransferables, percentileAsc, visibilityContribution, aabbClose, roundAabb, vec3Close, poseUnchanged, nodeSampleUnchanged, clamp01, } from "./aggregation/index.js";
|
|
19
|
+
export type { Aggregator, AggregatorConfig, AggregatorOptions, Snapshot, SnapshotChannel, CameraSnapshot, PerfSnapshot, NodeSnapshot, VisibilityMeshObservation, VisibilityTickSnapshot, VisibilityFlushSnapshot, GestureSnapshot, HoverSnapshot, VisibilityContribution, CameraPose, NodeSample, } from "./aggregation/index.js";
|
|
18
20
|
export { xrSource, xrHandedness } from "./xrInput.js";
|
|
19
21
|
export type { Collector, CollectorContext, CollectorHandle, BeforeSendHook, EventInput, ResolvedConfig, StartMeta, TrackInputOptions, CapabilityChangeReport, Transport, UptimizrConfig, } from "./types.js";
|
|
20
22
|
export type { Processor, WorkerLike, WorkerFactory, WorkerProcessorOptions } from "./processor.js";
|
|
23
|
+
export { createMainSink, createWorkerAggregationSink } from "./aggregationSink.js";
|
|
24
|
+
export type { AggregationSink, WorkerAggregationSinkOptions } from "./aggregationSink.js";
|
|
21
25
|
export type { SampleRate, SamplingProfile, BoneSamplingConfig, NodeSamplingConfig, ResolvedCadence, } from "./sampling.js";
|
|
22
26
|
export type { CameraGestureSample, ClassifiedGesture, GestureThresholds, GestureClassifyOptions, } from "./gesture.js";
|
|
23
27
|
export type { XrInputSourceLike, XrCaptureOptions, XrRayHit, XrRayProbe } from "./xrInput.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtD,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACtB,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,OAAO,GACR,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,sBAAsB,EACtB,UAAU,EACV,UAAU,GACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAEtD,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,UAAU,EACV,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,sBAAsB,EACtB,SAAS,EACT,cAAc,GACf,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnF,YAAY,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAE1F,YAAY,EACV,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,5 +14,7 @@ export { resolveCadence } from "./sampling.js";
|
|
|
14
14
|
export { classifyCameraGesture, DEFAULT_GESTURE_THRESHOLDS } from "./gesture.js";
|
|
15
15
|
export { CANONICAL_FRAME, toCanonicalAabb, toCanonicalDirection, toCanonicalPosition, toCanonicalQuat, fromCanonicalAabb, fromCanonicalDirection, fromCanonicalPosition, fromCanonicalQuat, } from "./coordinates.js";
|
|
16
16
|
export { decomposeWorldMatrix } from "./matrix.js";
|
|
17
|
+
export { createAggregator, collectSnapshotTransferables, percentileAsc, visibilityContribution, aabbClose, roundAabb, vec3Close, poseUnchanged, nodeSampleUnchanged, clamp01, } from "./aggregation/index.js";
|
|
17
18
|
export { xrSource, xrHandedness } from "./xrInput.js";
|
|
19
|
+
export { createMainSink, createWorkerAggregationSink } from "./aggregationSink.js";
|
|
18
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EACL,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,aAAa,EACb,sBAAsB,EACtB,SAAS,EACT,SAAS,EACT,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,OAAO,GACR,MAAM,wBAAwB,CAAC;AAmBhC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAiBtD,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import type { CollectRequest } from "@uptimizr/schema";
|
|
2
|
+
import type { AggregatorConfig } from "./aggregation/aggregator.js";
|
|
3
|
+
import type { Snapshot } from "./aggregation/snapshot.js";
|
|
4
|
+
import type { EventInput } from "./types.js";
|
|
2
5
|
/**
|
|
3
6
|
* Wire protocol for the opt-in offload worker (ADR 0031).
|
|
4
7
|
*
|
|
5
8
|
* These are **type-only** definitions shared by the main-thread processor
|
|
6
|
-
* ([`processor.ts`](./processor.ts))
|
|
9
|
+
* ([`processor.ts`](./processor.ts)), the aggregation sink
|
|
10
|
+
* ([`aggregationSink.ts`](./aggregationSink.ts)) and the worker entry
|
|
7
11
|
* ([`offloadWorker.ts`](./offloadWorker.ts)). Keeping the protocol in its own
|
|
8
12
|
* module (with no runtime exports) means the worker bundle pulls in none of the
|
|
9
|
-
*
|
|
13
|
+
* main-thread runtime code — it stays tiny.
|
|
10
14
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
+
* Two roles cross the boundary:
|
|
16
|
+
* - **Transport** (#93–99): a finalized plain-data `CollectRequest` batch travels
|
|
17
|
+
* to the worker to be serialized + dispatched; only an ack comes back.
|
|
18
|
+
* - **Aggregation** (#10): raw plain-number {@link Snapshot} DTOs travel to the
|
|
19
|
+
* worker (high-volume channels by transfer), are aggregated worker-side into
|
|
20
|
+
* finalized {@link EventInput}s, and those come back to the page for the
|
|
21
|
+
* envelope/`beforeSend`/queue/transport machinery — so the unload guarantee
|
|
22
|
+
* (ADR 0031 §5) and `beforeSend` (a main-thread closure) are preserved.
|
|
15
23
|
*/
|
|
16
24
|
/** Sets the collector URL the worker dispatches to. Sent once at construction. */
|
|
17
25
|
export interface WorkerInitMessage {
|
|
@@ -27,14 +35,50 @@ export interface WorkerBatchMessage {
|
|
|
27
35
|
/** The plain-data batch to serialize and send. */
|
|
28
36
|
batch: CollectRequest;
|
|
29
37
|
}
|
|
38
|
+
/** Configures the worker-resident aggregator. Sent once at construction. */
|
|
39
|
+
export interface WorkerAggInitMessage {
|
|
40
|
+
type: "aggInit";
|
|
41
|
+
/** Serializable per-channel aggregation config (no callbacks/handles). */
|
|
42
|
+
config: AggregatorConfig;
|
|
43
|
+
}
|
|
44
|
+
/** A raw snapshot DTO to aggregate worker-side (ADR 0031 follow-up, #10). */
|
|
45
|
+
export interface WorkerSnapshotMessage {
|
|
46
|
+
type: "snapshot";
|
|
47
|
+
/** Capture timestamp (epoch ms) stamped on the page; carried onto emitted events. */
|
|
48
|
+
capturedAt: number;
|
|
49
|
+
/** The plain-number snapshot to ingest. */
|
|
50
|
+
snapshot: Snapshot;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Drain barrier for the terminal unload flush (ADR 0031 §5). Because
|
|
54
|
+
* `postMessage` is ordered, by the time the worker echoes this back every prior
|
|
55
|
+
* snapshot's finalized events have already been posted to the page.
|
|
56
|
+
*/
|
|
57
|
+
export interface WorkerFlushUnloadMessage {
|
|
58
|
+
type: "flushUnload";
|
|
59
|
+
id: number;
|
|
60
|
+
}
|
|
30
61
|
/** Messages the main thread sends to the worker. */
|
|
31
|
-
export type WorkerInbound = WorkerInitMessage | WorkerBatchMessage;
|
|
62
|
+
export type WorkerInbound = WorkerInitMessage | WorkerBatchMessage | WorkerAggInitMessage | WorkerSnapshotMessage | WorkerFlushUnloadMessage;
|
|
32
63
|
/** The delivery result for one batch, reported back to the main thread. */
|
|
33
64
|
export interface WorkerResultMessage {
|
|
34
65
|
type: "result";
|
|
35
66
|
id: number;
|
|
36
67
|
ok: boolean;
|
|
37
68
|
}
|
|
69
|
+
/** Finalized events produced by the worker-resident aggregator (#10). */
|
|
70
|
+
export interface WorkerEventsMessage {
|
|
71
|
+
type: "events";
|
|
72
|
+
/** The `capturedAt` of the snapshot that produced these events (for `ts`). */
|
|
73
|
+
capturedAt: number;
|
|
74
|
+
/** Finalized, envelope-less events to emit on the page. */
|
|
75
|
+
events: EventInput[];
|
|
76
|
+
}
|
|
77
|
+
/** Ack that the unload drain barrier has been reached (#10). */
|
|
78
|
+
export interface WorkerUnloadDoneMessage {
|
|
79
|
+
type: "unloadDone";
|
|
80
|
+
id: number;
|
|
81
|
+
}
|
|
38
82
|
/** Messages the worker sends back to the main thread. */
|
|
39
|
-
export type WorkerOutbound = WorkerResultMessage;
|
|
83
|
+
export type WorkerOutbound = WorkerResultMessage | WorkerEventsMessage | WorkerUnloadDoneMessage;
|
|
40
84
|
//# sourceMappingURL=offloadProtocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offloadProtocol.d.ts","sourceRoot":"","sources":["../src/offloadProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"offloadProtocol.d.ts","sourceRoot":"","sources":["../src/offloadProtocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;;;;;;;;;;;;;;;;GAkBG;AAEH,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;CACb;AAED,6DAA6D;AAC7D,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,mEAAmE;IACnE,EAAE,EAAE,MAAM,CAAC;IACX,kDAAkD;IAClD,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,4EAA4E;AAC5E,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,0EAA0E;IAC1E,MAAM,EAAE,gBAAgB,CAAC;CAC1B;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,qFAAqF;IACrF,UAAU,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,oDAAoD;AACpD,MAAM,MAAM,aAAa,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,qBAAqB,GACrB,wBAAwB,CAAC;AAE7B,2EAA2E;AAC3E,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;CACb;AAED,yEAAyE;AACzE,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,QAAQ,CAAC;IACf,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED,gEAAgE;AAChE,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,YAAY,CAAC;IACnB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,yDAAyD;AACzD,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,uBAAuB,CAAC"}
|