@veryfront/ext-observability-opentelemetry 0.1.1029 → 0.1.1032
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/esm/index.d.ts +10 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +27 -1
- package/package.json +2 -2
package/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ExtensionFactory } from "veryfront/extensions";
|
|
2
|
-
import type { NodeTelemetryInitializeOptions, NodeTelemetryProvider, SpanData, TracingExporter } from "veryfront/extensions/observability";
|
|
2
|
+
import type { NodeTelemetryInitializeOptions, NodeTelemetryLogRecord, NodeTelemetryProvider, SpanData, TracingExporter } from "veryfront/extensions/observability";
|
|
3
3
|
/**
|
|
4
4
|
* The TracerProvider interface as expected by the core shim.
|
|
5
5
|
* Using structural typing because the real SDK provider satisfies this shape.
|
|
@@ -13,6 +13,11 @@ type MetricsAPI = {
|
|
|
13
13
|
type TraceAPI = {
|
|
14
14
|
getActiveSpan(): unknown;
|
|
15
15
|
getSpan(ctx: unknown): unknown;
|
|
16
|
+
setSpan(ctx: unknown, span: unknown): unknown;
|
|
17
|
+
};
|
|
18
|
+
type ContextAPI = {
|
|
19
|
+
active(): unknown;
|
|
20
|
+
with<T>(ctx: unknown, fn: () => T): T;
|
|
16
21
|
};
|
|
17
22
|
type EnvReader = (name: string) => string | undefined;
|
|
18
23
|
export interface ResolvedOtlpExtensionConfig {
|
|
@@ -39,12 +44,16 @@ declare class OtlpTracingExporter implements TracingExporter {
|
|
|
39
44
|
private logProvider;
|
|
40
45
|
private metricsApi;
|
|
41
46
|
private traceApi;
|
|
47
|
+
private contextApi;
|
|
48
|
+
private logRecordEmitter;
|
|
42
49
|
start(_ctxConfig: Record<string, unknown>): Promise<void>;
|
|
43
50
|
export(_spans: SpanData[]): Promise<void>;
|
|
44
51
|
shutdown(): Promise<void>;
|
|
45
52
|
getProvider(): ShimTracerProvider;
|
|
46
53
|
getMetricsAPI(): MetricsAPI | null;
|
|
47
54
|
getTraceAPI(): TraceAPI | null;
|
|
55
|
+
getContextAPI(): ContextAPI | null;
|
|
56
|
+
getLogRecordEmitter(): ((record: NodeTelemetryLogRecord) => void) | null;
|
|
48
57
|
}
|
|
49
58
|
declare class OpenTelemetryNodeTelemetryProvider implements NodeTelemetryProvider {
|
|
50
59
|
private sdk;
|
package/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,KAAK,EACV,8BAA8B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/esm/index.js
CHANGED
|
@@ -247,6 +247,8 @@ class OtlpTracingExporter {
|
|
|
247
247
|
logProvider = null;
|
|
248
248
|
metricsApi = null;
|
|
249
249
|
traceApi = null;
|
|
250
|
+
contextApi = null;
|
|
251
|
+
logRecordEmitter = null;
|
|
250
252
|
async start(_ctxConfig) {
|
|
251
253
|
const cfg = resolveOtlpExtensionConfig(readEnv);
|
|
252
254
|
// Honor OTEL_TRACES_ENABLED: when unset/false, skip exporter wiring so
|
|
@@ -282,6 +284,11 @@ class OtlpTracingExporter {
|
|
|
282
284
|
this.traceApi = {
|
|
283
285
|
getActiveSpan: () => otel.api.trace.getActiveSpan(),
|
|
284
286
|
getSpan: (ctx) => otel.api.trace.getSpan(ctx),
|
|
287
|
+
setSpan: (ctx, span) => otel.api.trace.setSpan(ctx, span),
|
|
288
|
+
};
|
|
289
|
+
this.contextApi = {
|
|
290
|
+
active: () => otel.api.context.active(),
|
|
291
|
+
with: (ctx, fn) => otel.api.context.with(ctx, fn),
|
|
285
292
|
};
|
|
286
293
|
}
|
|
287
294
|
if (cfg.metricsEnabled) {
|
|
@@ -317,7 +324,17 @@ class OtlpTracingExporter {
|
|
|
317
324
|
],
|
|
318
325
|
});
|
|
319
326
|
otel.apiLogs.logs.setGlobalLoggerProvider(this.logProvider);
|
|
320
|
-
otel.apiLogs.logs.getLogger(cfg.serviceName, cfg.serviceVersion)
|
|
327
|
+
const otelLogger = otel.apiLogs.logs.getLogger(cfg.serviceName, cfg.serviceVersion);
|
|
328
|
+
this.logRecordEmitter = (record) => {
|
|
329
|
+
otelLogger.emit({
|
|
330
|
+
timestamp: record.timestamp ? new Date(record.timestamp) : new Date(),
|
|
331
|
+
severityNumber: logSeverityNumber(otel, record.level),
|
|
332
|
+
severityText: record.level?.toUpperCase() ?? "INFO",
|
|
333
|
+
body: record.message,
|
|
334
|
+
attributes: logAttributes(record),
|
|
335
|
+
});
|
|
336
|
+
};
|
|
337
|
+
otelLogger.emit({
|
|
321
338
|
severityNumber: otel.apiLogs.SeverityNumber.INFO,
|
|
322
339
|
severityText: "INFO",
|
|
323
340
|
body: "OpenTelemetry log export initialized",
|
|
@@ -339,6 +356,7 @@ class OtlpTracingExporter {
|
|
|
339
356
|
}
|
|
340
357
|
finally {
|
|
341
358
|
this.logProvider = null;
|
|
359
|
+
this.logRecordEmitter = null;
|
|
342
360
|
}
|
|
343
361
|
}
|
|
344
362
|
if (this.meterProvider) {
|
|
@@ -355,6 +373,8 @@ class OtlpTracingExporter {
|
|
|
355
373
|
}
|
|
356
374
|
finally {
|
|
357
375
|
this.sdkProvider = null;
|
|
376
|
+
this.traceApi = null;
|
|
377
|
+
this.contextApi = null;
|
|
358
378
|
}
|
|
359
379
|
}
|
|
360
380
|
}
|
|
@@ -369,6 +389,12 @@ class OtlpTracingExporter {
|
|
|
369
389
|
getTraceAPI() {
|
|
370
390
|
return this.traceApi;
|
|
371
391
|
}
|
|
392
|
+
getContextAPI() {
|
|
393
|
+
return this.contextApi;
|
|
394
|
+
}
|
|
395
|
+
getLogRecordEmitter() {
|
|
396
|
+
return this.logRecordEmitter;
|
|
397
|
+
}
|
|
372
398
|
}
|
|
373
399
|
class OpenTelemetryNodeTelemetryProvider {
|
|
374
400
|
sdk = null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@veryfront/ext-observability-opentelemetry",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1032",
|
|
4
4
|
"description": "Veryfront first-party extension package for ext-observability-opentelemetry",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"veryfront",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
"@opentelemetry/semantic-conventions": "1.41.1"
|
|
92
92
|
},
|
|
93
93
|
"peerDependencies": {
|
|
94
|
-
"veryfront": "^0.1.
|
|
94
|
+
"veryfront": "^0.1.1032"
|
|
95
95
|
},
|
|
96
96
|
"type": "module",
|
|
97
97
|
"types": "./esm/index.d.ts",
|