@aztec/telemetry-client 4.0.0-nightly.20260107 → 4.0.0-nightly.20260108
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/dest/bench.d.ts +3 -1
- package/dest/bench.d.ts.map +1 -1
- package/dest/bench.js +6 -0
- package/dest/noop.d.ts +4 -2
- package/dest/noop.d.ts.map +1 -1
- package/dest/noop.js +6 -0
- package/dest/otel.d.ts +4 -2
- package/dest/otel.d.ts.map +1 -1
- package/dest/otel.js +16 -2
- package/dest/telemetry.d.ts +18 -4
- package/dest/telemetry.d.ts.map +1 -1
- package/dest/telemetry.js +36 -21
- package/package.json +3 -3
- package/src/bench.ts +8 -0
- package/src/noop.ts +16 -1
- package/src/otel.ts +20 -1
- package/src/telemetry.ts +54 -27
package/dest/bench.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export declare class BenchmarkTelemetryClient implements TelemetryClient {
|
|
|
21
21
|
stop(): Promise<void>;
|
|
22
22
|
flush(): Promise<void>;
|
|
23
23
|
isEnabled(): boolean;
|
|
24
|
+
getTraceContext(): string | undefined;
|
|
25
|
+
extractPropagatedContext(): undefined;
|
|
24
26
|
getMeters(): BenchmarkMetricsType;
|
|
25
27
|
clear(): void;
|
|
26
28
|
}
|
|
@@ -29,4 +31,4 @@ export type BenchmarkDataPoint = {
|
|
|
29
31
|
attributes?: AttributesType;
|
|
30
32
|
context?: Context;
|
|
31
33
|
};
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2guZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iZW5jaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBMkIsT0FBTyxFQUE2QixTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdqSCxPQUFPLEtBQUssRUFDVixjQUFjLEVBR2QsS0FBSyxFQUlMLGVBQWUsRUFDZixNQUFNLEVBRVAsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxNQUFNLENBQUM7UUFDYixJQUFJLEVBQUUsT0FBTyxHQUFHLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDeEMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNkLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztRQUN0QixNQUFNLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztLQUM5QixFQUFFLENBQUM7Q0FDTCxFQUFFLENBQUM7QUFFSixxQkFBYSx3QkFBeUIsWUFBVyxlQUFlO0lBQzlELE9BQU8sQ0FBQyxNQUFNLENBQTRCO0lBRTFDLGNBR0M7SUFFRCwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFHO0lBQ3hELDZCQUE2QixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUc7SUFFeEQsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSyxDQUk1QjtJQUVELFNBQVMsSUFBSSxNQUFNLENBRWxCO0lBRUQsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFcEI7SUFFRCxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVyQjtJQUVELFNBQVMsWUFFUjtJQUVELGVBQWUsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUVwQztJQUVELHdCQUF3QixjQUV2QjtJQUVELFNBQVMsSUFBSSxvQkFBb0IsQ0FFaEM7SUFFRCxLQUFLLFNBRUo7Q0FDRjtBQWdERCxNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQUMsVUFBVSxDQUFDLEVBQUUsY0FBYyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQUUsQ0FBQyJ9
|
package/dest/bench.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bench.d.ts","sourceRoot":"","sources":["../src/bench.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA2B,OAAO,EAA6B,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGjH,OAAO,KAAK,EACV,cAAc,EAGd,KAAK,EAIL,eAAe,EACf,MAAM,EAEP,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,MAAM,EAAE,kBAAkB,EAAE,CAAC;KAC9B,EAAE,CAAC;CACL,EAAE,CAAC;AAEJ,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,OAAO,CAAC,MAAM,CAA4B;IAE1C,cAGC;IAED,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAG;IACxD,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAG;IAExD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAI5B;IAED,SAAS,IAAI,MAAM,CAElB;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,SAAS,YAER;IAED,SAAS,IAAI,oBAAoB,CAEhC;IAED,KAAK,SAEJ;CACF;AAgDD,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"bench.d.ts","sourceRoot":"","sources":["../src/bench.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA2B,OAAO,EAA6B,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGjH,OAAO,KAAK,EACV,cAAc,EAGd,KAAK,EAIL,eAAe,EACf,MAAM,EAEP,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,MAAM,EAAE,kBAAkB,EAAE,CAAC;KAC9B,EAAE,CAAC;CACL,EAAE,CAAC;AAEJ,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,OAAO,CAAC,MAAM,CAA4B;IAE1C,cAGC;IAED,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAG;IACxD,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAG;IAExD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAI5B;IAED,SAAS,IAAI,MAAM,CAElB;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,SAAS,YAER;IAED,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,wBAAwB,cAEvB;IAED,SAAS,IAAI,oBAAoB,CAEhC;IAED,KAAK,SAEJ;CACF;AAgDD,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC"}
|
package/dest/bench.js
CHANGED
package/dest/noop.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type Meter, type Span, type Tracer } from '@opentelemetry/api';
|
|
1
|
+
import { type Context, type Meter, type Span, type Tracer } from '@opentelemetry/api';
|
|
2
2
|
import type { TelemetryClient } from './telemetry.js';
|
|
3
3
|
export declare class NoopTelemetryClient implements TelemetryClient {
|
|
4
4
|
setExportedPublicTelemetry(_prefixes: string[]): void;
|
|
@@ -8,9 +8,11 @@ export declare class NoopTelemetryClient implements TelemetryClient {
|
|
|
8
8
|
stop(): Promise<void>;
|
|
9
9
|
flush(): Promise<void>;
|
|
10
10
|
isEnabled(): boolean;
|
|
11
|
+
getTraceContext(): string | undefined;
|
|
12
|
+
extractPropagatedContext(_traceContext: string): Context | undefined;
|
|
11
13
|
}
|
|
12
14
|
export declare class NoopTracer implements Tracer {
|
|
13
15
|
startSpan(): Span;
|
|
14
16
|
startActiveSpan<F extends (...args: any[]) => any>(_name: string, ...args: unknown[]): ReturnType<F>;
|
|
15
17
|
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9vcC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25vb3AudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLEtBQUssT0FBTyxFQUNaLEtBQUssS0FBSyxFQUNWLEtBQUssSUFBSSxFQUVULEtBQUssTUFBTSxFQUVaLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQscUJBQWEsbUJBQW9CLFlBQVcsZUFBZTtJQUN6RCwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFHO0lBQ3hELDZCQUE2QixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUc7SUFFeEQsUUFBUSxJQUFJLEtBQUssQ0FFaEI7SUFFRCxTQUFTLElBQUksTUFBTSxDQUVsQjtJQUVELElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBRXBCO0lBRUQsS0FBSyxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFckI7SUFFRCxTQUFTLFlBRVI7SUFFRCxlQUFlLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FFcEM7SUFFRCx3QkFBd0IsQ0FBQyxhQUFhLEVBQUUsTUFBTSxHQUFHLE9BQU8sR0FBRyxTQUFTLENBRW5FO0NBQ0Y7QUFLRCxxQkFBYSxVQUFXLFlBQVcsTUFBTTtJQUN2QyxTQUFTLElBQUksSUFBSSxDQUVoQjtJQUVELGVBQWUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBSW5HO0NBQ0YifQ==
|
package/dest/noop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../src/noop.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../src/noop.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,KAAK,EACV,KAAK,IAAI,EAET,KAAK,MAAM,EAEZ,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,qBAAa,mBAAoB,YAAW,eAAe;IACzD,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAG;IACxD,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAG;IAExD,QAAQ,IAAI,KAAK,CAEhB;IAED,SAAS,IAAI,MAAM,CAElB;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,SAAS,YAER;IAED,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,wBAAwB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAEnE;CACF;AAKD,qBAAa,UAAW,YAAW,MAAM;IACvC,SAAS,IAAI,IAAI,CAEhB;IAED,eAAe,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAInG;CACF"}
|
package/dest/noop.js
CHANGED
|
@@ -17,6 +17,12 @@ export class NoopTelemetryClient {
|
|
|
17
17
|
isEnabled() {
|
|
18
18
|
return false;
|
|
19
19
|
}
|
|
20
|
+
getTraceContext() {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
extractPropagatedContext(_traceContext) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
20
26
|
}
|
|
21
27
|
// @opentelemetry/api internally uses NoopTracer and NoopSpan but they're not exported
|
|
22
28
|
// make our own versions
|
package/dest/otel.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Logger } from '@aztec/foundation/log';
|
|
2
|
-
import { type Meter, type Tracer, type TracerProvider } from '@opentelemetry/api';
|
|
2
|
+
import { type Context, type Meter, type Tracer, type TracerProvider } from '@opentelemetry/api';
|
|
3
3
|
import { HostMetrics } from '@opentelemetry/host-metrics';
|
|
4
4
|
import type { IResource } from '@opentelemetry/resources';
|
|
5
5
|
import type { LoggerProvider } from '@opentelemetry/sdk-logs';
|
|
@@ -29,8 +29,10 @@ export declare class OpenTelemetryClient implements TelemetryClient {
|
|
|
29
29
|
isEnabled(): boolean;
|
|
30
30
|
flush(): Promise<void>;
|
|
31
31
|
stop(): Promise<void>;
|
|
32
|
+
getTraceContext(): string | undefined;
|
|
33
|
+
extractPropagatedContext(traceContext: string): Context;
|
|
32
34
|
static createMeterProvider(resource: IResource, exporters: Array<PeriodicExportingMetricReaderOptions>): MeterProvider;
|
|
33
35
|
private static getCustomClientFactory;
|
|
34
36
|
static createAndStart(config: TelemetryClientConfig, log: Logger): OpenTelemetryClient;
|
|
35
37
|
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL290ZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixLQUFLLE1BQU0sRUFBcUIsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRixPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBR1osS0FBSyxLQUFLLEVBRVYsS0FBSyxNQUFNLEVBQ1gsS0FBSyxjQUFjLEVBTXBCLE1BQU0sb0JBQW9CLENBQUM7QUFJNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFHTCxhQUFhLEVBRWIsS0FBSyxvQ0FBb0MsRUFFMUMsTUFBTSw0QkFBNEIsQ0FBQztBQUlwQyxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQTRCLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHNUcsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsTUFBTSxNQUFNLDBCQUEwQixHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLG1CQUFtQixDQUFDO0FBRW5HLHFCQUFhLG1CQUFvQixZQUFXLGVBQWU7SUFPdkQsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsR0FBRztJQVhiLFdBQVcsRUFBRSxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLG9CQUFvQixFQUFFLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztJQUN2RCxPQUFPLENBQUMsTUFBTSxDQUFnRDtJQUM5RCxPQUFPLENBQUMsT0FBTyxDQUFrRDtJQUVqRSxTQUFTLGFBQ0MsUUFBUSxFQUFFLFNBQVMsRUFDbkIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsYUFBYSxFQUFFLGNBQWMsRUFDN0IsY0FBYyxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQzFDLG9CQUFvQixFQUFFLDhCQUE4QixHQUFHLFNBQVMsRUFDaEUsR0FBRyxFQUFFLE1BQU0sRUFDakI7SUFFSiwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUVsRDtJQUVELDZCQUE2QixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBRW5EO0lBRUQsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSyxDQU81QjtJQUVELFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FPOUI7SUFFTSxLQUFLLFNBNkJYO0lBRU0sU0FBUyxZQUVmO0lBRVksS0FBSyxrQkFNakI7SUFFWSxJQUFJLGtCQWdCaEI7SUFFTSxlQUFlLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FJM0M7SUFFTSx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FLN0Q7SUFFRCxPQUFjLG1CQUFtQixDQUMvQixRQUFRLEVBQUUsU0FBUyxFQUNuQixTQUFTLEVBQUUsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLEdBQ3JELGFBQWEsQ0ErSGY7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLHNCQUFzQjtJQWlFckMsT0FBYyxjQUFjLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsRUFBRSxNQUFNLEdBQUcsbUJBQW1CLENBUTVGO0NBQ0YifQ==
|
package/dest/otel.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAqB,MAAM,uBAAuB,CAAC;AAErF,OAAO,
|
|
1
|
+
{"version":3,"file":"otel.d.ts","sourceRoot":"","sources":["../src/otel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,MAAM,EAAqB,MAAM,uBAAuB,CAAC;AAErF,OAAO,EACL,KAAK,OAAO,EAGZ,KAAK,KAAK,EAEV,KAAK,MAAM,EACX,KAAK,cAAc,EAMpB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAGL,aAAa,EAEb,KAAK,oCAAoC,EAE1C,MAAM,4BAA4B,CAAC;AAIpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAA4B,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAG5G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,MAAM,MAAM,0BAA0B,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,KAAK,mBAAmB,CAAC;AAEnG,qBAAa,mBAAoB,YAAW,eAAe;IAOvD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,oBAAoB;IAC5B,OAAO,CAAC,GAAG;IAXb,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,oBAAoB,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,MAAM,CAAgD;IAC9D,OAAO,CAAC,OAAO,CAAkD;IAEjE,SAAS,aACC,QAAQ,EAAE,SAAS,EACnB,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,cAAc,EAC7B,cAAc,EAAE,cAAc,GAAG,SAAS,EAC1C,oBAAoB,EAAE,8BAA8B,GAAG,SAAS,EAChE,GAAG,EAAE,MAAM,EACjB;IAEJ,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAElD;IAED,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAEnD;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAO5B;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9B;IAEM,KAAK,SA6BX;IAEM,SAAS,YAEf;IAEY,KAAK,kBAMjB;IAEY,IAAI,kBAgBhB;IAEM,eAAe,IAAI,MAAM,GAAG,SAAS,CAI3C;IAEM,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAK7D;IAED,OAAc,mBAAmB,CAC/B,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,KAAK,CAAC,oCAAoC,CAAC,GACrD,aAAa,CA+Hf;IAED,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAiErC,OAAc,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAQ5F;CACF"}
|
package/dest/otel.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addLogDataHandler } from '@aztec/foundation/log';
|
|
2
|
-
import { DiagConsoleLogger, DiagLogLevel, context, diag, isSpanContextValid, trace } from '@opentelemetry/api';
|
|
2
|
+
import { DiagConsoleLogger, DiagLogLevel, ROOT_CONTEXT, context, diag, isSpanContextValid, propagation, trace } from '@opentelemetry/api';
|
|
3
|
+
import { W3CTraceContextPropagator } from '@opentelemetry/core';
|
|
3
4
|
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
|
|
4
5
|
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
5
6
|
import { HostMetrics } from '@opentelemetry/host-metrics';
|
|
@@ -100,6 +101,17 @@ export class OpenTelemetryClient {
|
|
|
100
101
|
this.traceProvider instanceof NodeTracerProvider ? flushAndShutdown(this.traceProvider) : Promise.resolve()
|
|
101
102
|
]);
|
|
102
103
|
}
|
|
104
|
+
getTraceContext() {
|
|
105
|
+
const carrier = {};
|
|
106
|
+
propagation.inject(context.active(), carrier);
|
|
107
|
+
return carrier['traceparent'];
|
|
108
|
+
}
|
|
109
|
+
extractPropagatedContext(traceContext) {
|
|
110
|
+
const extractedContext = propagation.extract(ROOT_CONTEXT, {
|
|
111
|
+
traceparent: traceContext
|
|
112
|
+
});
|
|
113
|
+
return extractedContext;
|
|
114
|
+
}
|
|
103
115
|
static createMeterProvider(resource, exporters) {
|
|
104
116
|
return new MeterProvider({
|
|
105
117
|
resource,
|
|
@@ -338,7 +350,9 @@ export class OpenTelemetryClient {
|
|
|
338
350
|
}))
|
|
339
351
|
] : []
|
|
340
352
|
});
|
|
341
|
-
tracerProvider.register(
|
|
353
|
+
tracerProvider.register({
|
|
354
|
+
propagator: new W3CTraceContextPropagator()
|
|
355
|
+
});
|
|
342
356
|
const exporters = [];
|
|
343
357
|
if (config.metricsCollectorUrl) {
|
|
344
358
|
// Default to a blacklist that is empty (allow all metrics)
|
package/dest/telemetry.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type AttributeValue, type BatchObservableCallback, type MetricOptions, type Observable, type BatchObservableResult as OtelBatchObservableResult, type Gauge as OtelGauge, type Histogram as OtelHistogram, type ObservableGauge as OtelObservableGauge, type ObservableResult as OtelObservableResult, type ObservableUpDownCounter as OtelObservableUpDownCounter, type UpDownCounter as OtelUpDownCounter, type Span, type Tracer } from '@opentelemetry/api';
|
|
1
|
+
import { type AttributeValue, type BatchObservableCallback, type Context, type MetricOptions, type Observable, type BatchObservableResult as OtelBatchObservableResult, type Gauge as OtelGauge, type Histogram as OtelHistogram, type ObservableGauge as OtelObservableGauge, type ObservableResult as OtelObservableResult, type ObservableUpDownCounter as OtelObservableUpDownCounter, type UpDownCounter as OtelUpDownCounter, type Span, type Tracer } from '@opentelemetry/api';
|
|
2
2
|
import type * as Attributes from './attributes.js';
|
|
3
3
|
import type * as Metrics from './metrics.js';
|
|
4
|
-
export { type Span, SpanStatusCode, ValueType } from '@opentelemetry/api';
|
|
4
|
+
export { type Span, SpanStatusCode, ValueType, type Context } from '@opentelemetry/api';
|
|
5
5
|
type ValuesOf<T> = T extends Record<string, infer U> ? U : never;
|
|
6
6
|
type AttributeNames = ValuesOf<typeof Attributes>;
|
|
7
7
|
/**
|
|
@@ -97,6 +97,15 @@ export interface TelemetryClient {
|
|
|
97
97
|
* Updates the roles that would share telemetry (if enabled)
|
|
98
98
|
*/
|
|
99
99
|
setPublicTelemetryCollectFrom(roles: string[]): void;
|
|
100
|
+
/**
|
|
101
|
+
* Get current trace context as an opaque string for propagation.
|
|
102
|
+
* Returns the W3C traceparent header value if a trace is active, undefined otherwise.
|
|
103
|
+
*/
|
|
104
|
+
getTraceContext(): string | undefined;
|
|
105
|
+
/**
|
|
106
|
+
* Recreates a context propagated by a remote system
|
|
107
|
+
*/
|
|
108
|
+
extractPropagatedContext(traceContext: string): Context | undefined;
|
|
100
109
|
}
|
|
101
110
|
/** Objects that adhere to this interface can use @trackSpan */
|
|
102
111
|
export interface Traceable {
|
|
@@ -131,5 +140,10 @@ export declare function trackSpan<T extends Traceable, F extends (...args: any[]
|
|
|
131
140
|
* @returns - A new function that wraps the callback in a span
|
|
132
141
|
*/
|
|
133
142
|
export declare function wrapCallbackInSpan<F extends (...args: any[]) => any>(tracer: Tracer, spanName: string, attributes: AttributesType, callback: F): F;
|
|
134
|
-
export declare function runInSpan<A extends any[], R>(tracer: Tracer | string, spanName: string, callback: (span: Span, ...args: A) => R): (...args: A) => R
|
|
135
|
-
|
|
143
|
+
export declare function runInSpan<A extends any[], R>(tracer: Tracer | string, spanName: string, callback: (span: Span, ...args: A) => Promise<R>): (...args: A) => Promise<R>;
|
|
144
|
+
/**
|
|
145
|
+
* Execute a callback within a span immediately (for one-off traced calls).
|
|
146
|
+
* Unlike runInSpan which returns a reusable function, this executes right away.
|
|
147
|
+
*/
|
|
148
|
+
export declare function execInSpan<R>(tracer: Tracer | string, spanName: string, callback: (span: Span) => Promise<R>): Promise<R>;
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVsZW1ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGNBQWMsRUFDbkIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxPQUFPLEVBQ1osS0FBSyxhQUFhLEVBQ2xCLEtBQUssVUFBVSxFQUNmLEtBQUsscUJBQXFCLElBQUkseUJBQXlCLEVBQ3ZELEtBQUssS0FBSyxJQUFJLFNBQVMsRUFDdkIsS0FBSyxTQUFTLElBQUksYUFBYSxFQUMvQixLQUFLLGVBQWUsSUFBSSxtQkFBbUIsRUFDM0MsS0FBSyxnQkFBZ0IsSUFBSSxvQkFBb0IsRUFDN0MsS0FBSyx1QkFBdUIsSUFBSSwyQkFBMkIsRUFDM0QsS0FBSyxhQUFhLElBQUksaUJBQWlCLEVBQ3ZDLEtBQUssSUFBSSxFQUVULEtBQUssTUFBTSxFQUNaLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxLQUFLLEtBQUssVUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUM7QUFHN0MsT0FBTyxFQUFFLEtBQUssSUFBSSxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsS0FBSyxPQUFPLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RixLQUFLLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBRWpFLEtBQUssY0FBYyxHQUFHLFFBQVEsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxDQUFDO0FBRWxEOzs7Ozs7R0FNRztBQUNILEtBQUssMEJBQTBCLEdBQUcsQ0FBQyxPQUFPLFVBQVUsQ0FBQyxDQUNqRCxjQUFjLEdBQ2QsZUFBZSxHQUNmLGFBQWEsR0FDYixjQUFjLEdBQ2QsMkJBQTJCLEdBQzNCLGlCQUFpQixHQUNqQixZQUFZLEdBQ1osWUFBWSxHQUNaLGNBQWMsR0FDZCxTQUFTLEdBQ1QsZ0JBQWdCLEdBQ2hCLFFBQVEsR0FDUixtQ0FBbUMsR0FDbkMsZ0JBQWdCLEdBQ2hCLFdBQVcsR0FDWCxvQkFBb0IsQ0FBQyxDQUFDO0FBRTFCLG9DQUFvQztBQUNwQyxNQUFNLE1BQU0sY0FBYyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7QUFFN0UsMERBQTBEO0FBQzFELE1BQU0sTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsMEJBQTBCLENBQUMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO0FBRXhILGlDQUFpQztBQUNqQyxNQUFNLE1BQU0sV0FBVyxHQUFHLENBQUMsT0FBTyxPQUFPLENBQUMsQ0FBQyxNQUFNLE9BQU8sT0FBTyxDQUFDLENBQUM7QUFFakUsTUFBTSxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUNwRCxNQUFNLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQzVELE1BQU0sTUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUNwRSxNQUFNLE1BQU0sZUFBZSxHQUFHLG1CQUFtQixDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDeEUsTUFBTSxNQUFNLHVCQUF1QixHQUFHLDJCQUEyQixDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDeEYsTUFBTSxNQUFNLGdCQUFnQixHQUFHLG9CQUFvQixDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDMUUsTUFBTSxNQUFNLHFCQUFxQixHQUFHLHlCQUF5QixDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFFcEYsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO0FBR3ZCOztHQUVHO0FBQ0gsTUFBTSxXQUFXLEtBQUs7SUFDcEI7Ozs7T0FJRztJQUNILFdBQVcsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxFQUFFLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFFL0Q7Ozs7T0FJRztJQUNILHFCQUFxQixDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLEVBQUUsYUFBYSxHQUFHLGVBQWUsQ0FBQztJQUVuRiwwQkFBMEIsQ0FDeEIsUUFBUSxFQUFFLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxFQUNqRCxXQUFXLEVBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEdBQ3hDLElBQUksQ0FBQztJQUVSLDZCQUE2QixDQUMzQixRQUFRLEVBQUUsdUJBQXVCLENBQUMsY0FBYyxDQUFDLEVBQ2pELFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsR0FDeEMsSUFBSSxDQUFDO0lBRVI7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQyxFQUFFLGFBQWEsR0FBRyxTQUFTLENBQUM7SUFFdkU7Ozs7T0FJRztJQUNILG1CQUFtQixDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLEVBQUUsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUUvRTs7OztPQUlHO0lBQ0gsNkJBQTZCLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRSxhQUFhLEdBQUcsdUJBQXVCLENBQUM7Q0FDcEc7QUFFRDs7R0FFRztBQUNILE1BQU0sV0FBVyxlQUFlO0lBQzlCOztRQUVJO0lBQ0osU0FBUyxJQUFJLE9BQU8sQ0FBQztJQUNyQjs7O09BR0c7SUFDSCxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFFOUI7OztPQUdHO0lBQ0gsU0FBUyxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBRWhDOztPQUVHO0lBQ0gsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV0Qjs7T0FFRztJQUNILEtBQUssSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdkI7O09BRUc7SUFDSCwwQkFBMEIsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBRXJEOztPQUVHO0lBQ0gsNkJBQTZCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztJQUVyRDs7O09BR0c7SUFDSCxlQUFlLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FBQztJQUV0Qzs7T0FFRztJQUNILHdCQUF3QixDQUFDLFlBQVksRUFBRSxNQUFNLEdBQUcsT0FBTyxHQUFHLFNBQVMsQ0FBQztDQUNyRTtBQUVELCtEQUErRDtBQUMvRCxNQUFNLFdBQVcsU0FBUztJQUN4QixNQUFNLEVBQUUsTUFBTSxDQUFDO0NBQ2hCO0FBRUQsS0FBSyxhQUFhLENBQUMsQ0FBQyxTQUFTLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FDM0UsY0FBYyxFQUFFLENBQUMsRUFDakIsT0FBTyxFQUFFLDJCQUEyQixDQUFDLENBQUMsQ0FBQyxLQUNwQyxDQUFDLENBQUM7QUFFUDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUNILHdCQUFnQixTQUFTLENBQUMsQ0FBQyxTQUFTLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxHQUFHLEVBQzlFLFFBQVEsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxFQUNoRSxVQUFVLENBQUMsRUFBRSxjQUFjLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxjQUFjLENBQUMsRUFDN0csZUFBZSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssY0FBYyxHQUNqRixhQUFhLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQTZDckI7QUFFRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsd0JBQWdCLGtCQUFrQixDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxLQUFLLEdBQUcsRUFDbEUsTUFBTSxFQUFFLE1BQU0sRUFDZCxRQUFRLEVBQUUsTUFBTSxFQUNoQixVQUFVLEVBQUUsY0FBYyxFQUMxQixRQUFRLEVBQUUsQ0FBQyxHQUNWLENBQUMsQ0FrQkg7QUFFRCx3QkFBZ0IsU0FBUyxDQUFDLENBQUMsU0FBUyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQzFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUN2QixRQUFRLEVBQUUsTUFBTSxFQUNoQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQy9DLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0F5QjVCO0FBRUQ7OztHQUdHO0FBQ0gsd0JBQWdCLFVBQVUsQ0FBQyxDQUFDLEVBQzFCLE1BQU0sRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUN2QixRQUFRLEVBQUUsTUFBTSxFQUNoQixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FDbkMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQWlCWiJ9
|
package/dest/telemetry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,qBAAqB,IAAI,yBAAyB,EACvD,KAAK,KAAK,IAAI,SAAS,EACvB,KAAK,SAAS,IAAI,aAAa,EAC/B,KAAK,eAAe,IAAI,mBAAmB,EAC3C,KAAK,gBAAgB,IAAI,oBAAoB,EAC7C,KAAK,uBAAuB,IAAI,2BAA2B,EAC3D,KAAK,aAAa,IAAI,iBAAiB,EACvC,KAAK,IAAI,EAET,KAAK,MAAM,EACZ,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
package/dest/telemetry.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { SpanStatusCode } from '@opentelemetry/api';
|
|
2
|
-
import { isPromise } from 'node:util/types';
|
|
3
2
|
import { getTelemetryClient } from './start.js';
|
|
4
3
|
export { SpanStatusCode, ValueType } from '@opentelemetry/api';
|
|
5
4
|
/**
|
|
@@ -89,35 +88,51 @@ export { SpanStatusCode, ValueType } from '@opentelemetry/api';
|
|
|
89
88
|
export function runInSpan(tracer, spanName, callback) {
|
|
90
89
|
return (...args)=>{
|
|
91
90
|
const actualTracer = typeof tracer === 'string' ? getTelemetryClient().getTracer(tracer) : tracer;
|
|
92
|
-
return actualTracer.startActiveSpan(spanName, (span)=>{
|
|
93
|
-
let deferSpanEnd = false;
|
|
91
|
+
return actualTracer.startActiveSpan(spanName, async (span)=>{
|
|
94
92
|
try {
|
|
95
|
-
const res = callback(span, ...args);
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
code: SpanStatusCode.ERROR,
|
|
101
|
-
message: String(err)
|
|
102
|
-
});
|
|
103
|
-
throw err;
|
|
104
|
-
}).finally(()=>{
|
|
105
|
-
span.end();
|
|
106
|
-
});
|
|
107
|
-
} else {
|
|
108
|
-
return res;
|
|
109
|
-
}
|
|
93
|
+
const res = await callback(span, ...args);
|
|
94
|
+
span.setStatus({
|
|
95
|
+
code: SpanStatusCode.OK
|
|
96
|
+
});
|
|
97
|
+
return res;
|
|
110
98
|
} catch (err) {
|
|
111
99
|
span.setStatus({
|
|
112
100
|
code: SpanStatusCode.ERROR,
|
|
113
101
|
message: String(err)
|
|
114
102
|
});
|
|
103
|
+
if (typeof err === 'string' || err && err instanceof Error) {
|
|
104
|
+
span.recordException(err);
|
|
105
|
+
}
|
|
115
106
|
throw err;
|
|
116
107
|
} finally{
|
|
117
|
-
|
|
118
|
-
span.end();
|
|
119
|
-
}
|
|
108
|
+
span.end();
|
|
120
109
|
}
|
|
121
110
|
});
|
|
122
111
|
};
|
|
123
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Execute a callback within a span immediately (for one-off traced calls).
|
|
115
|
+
* Unlike runInSpan which returns a reusable function, this executes right away.
|
|
116
|
+
*/ export function execInSpan(tracer, spanName, callback) {
|
|
117
|
+
const actualTracer = typeof tracer === 'string' ? getTelemetryClient().getTracer(tracer) : tracer;
|
|
118
|
+
return actualTracer.startActiveSpan(spanName, async (span)=>{
|
|
119
|
+
try {
|
|
120
|
+
const res = await callback(span);
|
|
121
|
+
span.setStatus({
|
|
122
|
+
code: SpanStatusCode.OK
|
|
123
|
+
});
|
|
124
|
+
return res;
|
|
125
|
+
} catch (err) {
|
|
126
|
+
span.setStatus({
|
|
127
|
+
code: SpanStatusCode.ERROR,
|
|
128
|
+
message: String(err)
|
|
129
|
+
});
|
|
130
|
+
if (typeof err === 'string' || err && err instanceof Error) {
|
|
131
|
+
span.recordException(err);
|
|
132
|
+
}
|
|
133
|
+
throw err;
|
|
134
|
+
} finally{
|
|
135
|
+
span.end();
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/telemetry-client",
|
|
3
|
-
"version": "4.0.0-nightly.
|
|
3
|
+
"version": "4.0.0-nightly.20260108",
|
|
4
4
|
"inherits": [
|
|
5
5
|
"../package.common.json"
|
|
6
6
|
],
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
"!*.test.*"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@aztec/foundation": "4.0.0-nightly.
|
|
31
|
-
"@aztec/stdlib": "4.0.0-nightly.
|
|
30
|
+
"@aztec/foundation": "4.0.0-nightly.20260108",
|
|
31
|
+
"@aztec/stdlib": "4.0.0-nightly.20260108",
|
|
32
32
|
"@opentelemetry/api": "^1.9.0",
|
|
33
33
|
"@opentelemetry/api-logs": "^0.55.0",
|
|
34
34
|
"@opentelemetry/core": "^1.28.0",
|
package/src/bench.ts
CHANGED
|
@@ -61,6 +61,14 @@ export class BenchmarkTelemetryClient implements TelemetryClient {
|
|
|
61
61
|
return true;
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
+
getTraceContext(): string | undefined {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
extractPropagatedContext() {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
|
|
64
72
|
getMeters(): BenchmarkMetricsType {
|
|
65
73
|
return this.meters;
|
|
66
74
|
}
|
package/src/noop.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type Context,
|
|
3
|
+
type Meter,
|
|
4
|
+
type Span,
|
|
5
|
+
type SpanContext,
|
|
6
|
+
type Tracer,
|
|
7
|
+
createNoopMeter,
|
|
8
|
+
} from '@opentelemetry/api';
|
|
2
9
|
|
|
3
10
|
import type { TelemetryClient } from './telemetry.js';
|
|
4
11
|
|
|
@@ -25,6 +32,14 @@ export class NoopTelemetryClient implements TelemetryClient {
|
|
|
25
32
|
isEnabled() {
|
|
26
33
|
return false;
|
|
27
34
|
}
|
|
35
|
+
|
|
36
|
+
getTraceContext(): string | undefined {
|
|
37
|
+
return undefined;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
extractPropagatedContext(_traceContext: string): Context | undefined {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
28
43
|
}
|
|
29
44
|
|
|
30
45
|
// @opentelemetry/api internally uses NoopTracer and NoopSpan but they're not exported
|
package/src/otel.ts
CHANGED
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
import { type LogData, type Logger, addLogDataHandler } from '@aztec/foundation/log';
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
|
+
type Context,
|
|
4
5
|
DiagConsoleLogger,
|
|
5
6
|
DiagLogLevel,
|
|
6
7
|
type Meter,
|
|
8
|
+
ROOT_CONTEXT,
|
|
7
9
|
type Tracer,
|
|
8
10
|
type TracerProvider,
|
|
9
11
|
context,
|
|
10
12
|
diag,
|
|
11
13
|
isSpanContextValid,
|
|
14
|
+
propagation,
|
|
12
15
|
trace,
|
|
13
16
|
} from '@opentelemetry/api';
|
|
17
|
+
import { W3CTraceContextPropagator } from '@opentelemetry/core';
|
|
14
18
|
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
|
|
15
19
|
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
|
|
16
20
|
import { HostMetrics } from '@opentelemetry/host-metrics';
|
|
@@ -138,6 +142,19 @@ export class OpenTelemetryClient implements TelemetryClient {
|
|
|
138
142
|
]);
|
|
139
143
|
}
|
|
140
144
|
|
|
145
|
+
public getTraceContext(): string | undefined {
|
|
146
|
+
const carrier: Record<string, string> = {};
|
|
147
|
+
propagation.inject(context.active(), carrier);
|
|
148
|
+
return carrier['traceparent'];
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
public extractPropagatedContext(traceContext: string): Context {
|
|
152
|
+
const extractedContext = propagation.extract(ROOT_CONTEXT, {
|
|
153
|
+
traceparent: traceContext,
|
|
154
|
+
});
|
|
155
|
+
return extractedContext;
|
|
156
|
+
}
|
|
157
|
+
|
|
141
158
|
public static createMeterProvider(
|
|
142
159
|
resource: IResource,
|
|
143
160
|
exporters: Array<PeriodicExportingMetricReaderOptions>,
|
|
@@ -279,7 +296,9 @@ export class OpenTelemetryClient implements TelemetryClient {
|
|
|
279
296
|
: [],
|
|
280
297
|
});
|
|
281
298
|
|
|
282
|
-
tracerProvider.register(
|
|
299
|
+
tracerProvider.register({
|
|
300
|
+
propagator: new W3CTraceContextPropagator(),
|
|
301
|
+
});
|
|
283
302
|
|
|
284
303
|
const exporters: PeriodicExportingMetricReaderOptions[] = [];
|
|
285
304
|
if (config.metricsCollectorUrl) {
|
package/src/telemetry.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
type AttributeValue,
|
|
3
3
|
type BatchObservableCallback,
|
|
4
|
+
type Context,
|
|
4
5
|
type MetricOptions,
|
|
5
6
|
type Observable,
|
|
6
7
|
type BatchObservableResult as OtelBatchObservableResult,
|
|
@@ -14,13 +15,12 @@ import {
|
|
|
14
15
|
SpanStatusCode,
|
|
15
16
|
type Tracer,
|
|
16
17
|
} from '@opentelemetry/api';
|
|
17
|
-
import { isPromise } from 'node:util/types';
|
|
18
18
|
|
|
19
19
|
import type * as Attributes from './attributes.js';
|
|
20
20
|
import type * as Metrics from './metrics.js';
|
|
21
21
|
import { getTelemetryClient } from './start.js';
|
|
22
22
|
|
|
23
|
-
export { type Span, SpanStatusCode, ValueType } from '@opentelemetry/api';
|
|
23
|
+
export { type Span, SpanStatusCode, ValueType, type Context } from '@opentelemetry/api';
|
|
24
24
|
|
|
25
25
|
type ValuesOf<T> = T extends Record<string, infer U> ? U : never;
|
|
26
26
|
|
|
@@ -160,6 +160,17 @@ export interface TelemetryClient {
|
|
|
160
160
|
* Updates the roles that would share telemetry (if enabled)
|
|
161
161
|
*/
|
|
162
162
|
setPublicTelemetryCollectFrom(roles: string[]): void;
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Get current trace context as an opaque string for propagation.
|
|
166
|
+
* Returns the W3C traceparent header value if a trace is active, undefined otherwise.
|
|
167
|
+
*/
|
|
168
|
+
getTraceContext(): string | undefined;
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* Recreates a context propagated by a remote system
|
|
172
|
+
*/
|
|
173
|
+
extractPropagatedContext(traceContext: string): Context | undefined;
|
|
163
174
|
}
|
|
164
175
|
|
|
165
176
|
/** Objects that adhere to this interface can use @trackSpan */
|
|
@@ -277,41 +288,57 @@ export function wrapCallbackInSpan<F extends (...args: any[]) => any>(
|
|
|
277
288
|
export function runInSpan<A extends any[], R>(
|
|
278
289
|
tracer: Tracer | string,
|
|
279
290
|
spanName: string,
|
|
280
|
-
callback: (span: Span, ...args: A) => R
|
|
281
|
-
): (...args: A) => R {
|
|
282
|
-
return (...args: A): R => {
|
|
291
|
+
callback: (span: Span, ...args: A) => Promise<R>,
|
|
292
|
+
): (...args: A) => Promise<R> {
|
|
293
|
+
return (...args: A): Promise<R> => {
|
|
283
294
|
const actualTracer = typeof tracer === 'string' ? getTelemetryClient().getTracer(tracer) : tracer;
|
|
284
|
-
return actualTracer.startActiveSpan(spanName, (span: Span): R => {
|
|
285
|
-
let deferSpanEnd = false;
|
|
295
|
+
return actualTracer.startActiveSpan(spanName, async (span: Span): Promise<R> => {
|
|
286
296
|
try {
|
|
287
|
-
const res = callback(span, ...args);
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
code: SpanStatusCode.ERROR,
|
|
294
|
-
message: String(err),
|
|
295
|
-
});
|
|
296
|
-
throw err;
|
|
297
|
-
})
|
|
298
|
-
.finally(() => {
|
|
299
|
-
span.end();
|
|
300
|
-
}) as R;
|
|
301
|
-
} else {
|
|
302
|
-
return res;
|
|
303
|
-
}
|
|
297
|
+
const res = await callback(span, ...args);
|
|
298
|
+
span.setStatus({
|
|
299
|
+
code: SpanStatusCode.OK,
|
|
300
|
+
});
|
|
301
|
+
|
|
302
|
+
return res;
|
|
304
303
|
} catch (err) {
|
|
305
304
|
span.setStatus({
|
|
306
305
|
code: SpanStatusCode.ERROR,
|
|
307
306
|
message: String(err),
|
|
308
307
|
});
|
|
308
|
+
if (typeof err === 'string' || (err && err instanceof Error)) {
|
|
309
|
+
span.recordException(err);
|
|
310
|
+
}
|
|
309
311
|
throw err;
|
|
310
312
|
} finally {
|
|
311
|
-
|
|
312
|
-
span.end();
|
|
313
|
-
}
|
|
313
|
+
span.end();
|
|
314
314
|
}
|
|
315
315
|
});
|
|
316
316
|
};
|
|
317
317
|
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Execute a callback within a span immediately (for one-off traced calls).
|
|
321
|
+
* Unlike runInSpan which returns a reusable function, this executes right away.
|
|
322
|
+
*/
|
|
323
|
+
export function execInSpan<R>(
|
|
324
|
+
tracer: Tracer | string,
|
|
325
|
+
spanName: string,
|
|
326
|
+
callback: (span: Span) => Promise<R>,
|
|
327
|
+
): Promise<R> {
|
|
328
|
+
const actualTracer = typeof tracer === 'string' ? getTelemetryClient().getTracer(tracer) : tracer;
|
|
329
|
+
return actualTracer.startActiveSpan(spanName, async (span: Span): Promise<R> => {
|
|
330
|
+
try {
|
|
331
|
+
const res = await callback(span);
|
|
332
|
+
span.setStatus({ code: SpanStatusCode.OK });
|
|
333
|
+
return res;
|
|
334
|
+
} catch (err) {
|
|
335
|
+
span.setStatus({ code: SpanStatusCode.ERROR, message: String(err) });
|
|
336
|
+
if (typeof err === 'string' || (err && err instanceof Error)) {
|
|
337
|
+
span.recordException(err);
|
|
338
|
+
}
|
|
339
|
+
throw err;
|
|
340
|
+
} finally {
|
|
341
|
+
span.end();
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
}
|