@multiplayer-app/session-recorder-react-native 1.3.21 → 1.3.23
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/lib/module/otel/index.js
CHANGED
|
@@ -12,6 +12,7 @@ import { trace, SpanStatusCode, context } from '@opentelemetry/api';
|
|
|
12
12
|
import { getPlatformAttributes } from "../utils/platform.js";
|
|
13
13
|
import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
|
|
14
14
|
import { CrashBufferSpanProcessor } from "./CrashBufferSpanProcessor.js";
|
|
15
|
+
const clientIdGenerator = SessionRecorderSdk.getIdGenerator(MULTIPLAYER_TRACE_CLIENT_ID_LENGTH);
|
|
15
16
|
export class TracerReactNativeSDK {
|
|
16
17
|
clientId = '';
|
|
17
18
|
sessionId = '';
|
|
@@ -19,11 +20,13 @@ export class TracerReactNativeSDK {
|
|
|
19
20
|
constructor() {}
|
|
20
21
|
_setSessionId(sessionId, sessionType = SessionType.MANUAL) {
|
|
21
22
|
this.sessionId = sessionId;
|
|
22
|
-
this.idGenerator
|
|
23
|
+
if (!this.idGenerator) {
|
|
24
|
+
throw new Error('Id generator not initialized');
|
|
25
|
+
}
|
|
26
|
+
this.idGenerator.setSessionId(sessionId, sessionType, this.clientId);
|
|
23
27
|
}
|
|
24
28
|
init(options) {
|
|
25
29
|
this.config = options;
|
|
26
|
-
const clientIdGenerator = SessionRecorderSdk.getIdGenerator(MULTIPLAYER_TRACE_CLIENT_ID_LENGTH);
|
|
27
30
|
this.clientId = clientIdGenerator();
|
|
28
31
|
const {
|
|
29
32
|
application,
|
|
@@ -31,6 +34,7 @@ export class TracerReactNativeSDK {
|
|
|
31
34
|
environment
|
|
32
35
|
} = this.config;
|
|
33
36
|
this.idGenerator = new SessionRecorderIdGenerator();
|
|
37
|
+
this._setSessionId('', SessionType.SESSION_CACHE);
|
|
34
38
|
this.exporter = new SessionRecorderBrowserTraceExporter({
|
|
35
39
|
apiKey: options.apiKey,
|
|
36
40
|
url: getExporterEndpoint(options.exporterEndpoint)
|
|
@@ -95,21 +99,13 @@ export class TracerReactNativeSDK {
|
|
|
95
99
|
if (!this.tracerProvider) {
|
|
96
100
|
throw new Error('Configuration not initialized. Call init() before start().');
|
|
97
101
|
}
|
|
98
|
-
this._setSessionId('');
|
|
102
|
+
this._setSessionId('', SessionType.SESSION_CACHE);
|
|
99
103
|
}
|
|
100
104
|
setApiKey(apiKey) {
|
|
101
105
|
if (!this.exporter) {
|
|
102
106
|
throw new Error('Configuration not initialized. Call init() before setApiKey().');
|
|
103
107
|
}
|
|
104
|
-
this.exporter.setApiKey
|
|
105
|
-
}
|
|
106
|
-
setSessionId(sessionId, sessionType) {
|
|
107
|
-
this._setSessionId(sessionId, sessionType);
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
// Shutdown (React Native specific)
|
|
111
|
-
shutdown() {
|
|
112
|
-
return Promise.resolve();
|
|
108
|
+
this.exporter.setApiKey(apiKey);
|
|
113
109
|
}
|
|
114
110
|
|
|
115
111
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["resourceFromAttributes","W3CTraceContextPropagator","AlwaysOnSampler","BatchSpanProcessor","SemanticAttributes","registerInstrumentations","SessionType","SessionRecorderSdk","SessionRecorderIdGenerator","SessionRecorderBrowserTraceExporter","ATTR_MULTIPLAYER_SESSION_ID","MULTIPLAYER_TRACE_CLIENT_ID_LENGTH","getInstrumentations","getExporterEndpoint","trace","SpanStatusCode","context","getPlatformAttributes","WebTracerProvider","CrashBufferSpanProcessor","TracerReactNativeSDK","clientId","sessionId","globalErrorHandlerRegistered","constructor","_setSessionId","sessionType","MANUAL","idGenerator","setSessionId","init","options","config","
|
|
1
|
+
{"version":3,"names":["resourceFromAttributes","W3CTraceContextPropagator","AlwaysOnSampler","BatchSpanProcessor","SemanticAttributes","registerInstrumentations","SessionType","SessionRecorderSdk","SessionRecorderIdGenerator","SessionRecorderBrowserTraceExporter","ATTR_MULTIPLAYER_SESSION_ID","MULTIPLAYER_TRACE_CLIENT_ID_LENGTH","getInstrumentations","getExporterEndpoint","trace","SpanStatusCode","context","getPlatformAttributes","WebTracerProvider","CrashBufferSpanProcessor","clientIdGenerator","getIdGenerator","TracerReactNativeSDK","clientId","sessionId","globalErrorHandlerRegistered","constructor","_setSessionId","sessionType","MANUAL","idGenerator","Error","setSessionId","init","options","config","application","version","environment","SESSION_CACHE","exporter","apiKey","url","exporterEndpoint","batchSpanProcessor","tracerProvider","resource","SEMRESATTRS_SERVICE_NAME","SEMRESATTRS_SERVICE_VERSION","SEMRESATTRS_DEPLOYMENT_ENVIRONMENT","sampler","spanProcessors","_getSpanSessionIdProcessor","crashBuffer","serializeSpan","bind","register","propagator","instrumentations","_registerGlobalErrorHandlers","setCrashBuffer","windowMs","Number","isFinite","setDefaultWindowMs","exportTraces","spans","map","span","onEnd","Promise","resolve","onStart","setAttribute","shutdown","forceFlush","start","stop","setApiKey","captureException","error","errorInfo","activeSpan","getSpan","active","_recordException","_ignored","tracer","getTracer","startSpan","name","end","recordException","setStatus","code","ERROR","message","stack","Object","entries","forEach","key","value","ErrorUtilsRef","global","ErrorUtils","setGlobalHandler","previous","getGlobalHandler","isFatal","err","String","_e"],"sourceRoot":"../../../src","sources":["otel/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,8 +22,6 @@ export declare class TracerReactNativeSDK {
|
|
|
22
22
|
start(sessionId: string, sessionType: SessionType): void;
|
|
23
23
|
stop(): void;
|
|
24
24
|
setApiKey(apiKey: string): void;
|
|
25
|
-
setSessionId(sessionId: string, sessionType: SessionType): void;
|
|
26
|
-
shutdown(): Promise<void>;
|
|
27
25
|
/**
|
|
28
26
|
* Capture an exception as an error span/event.
|
|
29
27
|
* If there is an active span, the exception will be recorded on it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/otel/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,WAAW,EAMZ,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAOxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/otel/index.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,YAAY,EAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,WAAW,EAMZ,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAOxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAOrE,qBAAa,oBAAoB;IAC/B,QAAQ,SAAM;IACd,OAAO,CAAC,cAAc,CAAC,CAAoB;IAC3C,OAAO,CAAC,MAAM,CAAC,CAA0B;IAEzC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,WAAW,CAAC,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAC,CAAsC;IACvD,OAAO,CAAC,kBAAkB,CAAC,CAAqB;IAChD,OAAO,CAAC,4BAA4B,CAAS;IAC7C,OAAO,CAAC,WAAW,CAAC,CAAqB;;IAIzC,OAAO,CAAC,aAAa;IAarB,IAAI,CAAC,OAAO,EAAE,uBAAuB,GAAG,IAAI;IAiD5C,cAAc,CACZ,WAAW,EAAE,kBAAkB,GAAG,SAAS,EAC3C,QAAQ,CAAC,EAAE,MAAM,GAChB,IAAI;IAWD,YAAY,CAChB,KAAK,EAAE,YAAY,EAAE,GACpB,OAAO,CAAC,YAAY,GAAG,SAAS,GAAG,IAAI,CAAC;IAW3C,OAAO,CAAC,0BAA0B;IAalC,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,IAAI;IAUxD,IAAI,IAAI,IAAI;IAUZ,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAU/B;;;;OAIG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAoBrE,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,4BAA4B;CA4BrC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplayer-app/session-recorder-react-native",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.23",
|
|
4
4
|
"description": "Multiplayer Fullstack Session Recorder for React Native",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Multiplayer Software, Inc.",
|
|
@@ -57,7 +57,8 @@
|
|
|
57
57
|
"test": "jest",
|
|
58
58
|
"typecheck": "tsc",
|
|
59
59
|
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
60
|
-
"
|
|
60
|
+
"build": "bob build",
|
|
61
|
+
"prepublishOnly": "npm run build",
|
|
61
62
|
"release": "release-it --only-version"
|
|
62
63
|
},
|
|
63
64
|
"keywords": [
|
|
@@ -107,7 +108,7 @@
|
|
|
107
108
|
"typescript": "^5.9.2"
|
|
108
109
|
},
|
|
109
110
|
"dependencies": {
|
|
110
|
-
"@multiplayer-app/session-recorder-common": "1.3.
|
|
111
|
+
"@multiplayer-app/session-recorder-common": "1.3.23",
|
|
111
112
|
"@opentelemetry/core": "2.0.1",
|
|
112
113
|
"@opentelemetry/exporter-trace-otlp-http": "0.203.0",
|
|
113
114
|
"@opentelemetry/instrumentation": "0.203.0",
|
package/src/otel/index.ts
CHANGED
|
@@ -28,6 +28,10 @@ import { WebTracerProvider } from '@opentelemetry/sdk-trace-web';
|
|
|
28
28
|
import { CrashBufferService } from '../services/crashBuffer.service';
|
|
29
29
|
import { CrashBufferSpanProcessor } from './CrashBufferSpanProcessor';
|
|
30
30
|
|
|
31
|
+
const clientIdGenerator = SessionRecorderSdk.getIdGenerator(
|
|
32
|
+
MULTIPLAYER_TRACE_CLIENT_ID_LENGTH
|
|
33
|
+
);
|
|
34
|
+
|
|
31
35
|
export class TracerReactNativeSDK {
|
|
32
36
|
clientId = '';
|
|
33
37
|
private tracerProvider?: WebTracerProvider;
|
|
@@ -47,20 +51,24 @@ export class TracerReactNativeSDK {
|
|
|
47
51
|
sessionType: SessionType = SessionType.MANUAL
|
|
48
52
|
) {
|
|
49
53
|
this.sessionId = sessionId;
|
|
50
|
-
|
|
54
|
+
|
|
55
|
+
if (!this.idGenerator) {
|
|
56
|
+
throw new Error('Id generator not initialized');
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
this.idGenerator.setSessionId(sessionId, sessionType, this.clientId);
|
|
51
60
|
}
|
|
52
61
|
|
|
53
62
|
init(options: TracerReactNativeConfig): void {
|
|
54
63
|
this.config = options;
|
|
55
|
-
const clientIdGenerator = SessionRecorderSdk.getIdGenerator(
|
|
56
|
-
MULTIPLAYER_TRACE_CLIENT_ID_LENGTH
|
|
57
|
-
);
|
|
58
64
|
this.clientId = clientIdGenerator();
|
|
59
65
|
|
|
60
66
|
const { application, version, environment } = this.config;
|
|
61
67
|
|
|
62
68
|
this.idGenerator = new SessionRecorderIdGenerator();
|
|
63
69
|
|
|
70
|
+
this._setSessionId('', SessionType.SESSION_CACHE);
|
|
71
|
+
|
|
64
72
|
this.exporter = new SessionRecorderBrowserTraceExporter({
|
|
65
73
|
apiKey: options.apiKey,
|
|
66
74
|
url: getExporterEndpoint(options.exporterEndpoint),
|
|
@@ -157,7 +165,7 @@ export class TracerReactNativeSDK {
|
|
|
157
165
|
);
|
|
158
166
|
}
|
|
159
167
|
|
|
160
|
-
this._setSessionId('');
|
|
168
|
+
this._setSessionId('', SessionType.SESSION_CACHE);
|
|
161
169
|
}
|
|
162
170
|
|
|
163
171
|
setApiKey(apiKey: string): void {
|
|
@@ -167,16 +175,7 @@ export class TracerReactNativeSDK {
|
|
|
167
175
|
);
|
|
168
176
|
}
|
|
169
177
|
|
|
170
|
-
this.exporter.setApiKey
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
setSessionId(sessionId: string, sessionType: SessionType): void {
|
|
174
|
-
this._setSessionId(sessionId, sessionType);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
// Shutdown (React Native specific)
|
|
178
|
-
shutdown(): Promise<void> {
|
|
179
|
-
return Promise.resolve();
|
|
178
|
+
this.exporter.setApiKey(apiKey);
|
|
180
179
|
}
|
|
181
180
|
|
|
182
181
|
/**
|