@multiplayer-app/session-recorder-browser 1.3.26 → 1.3.28
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/browser/index.js +348 -124
- package/dist/exporters/index.js +1 -1
- package/dist/exporters/index.js.LICENSE.txt +12 -0
- package/dist/exporters/index.js.map +1 -1
- package/dist/index.js +346 -124
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +347 -124
- package/dist/index.umd.js.map +1 -1
- package/dist/otel/CrashBufferSpanProcessor.d.ts +2 -3
- package/dist/otel/CrashBufferSpanProcessor.d.ts.map +1 -1
- package/dist/otel/CrashBufferSpanProcessor.js +11 -12
- package/dist/otel/CrashBufferSpanProcessor.js.map +1 -1
- package/dist/otel/index.d.ts +1 -1
- package/dist/otel/index.d.ts.map +1 -1
- package/dist/otel/index.js +73 -50
- package/dist/otel/index.js.map +1 -1
- package/dist/services/crashBuffer.service.d.ts.map +1 -1
- package/dist/services/crashBuffer.service.js +40 -7
- package/dist/services/crashBuffer.service.js.map +1 -1
- package/dist/services/indexedDb.service.d.ts +11 -1
- package/dist/services/indexedDb.service.d.ts.map +1 -1
- package/dist/services/indexedDb.service.js +47 -3
- package/dist/services/indexedDb.service.js.map +1 -1
- package/dist/session-recorder.d.ts.map +1 -1
- package/dist/session-recorder.js +6 -5
- package/dist/session-recorder.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import { Context } from '@opentelemetry/api';
|
|
2
|
-
import { ReadableSpan, SpanProcessor, Span
|
|
2
|
+
import { ReadableSpan, SpanProcessor, Span } from '@opentelemetry/sdk-trace-base';
|
|
3
3
|
import type { CrashBuffer } from '@multiplayer-app/session-recorder-common';
|
|
4
4
|
/**
|
|
5
5
|
* Implementation of the {@link SpanProcessor} that batches spans exported by
|
|
6
6
|
* the SDK then pushes them to the exporter pipeline.
|
|
7
7
|
*/
|
|
8
8
|
export declare class CrashBufferSpanProcessor implements SpanProcessor {
|
|
9
|
-
private readonly _exporter;
|
|
10
9
|
private readonly _crashBuffer;
|
|
11
10
|
private readonly _serializeSpan;
|
|
12
|
-
constructor(
|
|
11
|
+
constructor(_crashBuffer: CrashBuffer | undefined, _serializeSpan: (span: ReadableSpan) => any);
|
|
13
12
|
forceFlush(): Promise<void>;
|
|
14
13
|
onStart(_span: Span, _parentContext: Context): void;
|
|
15
14
|
onEnd(span: ReadableSpan): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrashBufferSpanProcessor.d.ts","sourceRoot":"","sources":["../../src/otel/CrashBufferSpanProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"CrashBufferSpanProcessor.d.ts","sourceRoot":"","sources":["../../src/otel/CrashBufferSpanProcessor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAE3E;;;GAGG;AACH,qBAAa,wBAAyB,YAAW,aAAa;IAE1D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,cAAc;gBADd,YAAY,EAAE,WAAW,GAAG,SAAS,EACrC,cAAc,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,GAAG;IAG9D,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,GAAG,IAAI;IAInD,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI;IAuB/B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1B"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX, } from '@multiplayer-app/session-recorder-common';
|
|
1
|
+
import { MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX } from '@multiplayer-app/session-recorder-common';
|
|
3
2
|
/**
|
|
4
3
|
* Implementation of the {@link SpanProcessor} that batches spans exported by
|
|
5
4
|
* the SDK then pushes them to the exporter pipeline.
|
|
6
5
|
*/
|
|
7
6
|
export class CrashBufferSpanProcessor {
|
|
8
|
-
constructor(
|
|
9
|
-
this._exporter = _exporter;
|
|
7
|
+
constructor(_crashBuffer, _serializeSpan) {
|
|
10
8
|
this._crashBuffer = _crashBuffer;
|
|
11
9
|
this._serializeSpan = _serializeSpan;
|
|
12
10
|
}
|
|
13
11
|
forceFlush() {
|
|
14
|
-
return
|
|
12
|
+
return Promise.resolve();
|
|
15
13
|
}
|
|
16
14
|
onStart(_span, _parentContext) {
|
|
17
|
-
return
|
|
15
|
+
return;
|
|
18
16
|
}
|
|
19
17
|
onEnd(span) {
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
18
|
+
const _spanContext = span.spanContext();
|
|
19
|
+
const traceId = _spanContext.traceId;
|
|
20
|
+
// // Never buffer/export unsampled spans.
|
|
21
|
+
// if ((_spanContext.traceFlags & TraceFlags.SAMPLED) === 0) {
|
|
22
|
+
// return
|
|
23
|
+
// }
|
|
24
24
|
if (traceId.startsWith(MULTIPLAYER_TRACE_SESSION_CACHE_PREFIX)) {
|
|
25
25
|
if (this._crashBuffer) {
|
|
26
26
|
this._crashBuffer.appendSpans([
|
|
@@ -32,10 +32,9 @@ export class CrashBufferSpanProcessor {
|
|
|
32
32
|
}
|
|
33
33
|
return;
|
|
34
34
|
}
|
|
35
|
-
this._exporter.onEnd(span);
|
|
36
35
|
}
|
|
37
36
|
shutdown() {
|
|
38
|
-
return
|
|
37
|
+
return Promise.resolve();
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
40
|
//# sourceMappingURL=CrashBufferSpanProcessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrashBufferSpanProcessor.js","sourceRoot":"","sources":["../../src/otel/CrashBufferSpanProcessor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CrashBufferSpanProcessor.js","sourceRoot":"","sources":["../../src/otel/CrashBufferSpanProcessor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAA;AAGjG;;;GAGG;AACH,MAAM,OAAO,wBAAwB;IACnC,YACmB,YAAqC,EACrC,cAA2C;QAD3C,iBAAY,GAAZ,YAAY,CAAyB;QACrC,mBAAc,GAAd,cAAc,CAA6B;IAC3D,CAAC;IAEJ,UAAU;QACR,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;IAED,OAAO,CAAC,KAAW,EAAE,cAAuB;QAC1C,OAAM;IACR,CAAC;IAED,KAAK,CAAC,IAAkB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAA;QAEvC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,CAAA;QAEpC,0CAA0C;QAC1C,8DAA8D;QAC9D,WAAW;QACX,IAAI;QAEJ,IAAI,OAAO,CAAC,UAAU,CAAC,sCAAsC,CAAC,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;oBAC5B;wBACE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO;wBAC1D,IAAI,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;qBAChC;iBACF,CAAC,CAAA;YACJ,CAAC;YACD,OAAM;QACR,CAAC;IACH,CAAC;IAED,QAAQ;QACN,OAAO,OAAO,CAAC,OAAO,EAAE,CAAA;IAC1B,CAAC;CACF"}
|
package/dist/otel/index.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare class TracerBrowserSDK {
|
|
|
20
20
|
start(sessionId: any, sessionType: SessionType): void;
|
|
21
21
|
stop(): void;
|
|
22
22
|
setApiKey(apiKey: string): void;
|
|
23
|
+
private static _toReadableSpanLike;
|
|
23
24
|
exportTraces(spans: ReadableSpan[]): Promise<ExportResult | undefined | void>;
|
|
24
25
|
/**
|
|
25
26
|
* Capture an exception as an error span/event.
|
|
@@ -27,7 +28,6 @@ export declare class TracerBrowserSDK {
|
|
|
27
28
|
* Otherwise, a short-lived span will be created to hold the exception event.
|
|
28
29
|
*/
|
|
29
30
|
captureException(error: Error, errorInfo?: Record<string, any>): void;
|
|
30
|
-
private _recordException;
|
|
31
31
|
private _getSpanSessionIdProcessor;
|
|
32
32
|
private _registerGlobalErrorListeners;
|
|
33
33
|
}
|
package/dist/otel/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA6B,MAAM,qBAAqB,CAAA;AAE7E,OAAO,EAAsB,YAAY,EAAiB,MAAM,+BAA+B,CAAA;AAI/F,OAAO,EACL,WAAW,EAOZ,MAAM,0CAA0C,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA6B,MAAM,qBAAqB,CAAA;AAE7E,OAAO,EAAsB,YAAY,EAAiB,MAAM,+BAA+B,CAAA;AAI/F,OAAO,EACL,WAAW,EAOZ,MAAM,0CAA0C,CAAA;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAE9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAY3E,qBAAa,gBAAgB;IAC3B,QAAQ,SAAK;IACb,OAAO,CAAC,cAAc,CAAC,CAAmB;IAC1C,OAAO,CAAC,MAAM,CAAC,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,WAAW,CAAC,CAA4B;IAChD,OAAO,CAAC,QAAQ,CAAC,CAAqC;IACtD,OAAO,CAAC,8BAA8B,CAAQ;IAC9C,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,kBAAkB,CAAC,CAAoB;;IAI/C,OAAO,CAAC,aAAa;IAUrB,IAAI,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAwJxC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI;IAI1D,KAAK,CAAC,SAAS,KAAA,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAQhD,IAAI,IAAI,IAAI;IAQZ,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAQ/B,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAyD5B,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC;IAgBnF;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAIrE,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,6BAA6B;CA0BtC"}
|
package/dist/otel/index.js
CHANGED
|
@@ -5,8 +5,7 @@ import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base';
|
|
|
5
5
|
import * as SemanticAttributes from '@opentelemetry/semantic-conventions';
|
|
6
6
|
import { registerInstrumentations } from '@opentelemetry/instrumentation';
|
|
7
7
|
import { getWebAutoInstrumentations } from '@opentelemetry/auto-instrumentations-web';
|
|
8
|
-
import { SessionType,
|
|
9
|
-
import { trace, SpanStatusCode, context } from '@opentelemetry/api';
|
|
8
|
+
import { SessionType, SessionRecorderSdk, SessionRecorderIdGenerator, SessionRecorderBrowserTraceExporter, SessionRecorderTraceIdRatioBasedSampler, ATTR_MULTIPLAYER_SESSION_ID, MULTIPLAYER_TRACE_CLIENT_ID_LENGTH, } from '@multiplayer-app/session-recorder-common';
|
|
10
9
|
import { OTEL_IGNORE_URLS } from '../config';
|
|
11
10
|
import { processHttpPayload, headersToObject, extractResponseBody, getExporterEndpoint, getElementTextContent, getElementInnerText, } from './helpers';
|
|
12
11
|
import { CrashBufferSpanProcessor } from './CrashBufferSpanProcessor';
|
|
@@ -35,18 +34,20 @@ export class TracerBrowserSDK {
|
|
|
35
34
|
url: getExporterEndpoint(options.exporterEndpoint),
|
|
36
35
|
usePostMessageFallback: options.usePostMessageFallback,
|
|
37
36
|
});
|
|
38
|
-
|
|
37
|
+
const resourceAttributes = resourceFromAttributes({
|
|
38
|
+
[SemanticAttributes.SEMRESATTRS_SERVICE_NAME]: application,
|
|
39
|
+
[SemanticAttributes.SEMRESATTRS_SERVICE_VERSION]: version,
|
|
40
|
+
[SemanticAttributes.SEMRESATTRS_DEPLOYMENT_ENVIRONMENT]: environment,
|
|
41
|
+
});
|
|
42
|
+
SessionRecorderSdk.setResourceAttributes(resourceAttributes.attributes);
|
|
39
43
|
this.tracerProvider = new WebTracerProvider({
|
|
40
|
-
resource:
|
|
41
|
-
[SemanticAttributes.SEMRESATTRS_SERVICE_NAME]: application,
|
|
42
|
-
[SemanticAttributes.SEMRESATTRS_SERVICE_VERSION]: version,
|
|
43
|
-
[SemanticAttributes.SEMRESATTRS_DEPLOYMENT_ENVIRONMENT]: environment,
|
|
44
|
-
}),
|
|
44
|
+
resource: resourceAttributes,
|
|
45
45
|
idGenerator: this.idGenerator,
|
|
46
46
|
sampler: new SessionRecorderTraceIdRatioBasedSampler(this.config.sampleTraceRatio),
|
|
47
47
|
spanProcessors: [
|
|
48
48
|
this._getSpanSessionIdProcessor(),
|
|
49
|
-
new
|
|
49
|
+
new BatchSpanProcessor(this.exporter),
|
|
50
|
+
new CrashBufferSpanProcessor(this.crashBuffer, this.exporter.serializeSpan),
|
|
50
51
|
],
|
|
51
52
|
});
|
|
52
53
|
this.tracerProvider.register({
|
|
@@ -177,13 +178,70 @@ export class TracerBrowserSDK {
|
|
|
177
178
|
}
|
|
178
179
|
this.exporter.setApiKey(apiKey);
|
|
179
180
|
}
|
|
180
|
-
|
|
181
|
+
static _toReadableSpanLike(span) {
|
|
181
182
|
var _a;
|
|
182
|
-
if (
|
|
183
|
-
|
|
184
|
-
// return this.batchSpanProcessor.onEnd()
|
|
183
|
+
if (span && typeof span.spanContext === 'function' && span.instrumentationScope) {
|
|
184
|
+
return span;
|
|
185
185
|
}
|
|
186
|
-
|
|
186
|
+
const spanContext = typeof (span === null || span === void 0 ? void 0 : span.spanContext) === 'function' ? span.spanContext() : span === null || span === void 0 ? void 0 : span._spanContext;
|
|
187
|
+
const normalizedCtx = spanContext ||
|
|
188
|
+
{
|
|
189
|
+
traceId: span === null || span === void 0 ? void 0 : span.traceId,
|
|
190
|
+
spanId: span === null || span === void 0 ? void 0 : span.spanId,
|
|
191
|
+
traceFlags: span === null || span === void 0 ? void 0 : span.traceFlags,
|
|
192
|
+
traceState: span === null || span === void 0 ? void 0 : span.traceState,
|
|
193
|
+
};
|
|
194
|
+
const instrumentationScope = (span === null || span === void 0 ? void 0 : span.instrumentationScope) ||
|
|
195
|
+
(span === null || span === void 0 ? void 0 : span.instrumentationLibrary) ||
|
|
196
|
+
{ name: 'multiplayer-buffer', version: undefined, schemaUrl: undefined };
|
|
197
|
+
const normalizedScope = {
|
|
198
|
+
name: (instrumentationScope === null || instrumentationScope === void 0 ? void 0 : instrumentationScope.name) || 'multiplayer-buffer',
|
|
199
|
+
version: instrumentationScope === null || instrumentationScope === void 0 ? void 0 : instrumentationScope.version,
|
|
200
|
+
schemaUrl: instrumentationScope === null || instrumentationScope === void 0 ? void 0 : instrumentationScope.schemaUrl,
|
|
201
|
+
};
|
|
202
|
+
const resource = (span === null || span === void 0 ? void 0 : span.resource) || { attributes: {}, asyncAttributesPending: false };
|
|
203
|
+
const parentSpanId = span === null || span === void 0 ? void 0 : span.parentSpanId;
|
|
204
|
+
return {
|
|
205
|
+
name: (span === null || span === void 0 ? void 0 : span.name) || '',
|
|
206
|
+
kind: span === null || span === void 0 ? void 0 : span.kind,
|
|
207
|
+
spanContext: () => normalizedCtx,
|
|
208
|
+
parentSpanContext: parentSpanId
|
|
209
|
+
? {
|
|
210
|
+
traceId: normalizedCtx === null || normalizedCtx === void 0 ? void 0 : normalizedCtx.traceId,
|
|
211
|
+
spanId: parentSpanId,
|
|
212
|
+
traceFlags: normalizedCtx === null || normalizedCtx === void 0 ? void 0 : normalizedCtx.traceFlags,
|
|
213
|
+
traceState: normalizedCtx === null || normalizedCtx === void 0 ? void 0 : normalizedCtx.traceState,
|
|
214
|
+
}
|
|
215
|
+
: undefined,
|
|
216
|
+
startTime: span === null || span === void 0 ? void 0 : span.startTime,
|
|
217
|
+
endTime: (_a = span === null || span === void 0 ? void 0 : span.endTime) !== null && _a !== void 0 ? _a : span === null || span === void 0 ? void 0 : span.startTime,
|
|
218
|
+
duration: span === null || span === void 0 ? void 0 : span.duration,
|
|
219
|
+
status: span === null || span === void 0 ? void 0 : span.status,
|
|
220
|
+
attributes: (span === null || span === void 0 ? void 0 : span.attributes) || {},
|
|
221
|
+
links: (span === null || span === void 0 ? void 0 : span.links) || [],
|
|
222
|
+
events: (span === null || span === void 0 ? void 0 : span.events) || [],
|
|
223
|
+
ended: typeof (span === null || span === void 0 ? void 0 : span.ended) === 'boolean' ? span.ended : true,
|
|
224
|
+
droppedAttributesCount: (span === null || span === void 0 ? void 0 : span.droppedAttributesCount) || 0,
|
|
225
|
+
droppedEventsCount: (span === null || span === void 0 ? void 0 : span.droppedEventsCount) || 0,
|
|
226
|
+
droppedLinksCount: (span === null || span === void 0 ? void 0 : span.droppedLinksCount) || 0,
|
|
227
|
+
resource,
|
|
228
|
+
instrumentationScope: normalizedScope,
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
async exportTraces(spans) {
|
|
232
|
+
if (!this.exporter) {
|
|
233
|
+
throw new Error('Trace exporter not initialized');
|
|
234
|
+
}
|
|
235
|
+
if (!spans || spans.length === 0) {
|
|
236
|
+
return Promise.resolve();
|
|
237
|
+
}
|
|
238
|
+
const readableSpans = spans.map((s) => TracerBrowserSDK._toReadableSpanLike(s));
|
|
239
|
+
return new Promise((resolve) => {
|
|
240
|
+
var _a;
|
|
241
|
+
(_a = this.exporter) === null || _a === void 0 ? void 0 : _a.exportBuffer(readableSpans, (result) => {
|
|
242
|
+
resolve(result);
|
|
243
|
+
});
|
|
244
|
+
});
|
|
187
245
|
}
|
|
188
246
|
/**
|
|
189
247
|
* Capture an exception as an error span/event.
|
|
@@ -191,42 +249,7 @@ export class TracerBrowserSDK {
|
|
|
191
249
|
* Otherwise, a short-lived span will be created to hold the exception event.
|
|
192
250
|
*/
|
|
193
251
|
captureException(error, errorInfo) {
|
|
194
|
-
|
|
195
|
-
if (!error)
|
|
196
|
-
return;
|
|
197
|
-
// Prefer attaching to the active span to keep correlation intact
|
|
198
|
-
try {
|
|
199
|
-
const activeSpan = trace.getSpan(context.active());
|
|
200
|
-
if (activeSpan) {
|
|
201
|
-
this._recordException(activeSpan, error, errorInfo);
|
|
202
|
-
(_a = this.tracerProvider) === null || _a === void 0 ? void 0 : _a.forceFlush();
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
// eslint-disable-next-line
|
|
206
|
-
}
|
|
207
|
-
catch (_ignored) { }
|
|
208
|
-
// Fallback: create a short-lived span to hold the exception details
|
|
209
|
-
try {
|
|
210
|
-
const tracer = trace.getTracer('exception');
|
|
211
|
-
const span = tracer.startSpan(error.name || 'Error');
|
|
212
|
-
this._recordException(span, error, errorInfo);
|
|
213
|
-
span.end();
|
|
214
|
-
(_b = this.tracerProvider) === null || _b === void 0 ? void 0 : _b.forceFlush();
|
|
215
|
-
// eslint-disable-next-line
|
|
216
|
-
}
|
|
217
|
-
catch (_ignored) { }
|
|
218
|
-
}
|
|
219
|
-
_recordException(span, error, errorInfo) {
|
|
220
|
-
span.recordException(error);
|
|
221
|
-
span.setStatus({ code: SpanStatusCode.ERROR, message: error.message });
|
|
222
|
-
span.setAttribute('exception.type', error.name || 'Error');
|
|
223
|
-
span.setAttribute('exception.message', error.message);
|
|
224
|
-
span.setAttribute('exception.stacktrace', error.stack || '');
|
|
225
|
-
if (errorInfo) {
|
|
226
|
-
Object.entries(errorInfo).forEach(([key, value]) => {
|
|
227
|
-
span.setAttribute(`error_info.${key}`, value);
|
|
228
|
-
});
|
|
229
|
-
}
|
|
252
|
+
SessionRecorderSdk.captureException(error, errorInfo);
|
|
230
253
|
}
|
|
231
254
|
_getSpanSessionIdProcessor() {
|
|
232
255
|
return {
|
package/dist/otel/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/otel/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crashBuffer.service.d.ts","sourceRoot":"","sources":["../../src/services/crashBuffer.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"crashBuffer.service.d.ts","sourceRoot":"","sources":["../../src/services/crashBuffer.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,+BAA+B,EAC/B,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,0CAA0C,CAAA;AAEjD,qBAAa,kBAAmB,YAAW,WAAW;IAWlD,OAAO,CAAC,QAAQ,CAAC,EAAE;IACnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAZ3B,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,aAAa,CAA6B;IAClD,OAAO,CAAC,QAAQ,CAAO;IACvB,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,oBAAoB,CAAO;IACnC,OAAO,CAAC,WAAW,CAAI;IACvB,OAAO,CAAC,SAAS,CAAqG;gBAGnG,EAAE,EAAE,gBAAgB,EACpB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM;YAGrB,KAAK;IAQb,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAShD,WAAW,CAAC,OAAO,EAAE,4BAA4B,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCrF,WAAW,CAAC,OAAO,EAAE,+BAA+B,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9F,EAAE,CAAC,CAAC,SAAS,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAO7G,GAAG,CAAC,CAAC,SAAS,oBAAoB,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAOxG,OAAO,CAAC,KAAK;IAYP,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2EpF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,iBAAiB,IAAI,OAAO;IAI5B;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAsBhC,OAAO,CAAC,SAAS;CAsBlB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SpanStatusCode } from '@opentelemetry/api';
|
|
2
|
+
import { EventType } from '@rrweb/types';
|
|
2
3
|
export class CrashBufferService {
|
|
3
4
|
constructor(db, tabId, windowMs) {
|
|
4
5
|
this.db = db;
|
|
@@ -30,12 +31,16 @@ export class CrashBufferService {
|
|
|
30
31
|
}, undefined);
|
|
31
32
|
}
|
|
32
33
|
async appendEvent(payload, _windowMs) {
|
|
34
|
+
var _a;
|
|
33
35
|
this.lastSeenEventTs = Math.max(this.lastSeenEventTs, payload.ts || 0);
|
|
34
36
|
if (!this.isActive)
|
|
35
37
|
return;
|
|
36
38
|
const isFullSnapshot = Boolean(payload.isFullSnapshot);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
+
const eventType = (_a = payload === null || payload === void 0 ? void 0 : payload.event) === null || _a === void 0 ? void 0 : _a.eventType;
|
|
40
|
+
const isMeta = eventType === EventType.Meta;
|
|
41
|
+
if (this.requiresFullSnapshot && !isFullSnapshot && !isMeta) {
|
|
42
|
+
// rrweb replayable prefix is Meta -> FullSnapshot.
|
|
43
|
+
// While waiting for the first FullSnapshot, we still keep the Meta event (but drop incrementals).
|
|
39
44
|
return;
|
|
40
45
|
}
|
|
41
46
|
await this._safe(async () => {
|
|
@@ -48,8 +53,8 @@ export class CrashBufferService {
|
|
|
48
53
|
}, undefined);
|
|
49
54
|
if (isFullSnapshot && this.requiresFullSnapshot) {
|
|
50
55
|
// Ensure this snapshot becomes the first replayable event.
|
|
51
|
-
//
|
|
52
|
-
await this._safe(() => this.db.
|
|
56
|
+
// Keep Meta + FullSnapshot (if present) and prune everything older.
|
|
57
|
+
await this._safe(() => this.db.pruneOlderThanWithRrwebSnapshotAnchor(this.tabId, payload.ts), undefined);
|
|
53
58
|
this.requiresFullSnapshot = false;
|
|
54
59
|
}
|
|
55
60
|
else if (isFullSnapshot) {
|
|
@@ -112,6 +117,7 @@ export class CrashBufferService {
|
|
|
112
117
|
}
|
|
113
118
|
}
|
|
114
119
|
async snapshot(_windowMs, now = Date.now()) {
|
|
120
|
+
var _a, _b;
|
|
115
121
|
const toTs = now;
|
|
116
122
|
const fromTs = Math.max(0, toTs - this.windowMs);
|
|
117
123
|
// Always include a full snapshot "anchor" if one exists at/before the window start.
|
|
@@ -127,10 +133,37 @@ export class CrashBufferService {
|
|
|
127
133
|
const rrwebSorted = rrweb
|
|
128
134
|
.sort((a, b) => a.ts - b.ts)
|
|
129
135
|
.map((r) => ({ ts: r.ts, isFullSnapshot: r.isFullSnapshot, event: r.event }));
|
|
130
|
-
// Hard guarantee: snapshot payload starts with
|
|
136
|
+
// Hard guarantee: snapshot payload starts with Meta -> FullSnapshot (or is empty).
|
|
131
137
|
const firstFullSnapshotIdx = rrwebSorted.findIndex((e) => Boolean(e.isFullSnapshot));
|
|
132
|
-
|
|
133
|
-
|
|
138
|
+
if (firstFullSnapshotIdx < 0) {
|
|
139
|
+
return {
|
|
140
|
+
rrwebEvents: [],
|
|
141
|
+
otelSpans: [],
|
|
142
|
+
attrs: attrs
|
|
143
|
+
? {
|
|
144
|
+
sessionAttributes: attrs.sessionAttributes,
|
|
145
|
+
resourceAttributes: attrs.resourceAttributes,
|
|
146
|
+
userAttributes: attrs.userAttributes,
|
|
147
|
+
}
|
|
148
|
+
: null,
|
|
149
|
+
windowMs: this.windowMs,
|
|
150
|
+
fromTs,
|
|
151
|
+
toTs,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
// Prefer including the Meta event immediately preceding the first FullSnapshot.
|
|
155
|
+
let startIdx = firstFullSnapshotIdx;
|
|
156
|
+
for (let i = firstFullSnapshotIdx - 1; i >= 0; i--) {
|
|
157
|
+
const t = (_b = (_a = rrwebSorted[i]) === null || _a === void 0 ? void 0 : _a.event) === null || _b === void 0 ? void 0 : _b.eventType;
|
|
158
|
+
if (t === EventType.Meta) {
|
|
159
|
+
startIdx = i;
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
const rrwebEvents = rrwebSorted.slice(startIdx);
|
|
164
|
+
// Align spans with the rrweb replay start (Meta if present, otherwise FullSnapshot).
|
|
165
|
+
// Important: we return `fromTs` to consumers and many UIs compute relative offsets from it,
|
|
166
|
+
// so `fromTs` must match the first rrweb event timestamp we return.
|
|
134
167
|
const replayStartTs = rrwebEvents.length > 0 ? rrwebEvents[0].ts : fromTs;
|
|
135
168
|
const otelSpans = spans
|
|
136
169
|
.filter((s) => typeof (s === null || s === void 0 ? void 0 : s.ts) === 'number' && s.ts >= replayStartTs)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crashBuffer.service.js","sourceRoot":"","sources":["../../src/services/crashBuffer.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"crashBuffer.service.js","sourceRoot":"","sources":["../../src/services/crashBuffer.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,11 +58,21 @@ export declare class IndexedDBService {
|
|
|
58
58
|
* Used to keep a replayable anchor when pruning.
|
|
59
59
|
*/
|
|
60
60
|
getLastRrwebFullSnapshotBefore(tabId: TabId, cutoffTs: number): Promise<CrashBufferRrwebEventRecord | null>;
|
|
61
|
+
/**
|
|
62
|
+
* Returns the last (highest-ts) Meta event record at/before `cutoffTs`.
|
|
63
|
+
*
|
|
64
|
+
* rrweb replays expect the stream to begin with:
|
|
65
|
+
* - Meta
|
|
66
|
+
* - FullSnapshot
|
|
67
|
+
*
|
|
68
|
+
* We persist packed events (plus a small wrapper) so we detect Meta via `record.event.eventType`.
|
|
69
|
+
*/
|
|
70
|
+
getLastRrwebMetaBefore(tabId: TabId, cutoffTs: number): Promise<CrashBufferRrwebEventRecord | null>;
|
|
61
71
|
getOtelSpansWindow(tabId: TabId, fromTs: number, toTs: number): Promise<CrashBufferOtelSpanRecord[]>;
|
|
62
72
|
pruneOlderThan(tabId: TabId, cutoffTs: number): Promise<void>;
|
|
63
73
|
/**
|
|
64
74
|
* Prune older data while keeping rrweb replayability:
|
|
65
|
-
* - rrweb: keep the last FullSnapshot at/before cutoff as an "anchor"
|
|
75
|
+
* - rrweb: keep the last Meta + FullSnapshot pair at/before cutoff as an "anchor"
|
|
66
76
|
* - spans: prune strictly by cutoff
|
|
67
77
|
*/
|
|
68
78
|
pruneOlderThanWithRrwebSnapshotAnchor(tabId: TabId, cutoffTs: number): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"indexedDb.service.d.ts","sourceRoot":"","sources":["../../src/services/indexedDb.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"indexedDb.service.d.ts","sourceRoot":"","sources":["../../src/services/indexedDb.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ const legacyStoreName = 'mpEventsStore';
|
|
|
4
4
|
const rrwebEventsStore = 'rrwebEvents';
|
|
5
5
|
const otelSpansStore = 'otelSpans';
|
|
6
6
|
const attrsStore = 'crashBufferAttrs';
|
|
7
|
+
import { EventType } from '@rrweb/types';
|
|
7
8
|
export class IndexedDBService {
|
|
8
9
|
constructor() {
|
|
9
10
|
this.dbPromise = this.openDB();
|
|
@@ -211,6 +212,40 @@ export class IndexedDBService {
|
|
|
211
212
|
req.onerror = () => reject(req.error);
|
|
212
213
|
});
|
|
213
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Returns the last (highest-ts) Meta event record at/before `cutoffTs`.
|
|
217
|
+
*
|
|
218
|
+
* rrweb replays expect the stream to begin with:
|
|
219
|
+
* - Meta
|
|
220
|
+
* - FullSnapshot
|
|
221
|
+
*
|
|
222
|
+
* We persist packed events (plus a small wrapper) so we detect Meta via `record.event.eventType`.
|
|
223
|
+
*/
|
|
224
|
+
async getLastRrwebMetaBefore(tabId, cutoffTs) {
|
|
225
|
+
const db = await this.dbPromise;
|
|
226
|
+
const range = IDBKeyRange.bound([tabId, 0], [tabId, cutoffTs]);
|
|
227
|
+
return new Promise((resolve, reject) => {
|
|
228
|
+
const tx = db.transaction(rrwebEventsStore, 'readonly');
|
|
229
|
+
const idx = tx.objectStore(rrwebEventsStore).index('tabId_ts');
|
|
230
|
+
const req = idx.openCursor(range, 'prev');
|
|
231
|
+
req.onsuccess = () => {
|
|
232
|
+
var _a;
|
|
233
|
+
const cursor = req.result;
|
|
234
|
+
if (!cursor) {
|
|
235
|
+
resolve(null);
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
const value = cursor.value;
|
|
239
|
+
const eventType = (_a = value === null || value === void 0 ? void 0 : value.event) === null || _a === void 0 ? void 0 : _a.eventType;
|
|
240
|
+
if (eventType === EventType.Meta) {
|
|
241
|
+
resolve(value);
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
cursor.continue();
|
|
245
|
+
};
|
|
246
|
+
req.onerror = () => reject(req.error);
|
|
247
|
+
});
|
|
248
|
+
}
|
|
214
249
|
async getOtelSpansWindow(tabId, fromTs, toTs) {
|
|
215
250
|
const db = await this.dbPromise;
|
|
216
251
|
const range = IDBKeyRange.bound([tabId, fromTs], [tabId, toTs]);
|
|
@@ -257,15 +292,24 @@ export class IndexedDBService {
|
|
|
257
292
|
}
|
|
258
293
|
/**
|
|
259
294
|
* Prune older data while keeping rrweb replayability:
|
|
260
|
-
* - rrweb: keep the last FullSnapshot at/before cutoff as an "anchor"
|
|
295
|
+
* - rrweb: keep the last Meta + FullSnapshot pair at/before cutoff as an "anchor"
|
|
261
296
|
* - spans: prune strictly by cutoff
|
|
262
297
|
*/
|
|
263
298
|
async pruneOlderThanWithRrwebSnapshotAnchor(tabId, cutoffTs) {
|
|
264
299
|
const db = await this.dbPromise;
|
|
265
300
|
const anchor = await this.getLastRrwebFullSnapshotBefore(tabId, cutoffTs);
|
|
266
|
-
// rrweb: delete everything strictly older than the anchor
|
|
301
|
+
// rrweb: delete everything strictly older than the anchor meta event (if any),
|
|
302
|
+
// otherwise strictly older than the anchor snapshot (keep the anchor itself).
|
|
303
|
+
//
|
|
304
|
+
// This preserves rrweb's expected replay prefix:
|
|
305
|
+
// Meta -> FullSnapshot
|
|
306
|
+
const anchorMeta = anchor ? await this.getLastRrwebMetaBefore(tabId, anchor.ts) : null;
|
|
267
307
|
// spans: delete everything older than cutoffTs
|
|
268
|
-
const rrwebCutoffTs = typeof (
|
|
308
|
+
const rrwebCutoffTs = typeof (anchorMeta === null || anchorMeta === void 0 ? void 0 : anchorMeta.ts) === 'number'
|
|
309
|
+
? Math.max(0, anchorMeta.ts - 1)
|
|
310
|
+
: typeof (anchor === null || anchor === void 0 ? void 0 : anchor.ts) === 'number'
|
|
311
|
+
? Math.max(0, anchor.ts - 1)
|
|
312
|
+
: cutoffTs;
|
|
269
313
|
const rrwebRange = IDBKeyRange.bound([tabId, 0], [tabId, rrwebCutoffTs]);
|
|
270
314
|
const spansRange = IDBKeyRange.bound([tabId, 0], [tabId, cutoffTs]);
|
|
271
315
|
const pruneStore = (store, range) => new Promise((resolve, reject) => {
|