@aztec/telemetry-client 1.0.0 → 1.1.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/dest/bench.d.ts +1 -0
- package/dest/bench.d.ts.map +1 -1
- package/dest/bench.js +1 -0
- package/dest/config.d.ts +2 -0
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +17 -6
- package/dest/metrics.d.ts +19 -0
- package/dest/metrics.d.ts.map +1 -1
- package/dest/metrics.js +19 -0
- package/dest/noop.d.ts +1 -0
- package/dest/noop.d.ts.map +1 -1
- package/dest/noop.js +1 -0
- package/dest/otel.d.ts +3 -2
- package/dest/otel.d.ts.map +1 -1
- package/dest/otel.js +7 -4
- package/dest/otel_filter_metric_exporter.d.ts +7 -1
- package/dest/otel_filter_metric_exporter.d.ts.map +1 -1
- package/dest/otel_filter_metric_exporter.js +21 -0
- package/dest/otel_resource.d.ts.map +1 -1
- package/dest/otel_resource.js +5 -2
- package/dest/telemetry.d.ts +4 -0
- package/dest/telemetry.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/bench.ts +1 -0
- package/src/config.ts +26 -6
- package/src/metrics.ts +23 -0
- package/src/noop.ts +1 -0
- package/src/otel.ts +10 -6
- package/src/otel_filter_metric_exporter.ts +27 -1
- package/src/otel_resource.ts +4 -2
- package/src/telemetry.ts +5 -0
package/dest/bench.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare class BenchmarkTelemetryClient implements TelemetryClient {
|
|
|
15
15
|
private meters;
|
|
16
16
|
constructor();
|
|
17
17
|
setExportedPublicTelemetry(_prefixes: string[]): void;
|
|
18
|
+
setPublicTelemetryCollectFrom(_roles: string[]): void;
|
|
18
19
|
getMeter(name: string): Meter;
|
|
19
20
|
getTracer(): Tracer;
|
|
20
21
|
stop(): Promise<void>;
|
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;;IAO1C,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAErD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAM7B,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS;IAIT,SAAS,IAAI,oBAAoB;IAIjC,KAAK;CAGN;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;;IAO1C,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IACrD,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAErD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAM7B,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS;IAIT,SAAS,IAAI,oBAAoB;IAIjC,KAAK;CAGN;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
|
@@ -7,6 +7,7 @@ export class BenchmarkTelemetryClient {
|
|
|
7
7
|
log.info(`Using benchmark telemetry client`);
|
|
8
8
|
}
|
|
9
9
|
setExportedPublicTelemetry(_prefixes) {}
|
|
10
|
+
setPublicTelemetryCollectFrom(_roles) {}
|
|
10
11
|
getMeter(name) {
|
|
11
12
|
const meter = new InMemoryPlainMeter(name);
|
|
12
13
|
this.meters.push(meter);
|
package/dest/config.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ export interface TelemetryClientConfig {
|
|
|
3
3
|
metricsCollectorUrl?: URL;
|
|
4
4
|
publicMetricsCollectorUrl?: URL;
|
|
5
5
|
publicIncludeMetrics: string[];
|
|
6
|
+
publicMetricsOptOut: boolean;
|
|
7
|
+
publicMetricsCollectFrom: string[];
|
|
6
8
|
tracesCollectorUrl?: URL;
|
|
7
9
|
logsCollectorUrl?: URL;
|
|
8
10
|
otelCollectIntervalMs: number;
|
package/dest/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,yBAAyB,CAAC,EAAE,GAAG,CAAC;IAChC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,CA2EnF,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,qBAAqB,CAExD"}
|
package/dest/config.js
CHANGED
|
@@ -1,15 +1,10 @@
|
|
|
1
|
-
import { getConfigFromMappings } from '@aztec/foundation/config';
|
|
1
|
+
import { booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
|
|
2
2
|
export const telemetryClientConfigMappings = {
|
|
3
3
|
metricsCollectorUrl: {
|
|
4
4
|
env: 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT',
|
|
5
5
|
description: 'The URL of the telemetry collector for metrics',
|
|
6
6
|
parseEnv: (val)=>val && new URL(val)
|
|
7
7
|
},
|
|
8
|
-
publicMetricsCollectorUrl: {
|
|
9
|
-
env: 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT',
|
|
10
|
-
description: 'A URL to publish a subset of metrics for public consumption',
|
|
11
|
-
parseEnv: (val)=>val && new URL(val)
|
|
12
|
-
},
|
|
13
8
|
tracesCollectorUrl: {
|
|
14
9
|
env: 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT',
|
|
15
10
|
description: 'The URL of the telemetry collector for traces',
|
|
@@ -38,11 +33,27 @@ export const telemetryClientConfigMappings = {
|
|
|
38
33
|
parseEnv: (val)=>val ? val.split(',').map((s)=>s.trim()).filter((s)=>s.length > 0) : [],
|
|
39
34
|
defaultValue: []
|
|
40
35
|
},
|
|
36
|
+
publicMetricsCollectorUrl: {
|
|
37
|
+
env: 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT',
|
|
38
|
+
description: 'A URL to publish a subset of metrics for public consumption',
|
|
39
|
+
parseEnv: (val)=>val && new URL(val)
|
|
40
|
+
},
|
|
41
|
+
publicMetricsCollectFrom: {
|
|
42
|
+
env: 'PUBLIC_OTEL_COLLECT_FROM',
|
|
43
|
+
description: 'The role types to collect metrics from',
|
|
44
|
+
parseEnv: (val)=>val ? val.split(',').map((s)=>s.trim()).filter((s)=>s.length > 0) : [],
|
|
45
|
+
defaultValue: []
|
|
46
|
+
},
|
|
41
47
|
publicIncludeMetrics: {
|
|
42
48
|
env: 'PUBLIC_OTEL_INCLUDE_METRICS',
|
|
43
49
|
description: 'A list of metric prefixes to publicly export',
|
|
44
50
|
parseEnv: (val)=>val ? val.split(',').map((s)=>s.trim()).filter((s)=>s.length > 0) : [],
|
|
45
51
|
defaultValue: []
|
|
52
|
+
},
|
|
53
|
+
publicMetricsOptOut: {
|
|
54
|
+
env: 'PUBLIC_OTEL_OPT_OUT',
|
|
55
|
+
description: 'Whether to opt out of sharing optional telemetry',
|
|
56
|
+
...booleanConfigHelper(false)
|
|
46
57
|
}
|
|
47
58
|
};
|
|
48
59
|
export function getConfigEnvVars() {
|
package/dest/metrics.d.ts
CHANGED
|
@@ -91,6 +91,17 @@ export declare const P2P_REQ_RESP_FAILED_OUTBOUND_REQUESTS = "aztec.p2p.req_resp
|
|
|
91
91
|
export declare const P2P_REQ_RESP_FAILED_INBOUND_REQUESTS = "aztec.p2p.req_resp.failed_inbound_requests";
|
|
92
92
|
export declare const P2P_GOSSIP_MESSAGE_VALIDATION_DURATION = "aztec.p2p.gossip.message_validation_duration";
|
|
93
93
|
export declare const P2P_GOSSIP_MESSAGE_PREVALIDATION_COUNT = "aztec.p2p.gossip.message_validation_count";
|
|
94
|
+
export declare const P2P_GOSSIP_MESSAGE_LATENCY = "aztec.p2p.gossip.message_latency";
|
|
95
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MIN = "aztec.p2p.gossip.agg_message_latency_min";
|
|
96
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MAX = "aztec.p2p.gossip.agg_message_latency_max";
|
|
97
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P50 = "aztec.p2p.gossip.agg_message_latency_p50";
|
|
98
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P90 = "aztec.p2p.gossip.agg_message_latency_p90";
|
|
99
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_AVG = "aztec.p2p.gossip.agg_message_latency_avg";
|
|
100
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MIN = "aztec.p2p.gossip.agg_message_validation_duration_min";
|
|
101
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MAX = "aztec.p2p.gossip.agg_message_validation_duration_max";
|
|
102
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P50 = "aztec.p2p.gossip.agg_message_validation_duration_p50";
|
|
103
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P90 = "aztec.p2p.gossip.agg_message_validation_duration_p90";
|
|
104
|
+
export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_AVG = "aztec.p2p.gossip.agg_message_validation_duration_avg";
|
|
94
105
|
export declare const PUBLIC_PROCESSOR_TX_DURATION = "aztec.public_processor.tx_duration";
|
|
95
106
|
export declare const PUBLIC_PROCESSOR_TX_COUNT = "aztec.public_processor.tx_count";
|
|
96
107
|
export declare const PUBLIC_PROCESSOR_TX_PHASE_COUNT = "aztec.public_processor.tx_phase_count";
|
|
@@ -171,4 +182,12 @@ export declare const TX_COLLECTOR_TXS_FROM_PROPOSALS_COUNT = "aztec.tx_collector
|
|
|
171
182
|
export declare const TX_COLLECTOR_TXS_FROM_MEMPOOL_COUNT = "aztec.tx_collector.txs_from_mempool_count";
|
|
172
183
|
export declare const TX_COLLECTOR_TXS_FROM_P2P_COUNT = "aztec.tx_collector.txs_from_p2p_count";
|
|
173
184
|
export declare const TX_COLLECTOR_MISSING_TXS_COUNT = "aztec.tx_collector.missing_txs_count";
|
|
185
|
+
export declare const IVC_VERIFIER_TIME = "aztec.ivc_verifier.time";
|
|
186
|
+
export declare const IVC_VERIFIER_TOTAL_TIME = "aztec.ivc_verifier.total_time";
|
|
187
|
+
export declare const IVC_VERIFIER_FAILURE_COUNT = "aztec.ivc_verifier.failure_count";
|
|
188
|
+
export declare const IVC_VERIFIER_AGG_DURATION_MIN = "aztec.ivc_verifier.agg_duration_min";
|
|
189
|
+
export declare const IVC_VERIFIER_AGG_DURATION_MAX = "aztec.ivc_verifier.agg_duration_max";
|
|
190
|
+
export declare const IVC_VERIFIER_AGG_DURATION_P50 = "aztec.ivc_verifier.agg_duration_p50";
|
|
191
|
+
export declare const IVC_VERIFIER_AGG_DURATION_P90 = "aztec.ivc_verifier.agg_duration_p90";
|
|
192
|
+
export declare const IVC_VERIFIER_AGG_DURATION_AVG = "aztec.ivc_verifier.agg_duration_avg";
|
|
174
193
|
//# sourceMappingURL=metrics.d.ts.map
|
package/dest/metrics.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"metrics.d.ts","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
|
package/dest/metrics.js
CHANGED
|
@@ -89,6 +89,17 @@ export const P2P_REQ_RESP_FAILED_OUTBOUND_REQUESTS = 'aztec.p2p.req_resp.failed_
|
|
|
89
89
|
export const P2P_REQ_RESP_FAILED_INBOUND_REQUESTS = 'aztec.p2p.req_resp.failed_inbound_requests';
|
|
90
90
|
export const P2P_GOSSIP_MESSAGE_VALIDATION_DURATION = 'aztec.p2p.gossip.message_validation_duration';
|
|
91
91
|
export const P2P_GOSSIP_MESSAGE_PREVALIDATION_COUNT = 'aztec.p2p.gossip.message_validation_count';
|
|
92
|
+
export const P2P_GOSSIP_MESSAGE_LATENCY = 'aztec.p2p.gossip.message_latency';
|
|
93
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MIN = 'aztec.p2p.gossip.agg_message_latency_min';
|
|
94
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MAX = 'aztec.p2p.gossip.agg_message_latency_max';
|
|
95
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P50 = 'aztec.p2p.gossip.agg_message_latency_p50';
|
|
96
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P90 = 'aztec.p2p.gossip.agg_message_latency_p90';
|
|
97
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_AVG = 'aztec.p2p.gossip.agg_message_latency_avg';
|
|
98
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MIN = 'aztec.p2p.gossip.agg_message_validation_duration_min';
|
|
99
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MAX = 'aztec.p2p.gossip.agg_message_validation_duration_max';
|
|
100
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P50 = 'aztec.p2p.gossip.agg_message_validation_duration_p50';
|
|
101
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P90 = 'aztec.p2p.gossip.agg_message_validation_duration_p90';
|
|
102
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_AVG = 'aztec.p2p.gossip.agg_message_validation_duration_avg';
|
|
92
103
|
export const PUBLIC_PROCESSOR_TX_DURATION = 'aztec.public_processor.tx_duration';
|
|
93
104
|
export const PUBLIC_PROCESSOR_TX_COUNT = 'aztec.public_processor.tx_count';
|
|
94
105
|
export const PUBLIC_PROCESSOR_TX_PHASE_COUNT = 'aztec.public_processor.tx_phase_count';
|
|
@@ -169,3 +180,11 @@ export const TX_COLLECTOR_TXS_FROM_PROPOSALS_COUNT = 'aztec.tx_collector.txs_fro
|
|
|
169
180
|
export const TX_COLLECTOR_TXS_FROM_MEMPOOL_COUNT = 'aztec.tx_collector.txs_from_mempool_count';
|
|
170
181
|
export const TX_COLLECTOR_TXS_FROM_P2P_COUNT = 'aztec.tx_collector.txs_from_p2p_count';
|
|
171
182
|
export const TX_COLLECTOR_MISSING_TXS_COUNT = 'aztec.tx_collector.missing_txs_count';
|
|
183
|
+
export const IVC_VERIFIER_TIME = 'aztec.ivc_verifier.time';
|
|
184
|
+
export const IVC_VERIFIER_TOTAL_TIME = 'aztec.ivc_verifier.total_time';
|
|
185
|
+
export const IVC_VERIFIER_FAILURE_COUNT = 'aztec.ivc_verifier.failure_count';
|
|
186
|
+
export const IVC_VERIFIER_AGG_DURATION_MIN = 'aztec.ivc_verifier.agg_duration_min';
|
|
187
|
+
export const IVC_VERIFIER_AGG_DURATION_MAX = 'aztec.ivc_verifier.agg_duration_max';
|
|
188
|
+
export const IVC_VERIFIER_AGG_DURATION_P50 = 'aztec.ivc_verifier.agg_duration_p50';
|
|
189
|
+
export const IVC_VERIFIER_AGG_DURATION_P90 = 'aztec.ivc_verifier.agg_duration_p90';
|
|
190
|
+
export const IVC_VERIFIER_AGG_DURATION_AVG = 'aztec.ivc_verifier.agg_duration_avg';
|
package/dest/noop.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { 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;
|
|
5
|
+
setPublicTelemetryCollectFrom(_roles: string[]): void;
|
|
5
6
|
getMeter(): Meter;
|
|
6
7
|
getTracer(): Tracer;
|
|
7
8
|
stop(): Promise<void>;
|
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,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,EAAoB,KAAK,MAAM,EAAmB,MAAM,oBAAoB,CAAC;AAE3G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,qBAAa,mBAAoB,YAAW,eAAe;IACzD,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAErD,QAAQ,IAAI,KAAK;IAIjB,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS;CAGV;AAKD,qBAAa,UAAW,YAAW,MAAM;IACvC,SAAS,IAAI,IAAI;IAIjB,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;CAKrG"}
|
|
1
|
+
{"version":3,"file":"noop.d.ts","sourceRoot":"","sources":["../src/noop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,IAAI,EAAoB,KAAK,MAAM,EAAmB,MAAM,oBAAoB,CAAC;AAE3G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,qBAAa,mBAAoB,YAAW,eAAe;IACzD,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IACrD,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAErD,QAAQ,IAAI,KAAK;IAIjB,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS;CAGV;AAKD,qBAAa,UAAW,YAAW,MAAM;IACvC,SAAS,IAAI,IAAI;IAIjB,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;CAKrG"}
|
package/dest/noop.js
CHANGED
package/dest/otel.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type { LoggerProvider } from '@opentelemetry/sdk-logs';
|
|
|
6
6
|
import { MeterProvider, type PeriodicExportingMetricReaderOptions } from '@opentelemetry/sdk-metrics';
|
|
7
7
|
import type { TelemetryClientConfig } from './config.js';
|
|
8
8
|
import { NodejsMetricsMonitor } from './nodejs_metrics_monitor.js';
|
|
9
|
-
import {
|
|
9
|
+
import { PublicOtelFilterMetricExporter } from './otel_filter_metric_exporter.js';
|
|
10
10
|
import type { TelemetryClient } from './telemetry.js';
|
|
11
11
|
export type OpenTelemetryClientFactory = (resource: IResource, log: Logger) => OpenTelemetryClient;
|
|
12
12
|
export declare class OpenTelemetryClient implements TelemetryClient {
|
|
@@ -20,8 +20,9 @@ export declare class OpenTelemetryClient implements TelemetryClient {
|
|
|
20
20
|
nodejsMetricsMonitor: NodejsMetricsMonitor | undefined;
|
|
21
21
|
private meters;
|
|
22
22
|
private tracers;
|
|
23
|
-
protected constructor(resource: IResource, meterProvider: MeterProvider, traceProvider: TracerProvider, loggerProvider: LoggerProvider | undefined, publicMetricExporter:
|
|
23
|
+
protected constructor(resource: IResource, meterProvider: MeterProvider, traceProvider: TracerProvider, loggerProvider: LoggerProvider | undefined, publicMetricExporter: PublicOtelFilterMetricExporter | undefined, log: Logger);
|
|
24
24
|
setExportedPublicTelemetry(metrics: string[]): void;
|
|
25
|
+
setPublicTelemetryCollectFrom(roles: string[]): void;
|
|
25
26
|
getMeter(name: string): Meter;
|
|
26
27
|
getTracer(name: string): Tracer;
|
|
27
28
|
start(): void;
|
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,EAGL,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,cAAc,EAKpB,MAAM,oBAAoB,CAAC;AAG5B,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,
|
|
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,EAGL,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,cAAc,EAKpB,MAAM,oBAAoB,CAAC;AAG5B,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;IAGrB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAInD,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IAIpD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAS7B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IASxB,KAAK;IA+BL,SAAS;IAIH,KAAK;IAQL,IAAI;WAkBH,mBAAmB,CAC/B,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,KAAK,CAAC,oCAAoC,CAAC,GACrD,aAAa;IAiIhB,OAAO,CAAC,MAAM,CAAC,sBAAsB;WAiDvB,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB;CAS9F"}
|
package/dest/otel.js
CHANGED
|
@@ -7,7 +7,7 @@ import { ExplicitBucketHistogramAggregation, InstrumentType, MeterProvider, Peri
|
|
|
7
7
|
import { BatchSpanProcessor, NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
|
|
8
8
|
import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';
|
|
9
9
|
import { NodejsMetricsMonitor } from './nodejs_metrics_monitor.js';
|
|
10
|
-
import { OtelFilterMetricExporter } from './otel_filter_metric_exporter.js';
|
|
10
|
+
import { OtelFilterMetricExporter, PublicOtelFilterMetricExporter } from './otel_filter_metric_exporter.js';
|
|
11
11
|
import { registerOtelLoggerProvider } from './otel_logger_provider.js';
|
|
12
12
|
import { getOtelResource } from './otel_resource.js';
|
|
13
13
|
export class OpenTelemetryClient {
|
|
@@ -34,6 +34,9 @@ export class OpenTelemetryClient {
|
|
|
34
34
|
setExportedPublicTelemetry(metrics) {
|
|
35
35
|
this.publicMetricExporter?.setMetricPrefixes(metrics);
|
|
36
36
|
}
|
|
37
|
+
setPublicTelemetryCollectFrom(roles) {
|
|
38
|
+
this.publicMetricExporter?.setAllowedRoles(roles);
|
|
39
|
+
}
|
|
37
40
|
getMeter(name) {
|
|
38
41
|
let meter = this.meters.get(name);
|
|
39
42
|
if (!meter) {
|
|
@@ -347,14 +350,14 @@ export class OpenTelemetryClient {
|
|
|
347
350
|
});
|
|
348
351
|
}
|
|
349
352
|
let publicExporter;
|
|
350
|
-
if (config.publicMetricsCollectorUrl && config.
|
|
353
|
+
if (config.publicMetricsCollectorUrl && !config.publicMetricsOptOut) {
|
|
351
354
|
log.info(`Exporting public metrics: ${config.publicIncludeMetrics}`, {
|
|
352
355
|
publicMetrics: config.publicIncludeMetrics,
|
|
353
356
|
collectorUrl: config.publicMetricsCollectorUrl
|
|
354
357
|
});
|
|
355
|
-
publicExporter = new
|
|
358
|
+
publicExporter = new PublicOtelFilterMetricExporter(config.publicMetricsCollectFrom, new OTLPMetricExporter({
|
|
356
359
|
url: config.publicMetricsCollectorUrl.href
|
|
357
|
-
}), config.publicIncludeMetrics
|
|
360
|
+
}), config.publicIncludeMetrics);
|
|
358
361
|
exporters.push({
|
|
359
362
|
exporter: publicExporter,
|
|
360
363
|
exportTimeoutMillis: config.otelExportTimeoutMs,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ExportResult } from '@opentelemetry/core';
|
|
2
2
|
import type { PushMetricExporter, ResourceMetrics } from '@opentelemetry/sdk-metrics';
|
|
3
3
|
export declare class OtelFilterMetricExporter implements PushMetricExporter {
|
|
4
4
|
private readonly exporter;
|
|
@@ -11,4 +11,10 @@ export declare class OtelFilterMetricExporter implements PushMetricExporter {
|
|
|
11
11
|
shutdown(): Promise<void>;
|
|
12
12
|
setMetricPrefixes(metrics: string[]): void;
|
|
13
13
|
}
|
|
14
|
+
export declare class PublicOtelFilterMetricExporter extends OtelFilterMetricExporter {
|
|
15
|
+
private allowedRoles;
|
|
16
|
+
constructor(allowedRoles: string[], exporter: PushMetricExporter, metricPrefix: string[]);
|
|
17
|
+
export(metrics: ResourceMetrics, resultCallback: (result: ExportResult) => void): void;
|
|
18
|
+
setAllowedRoles(roles: string[]): void;
|
|
19
|
+
}
|
|
14
20
|
//# sourceMappingURL=otel_filter_metric_exporter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel_filter_metric_exporter.d.ts","sourceRoot":"","sources":["../src/otel_filter_metric_exporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"otel_filter_metric_exporter.d.ts","sourceRoot":"","sources":["../src/otel_filter_metric_exporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAC1E,OAAO,KAAK,EAAc,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlG,qBAAa,wBAAyB,YAAW,kBAAkB;IAE/D,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,QAAQ,EAAE,kBAAkB,EACrC,YAAY,EAAE,MAAM,EAAE,EACb,MAAM,GAAE,OAAO,GAAG,MAAe;IAU7C,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAW7F,OAAO,CAAC,aAAa;IAcd,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE;CAG3C;AAED,qBAAa,8BAA+B,SAAQ,wBAAwB;IAExE,OAAO,CAAC,YAAY;gBAAZ,YAAY,EAAE,MAAM,EAAE,EAC9B,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,EAAE,MAAM,EAAE;IAKR,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAU/F,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE;CAGvC"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { ExportResultCode } from '@opentelemetry/core';
|
|
2
|
+
import { AZTEC_NODE_ROLE } from './attributes.js';
|
|
1
3
|
export class OtelFilterMetricExporter {
|
|
2
4
|
exporter;
|
|
3
5
|
metricPrefix;
|
|
@@ -44,3 +46,22 @@ export class OtelFilterMetricExporter {
|
|
|
44
46
|
this.metricPrefix = metrics;
|
|
45
47
|
}
|
|
46
48
|
}
|
|
49
|
+
export class PublicOtelFilterMetricExporter extends OtelFilterMetricExporter {
|
|
50
|
+
allowedRoles;
|
|
51
|
+
constructor(allowedRoles, exporter, metricPrefix){
|
|
52
|
+
super(exporter, metricPrefix, 'allow'), this.allowedRoles = allowedRoles;
|
|
53
|
+
}
|
|
54
|
+
export(metrics, resultCallback) {
|
|
55
|
+
const role = String(metrics.resource.attributes[AZTEC_NODE_ROLE] ?? '');
|
|
56
|
+
if (!role || !this.allowedRoles.includes(role)) {
|
|
57
|
+
// noop
|
|
58
|
+
return resultCallback({
|
|
59
|
+
code: ExportResultCode.SUCCESS
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
super.export(metrics, resultCallback);
|
|
63
|
+
}
|
|
64
|
+
setAllowedRoles(roles) {
|
|
65
|
+
this.allowedRoles = roles;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"otel_resource.d.ts","sourceRoot":"","sources":["../src/otel_resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,
|
|
1
|
+
{"version":3,"file":"otel_resource.d.ts","sourceRoot":"","sources":["../src/otel_resource.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,SAAS,EAMf,MAAM,0BAA0B,CAAC;AAKlC,wBAAgB,eAAe,IAAI,SAAS,CAe3C"}
|
package/dest/otel_resource.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Resource, detectResourcesSync, envDetectorSync, osDetectorSync,
|
|
1
|
+
import { Resource, detectResourcesSync, envDetectorSync, osDetectorSync, serviceInstanceIdDetectorSync } from '@opentelemetry/resources';
|
|
2
2
|
import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
|
|
3
3
|
import { AZTEC_NODE_ROLE, AZTEC_REGISTRY_ADDRESS, AZTEC_ROLLUP_ADDRESS, AZTEC_ROLLUP_VERSION } from './attributes.js';
|
|
4
4
|
export function getOtelResource() {
|
|
@@ -7,7 +7,10 @@ export function getOtelResource() {
|
|
|
7
7
|
aztecNetworkDetectorSync,
|
|
8
8
|
osDetectorSync,
|
|
9
9
|
envDetectorSync,
|
|
10
|
-
|
|
10
|
+
// this detector is disabled because:
|
|
11
|
+
// 1. our software runs in a docker container, a lot of the attributes detected would be identical across different machines (e.g. all run node v22, executing the same script, running PID 1, etc)
|
|
12
|
+
// 2. it catures process.argv which could contain sensitive values in plain text (e.g. validator private keys)
|
|
13
|
+
// processDetectorSync,
|
|
11
14
|
serviceInstanceIdDetectorSync
|
|
12
15
|
]
|
|
13
16
|
});
|
package/dest/telemetry.d.ts
CHANGED
|
@@ -93,6 +93,10 @@ export interface TelemetryClient {
|
|
|
93
93
|
* Updates what telemetry is exported to the public collector
|
|
94
94
|
*/
|
|
95
95
|
setExportedPublicTelemetry(prefixes: string[]): void;
|
|
96
|
+
/**
|
|
97
|
+
* Updates the roles that would share telemetry (if enabled)
|
|
98
|
+
*/
|
|
99
|
+
setPublicTelemetryCollectFrom(roles: string[]): void;
|
|
96
100
|
}
|
|
97
101
|
/** Objects that adhere to this interface can use @trackSpan */
|
|
98
102
|
export interface Traceable {
|
package/dest/telemetry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
|
|
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;AAG5B,OAAO,KAAK,KAAK,UAAU,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAE,KAAK,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE1E,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEjE,KAAK,cAAc,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAC;AAElD;;;;;;GAMG;AACH,KAAK,0BAA0B,GAAG,CAAC,OAAO,UAAU,CAAC,CACjD,cAAc,GACd,eAAe,GACf,aAAa,GACb,cAAc,GACd,2BAA2B,GAC3B,iBAAiB,GACjB,YAAY,GACZ,YAAY,GACZ,cAAc,GACd,SAAS,GACT,gBAAgB,GAChB,QAAQ,GACR,mCAAmC,GACnC,gBAAgB,GAChB,WAAW,GACX,oBAAoB,CAAC,CAAC;AAE1B,oCAAoC;AACpC,MAAM,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;AAE7E,0DAA0D;AAC1D,MAAM,MAAM,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,0BAA0B,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC;AAExH,iCAAiC;AACjC,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAEjE,MAAM,MAAM,KAAK,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;AACpD,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAC5D,MAAM,MAAM,aAAa,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;AACpE,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,CAAC;AACxE,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,oBAAoB,CAAC,CAAC;AACxF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;AAC1E,MAAM,MAAM,qBAAqB,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,CAAC;AAEpF,YAAY,EAAE,MAAM,EAAE,CAAC;AAGvB;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC;IAE/D;;;;OAIG;IACH,qBAAqB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,eAAe,CAAC;IAEnF,0BAA0B,CACxB,QAAQ,EAAE,uBAAuB,CAAC,cAAc,CAAC,EACjD,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,GACxC,IAAI,CAAC;IAER,6BAA6B,CAC3B,QAAQ,EAAE,uBAAuB,CAAC,cAAc,CAAC,EACjD,WAAW,EAAE,UAAU,CAAC,cAAc,CAAC,EAAE,GACxC,IAAI,CAAC;IAER;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IAEvE;;;;OAIG;IACH,mBAAmB,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC;IAE/E;;;;OAIG;IACH,6BAA6B,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,uBAAuB,CAAC;CACpG;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;QAEI;IACJ,SAAS,IAAI,OAAO,CAAC;IACrB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAC;IAE9B;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAEhC;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAErD;;OAEG;IACH,6BAA6B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACtD;AAED,+DAA+D;AAC/D,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,aAAa,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CAC3E,cAAc,EAAE,CAAC,EACjB,OAAO,EAAE,2BAA2B,CAAC,CAAC,CAAC,KACpC,CAAC,CAAC;AAEP;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,SAAS,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAC9E,QAAQ,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,EAChE,UAAU,CAAC,EAAE,cAAc,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,GAAG,cAAc,CAAC,EAC7G,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,cAAc,GACjF,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAiCrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAClE,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,cAAc,EAC1B,QAAQ,EAAE,CAAC,GACV,CAAC,CAkBH;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,EAC1C,MAAM,EAAE,MAAM,GAAG,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,GACtC,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAoCnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/telemetry-client",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"inherits": [
|
|
5
5
|
"../package.common.json"
|
|
6
6
|
],
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
"!*.test.*"
|
|
26
26
|
],
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@aztec/foundation": "1.
|
|
29
|
-
"@aztec/stdlib": "1.
|
|
28
|
+
"@aztec/foundation": "1.1.0",
|
|
29
|
+
"@aztec/stdlib": "1.1.0",
|
|
30
30
|
"@opentelemetry/api": "^1.9.0",
|
|
31
31
|
"@opentelemetry/api-logs": "^0.55.0",
|
|
32
32
|
"@opentelemetry/core": "^1.28.0",
|
package/src/bench.ts
CHANGED
|
@@ -37,6 +37,7 @@ export class BenchmarkTelemetryClient implements TelemetryClient {
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
setExportedPublicTelemetry(_prefixes: string[]): void {}
|
|
40
|
+
setPublicTelemetryCollectFrom(_roles: string[]): void {}
|
|
40
41
|
|
|
41
42
|
getMeter(name: string): Meter {
|
|
42
43
|
const meter = new InMemoryPlainMeter(name);
|
package/src/config.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { type ConfigMappingsType, getConfigFromMappings } from '@aztec/foundation/config';
|
|
1
|
+
import { type ConfigMappingsType, booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
|
|
2
2
|
|
|
3
3
|
export interface TelemetryClientConfig {
|
|
4
4
|
metricsCollectorUrl?: URL;
|
|
5
5
|
publicMetricsCollectorUrl?: URL;
|
|
6
6
|
publicIncludeMetrics: string[];
|
|
7
|
+
publicMetricsOptOut: boolean;
|
|
8
|
+
publicMetricsCollectFrom: string[];
|
|
7
9
|
tracesCollectorUrl?: URL;
|
|
8
10
|
logsCollectorUrl?: URL;
|
|
9
11
|
otelCollectIntervalMs: number;
|
|
@@ -17,11 +19,6 @@ export const telemetryClientConfigMappings: ConfigMappingsType<TelemetryClientCo
|
|
|
17
19
|
description: 'The URL of the telemetry collector for metrics',
|
|
18
20
|
parseEnv: (val: string) => val && new URL(val),
|
|
19
21
|
},
|
|
20
|
-
publicMetricsCollectorUrl: {
|
|
21
|
-
env: 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT',
|
|
22
|
-
description: 'A URL to publish a subset of metrics for public consumption',
|
|
23
|
-
parseEnv: (val: string) => val && new URL(val),
|
|
24
|
-
},
|
|
25
22
|
tracesCollectorUrl: {
|
|
26
23
|
env: 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT',
|
|
27
24
|
description: 'The URL of the telemetry collector for traces',
|
|
@@ -56,6 +53,24 @@ export const telemetryClientConfigMappings: ConfigMappingsType<TelemetryClientCo
|
|
|
56
53
|
: [],
|
|
57
54
|
defaultValue: [],
|
|
58
55
|
},
|
|
56
|
+
|
|
57
|
+
publicMetricsCollectorUrl: {
|
|
58
|
+
env: 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT',
|
|
59
|
+
description: 'A URL to publish a subset of metrics for public consumption',
|
|
60
|
+
parseEnv: (val: string) => val && new URL(val),
|
|
61
|
+
},
|
|
62
|
+
publicMetricsCollectFrom: {
|
|
63
|
+
env: 'PUBLIC_OTEL_COLLECT_FROM',
|
|
64
|
+
description: 'The role types to collect metrics from',
|
|
65
|
+
parseEnv: (val: string) =>
|
|
66
|
+
val
|
|
67
|
+
? val
|
|
68
|
+
.split(',')
|
|
69
|
+
.map(s => s.trim())
|
|
70
|
+
.filter(s => s.length > 0)
|
|
71
|
+
: [],
|
|
72
|
+
defaultValue: [],
|
|
73
|
+
},
|
|
59
74
|
publicIncludeMetrics: {
|
|
60
75
|
env: 'PUBLIC_OTEL_INCLUDE_METRICS',
|
|
61
76
|
description: 'A list of metric prefixes to publicly export',
|
|
@@ -68,6 +83,11 @@ export const telemetryClientConfigMappings: ConfigMappingsType<TelemetryClientCo
|
|
|
68
83
|
: [],
|
|
69
84
|
defaultValue: [],
|
|
70
85
|
},
|
|
86
|
+
publicMetricsOptOut: {
|
|
87
|
+
env: 'PUBLIC_OTEL_OPT_OUT',
|
|
88
|
+
description: 'Whether to opt out of sharing optional telemetry',
|
|
89
|
+
...booleanConfigHelper(false),
|
|
90
|
+
},
|
|
71
91
|
};
|
|
72
92
|
|
|
73
93
|
export function getConfigEnvVars(): TelemetryClientConfig {
|
package/src/metrics.ts
CHANGED
|
@@ -112,6 +112,19 @@ export const P2P_REQ_RESP_FAILED_INBOUND_REQUESTS = 'aztec.p2p.req_resp.failed_i
|
|
|
112
112
|
|
|
113
113
|
export const P2P_GOSSIP_MESSAGE_VALIDATION_DURATION = 'aztec.p2p.gossip.message_validation_duration';
|
|
114
114
|
export const P2P_GOSSIP_MESSAGE_PREVALIDATION_COUNT = 'aztec.p2p.gossip.message_validation_count';
|
|
115
|
+
export const P2P_GOSSIP_MESSAGE_LATENCY = 'aztec.p2p.gossip.message_latency';
|
|
116
|
+
|
|
117
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MIN = 'aztec.p2p.gossip.agg_message_latency_min';
|
|
118
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MAX = 'aztec.p2p.gossip.agg_message_latency_max';
|
|
119
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P50 = 'aztec.p2p.gossip.agg_message_latency_p50';
|
|
120
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P90 = 'aztec.p2p.gossip.agg_message_latency_p90';
|
|
121
|
+
export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_AVG = 'aztec.p2p.gossip.agg_message_latency_avg';
|
|
122
|
+
|
|
123
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MIN = 'aztec.p2p.gossip.agg_message_validation_duration_min';
|
|
124
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MAX = 'aztec.p2p.gossip.agg_message_validation_duration_max';
|
|
125
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P50 = 'aztec.p2p.gossip.agg_message_validation_duration_p50';
|
|
126
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P90 = 'aztec.p2p.gossip.agg_message_validation_duration_p90';
|
|
127
|
+
export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_AVG = 'aztec.p2p.gossip.agg_message_validation_duration_avg';
|
|
115
128
|
|
|
116
129
|
export const PUBLIC_PROCESSOR_TX_DURATION = 'aztec.public_processor.tx_duration';
|
|
117
130
|
export const PUBLIC_PROCESSOR_TX_COUNT = 'aztec.public_processor.tx_count';
|
|
@@ -207,3 +220,13 @@ export const TX_COLLECTOR_TXS_FROM_PROPOSALS_COUNT = 'aztec.tx_collector.txs_fro
|
|
|
207
220
|
export const TX_COLLECTOR_TXS_FROM_MEMPOOL_COUNT = 'aztec.tx_collector.txs_from_mempool_count';
|
|
208
221
|
export const TX_COLLECTOR_TXS_FROM_P2P_COUNT = 'aztec.tx_collector.txs_from_p2p_count';
|
|
209
222
|
export const TX_COLLECTOR_MISSING_TXS_COUNT = 'aztec.tx_collector.missing_txs_count';
|
|
223
|
+
|
|
224
|
+
export const IVC_VERIFIER_TIME = 'aztec.ivc_verifier.time';
|
|
225
|
+
export const IVC_VERIFIER_TOTAL_TIME = 'aztec.ivc_verifier.total_time';
|
|
226
|
+
export const IVC_VERIFIER_FAILURE_COUNT = 'aztec.ivc_verifier.failure_count';
|
|
227
|
+
|
|
228
|
+
export const IVC_VERIFIER_AGG_DURATION_MIN = 'aztec.ivc_verifier.agg_duration_min';
|
|
229
|
+
export const IVC_VERIFIER_AGG_DURATION_MAX = 'aztec.ivc_verifier.agg_duration_max';
|
|
230
|
+
export const IVC_VERIFIER_AGG_DURATION_P50 = 'aztec.ivc_verifier.agg_duration_p50';
|
|
231
|
+
export const IVC_VERIFIER_AGG_DURATION_P90 = 'aztec.ivc_verifier.agg_duration_p90';
|
|
232
|
+
export const IVC_VERIFIER_AGG_DURATION_AVG = 'aztec.ivc_verifier.agg_duration_avg';
|
package/src/noop.ts
CHANGED
|
@@ -4,6 +4,7 @@ import type { TelemetryClient } from './telemetry.js';
|
|
|
4
4
|
|
|
5
5
|
export class NoopTelemetryClient implements TelemetryClient {
|
|
6
6
|
setExportedPublicTelemetry(_prefixes: string[]): void {}
|
|
7
|
+
setPublicTelemetryCollectFrom(_roles: string[]): void {}
|
|
7
8
|
|
|
8
9
|
getMeter(): Meter {
|
|
9
10
|
return createNoopMeter();
|
package/src/otel.ts
CHANGED
|
@@ -29,7 +29,7 @@ import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic
|
|
|
29
29
|
|
|
30
30
|
import type { TelemetryClientConfig } from './config.js';
|
|
31
31
|
import { NodejsMetricsMonitor } from './nodejs_metrics_monitor.js';
|
|
32
|
-
import { OtelFilterMetricExporter } from './otel_filter_metric_exporter.js';
|
|
32
|
+
import { OtelFilterMetricExporter, PublicOtelFilterMetricExporter } from './otel_filter_metric_exporter.js';
|
|
33
33
|
import { registerOtelLoggerProvider } from './otel_logger_provider.js';
|
|
34
34
|
import { getOtelResource } from './otel_resource.js';
|
|
35
35
|
import type { TelemetryClient } from './telemetry.js';
|
|
@@ -47,7 +47,7 @@ export class OpenTelemetryClient implements TelemetryClient {
|
|
|
47
47
|
private meterProvider: MeterProvider,
|
|
48
48
|
private traceProvider: TracerProvider,
|
|
49
49
|
private loggerProvider: LoggerProvider | undefined,
|
|
50
|
-
private publicMetricExporter:
|
|
50
|
+
private publicMetricExporter: PublicOtelFilterMetricExporter | undefined,
|
|
51
51
|
private log: Logger,
|
|
52
52
|
) {}
|
|
53
53
|
|
|
@@ -55,6 +55,10 @@ export class OpenTelemetryClient implements TelemetryClient {
|
|
|
55
55
|
this.publicMetricExporter?.setMetricPrefixes(metrics);
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
setPublicTelemetryCollectFrom(roles: string[]): void {
|
|
59
|
+
this.publicMetricExporter?.setAllowedRoles(roles);
|
|
60
|
+
}
|
|
61
|
+
|
|
58
62
|
getMeter(name: string): Meter {
|
|
59
63
|
let meter = this.meters.get(name);
|
|
60
64
|
if (!meter) {
|
|
@@ -290,16 +294,16 @@ export class OpenTelemetryClient implements TelemetryClient {
|
|
|
290
294
|
});
|
|
291
295
|
}
|
|
292
296
|
|
|
293
|
-
let publicExporter:
|
|
294
|
-
if (config.publicMetricsCollectorUrl && config.
|
|
297
|
+
let publicExporter: PublicOtelFilterMetricExporter | undefined;
|
|
298
|
+
if (config.publicMetricsCollectorUrl && !config.publicMetricsOptOut) {
|
|
295
299
|
log.info(`Exporting public metrics: ${config.publicIncludeMetrics}`, {
|
|
296
300
|
publicMetrics: config.publicIncludeMetrics,
|
|
297
301
|
collectorUrl: config.publicMetricsCollectorUrl,
|
|
298
302
|
});
|
|
299
|
-
publicExporter = new
|
|
303
|
+
publicExporter = new PublicOtelFilterMetricExporter(
|
|
304
|
+
config.publicMetricsCollectFrom,
|
|
300
305
|
new OTLPMetricExporter({ url: config.publicMetricsCollectorUrl.href }),
|
|
301
306
|
config.publicIncludeMetrics,
|
|
302
|
-
'allow',
|
|
303
307
|
);
|
|
304
308
|
exporters.push({
|
|
305
309
|
exporter: publicExporter,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ExportResult, ExportResultCode } from '@opentelemetry/core';
|
|
2
2
|
import type { MetricData, PushMetricExporter, ResourceMetrics } from '@opentelemetry/sdk-metrics';
|
|
3
3
|
|
|
4
|
+
import { AZTEC_NODE_ROLE } from './attributes.js';
|
|
5
|
+
|
|
4
6
|
export class OtelFilterMetricExporter implements PushMetricExporter {
|
|
5
7
|
constructor(
|
|
6
8
|
private readonly exporter: PushMetricExporter,
|
|
@@ -52,3 +54,27 @@ export class OtelFilterMetricExporter implements PushMetricExporter {
|
|
|
52
54
|
this.metricPrefix = metrics;
|
|
53
55
|
}
|
|
54
56
|
}
|
|
57
|
+
|
|
58
|
+
export class PublicOtelFilterMetricExporter extends OtelFilterMetricExporter {
|
|
59
|
+
constructor(
|
|
60
|
+
private allowedRoles: string[],
|
|
61
|
+
exporter: PushMetricExporter,
|
|
62
|
+
metricPrefix: string[],
|
|
63
|
+
) {
|
|
64
|
+
super(exporter, metricPrefix, 'allow');
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
public override export(metrics: ResourceMetrics, resultCallback: (result: ExportResult) => void): void {
|
|
68
|
+
const role = String(metrics.resource.attributes[AZTEC_NODE_ROLE] ?? '');
|
|
69
|
+
if (!role || !this.allowedRoles.includes(role)) {
|
|
70
|
+
// noop
|
|
71
|
+
return resultCallback({ code: ExportResultCode.SUCCESS });
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
super.export(metrics, resultCallback);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
public setAllowedRoles(roles: string[]) {
|
|
78
|
+
this.allowedRoles = roles;
|
|
79
|
+
}
|
|
80
|
+
}
|
package/src/otel_resource.ts
CHANGED
|
@@ -5,7 +5,6 @@ import {
|
|
|
5
5
|
detectResourcesSync,
|
|
6
6
|
envDetectorSync,
|
|
7
7
|
osDetectorSync,
|
|
8
|
-
processDetectorSync,
|
|
9
8
|
serviceInstanceIdDetectorSync,
|
|
10
9
|
} from '@opentelemetry/resources';
|
|
11
10
|
import { SEMRESATTRS_SERVICE_NAME } from '@opentelemetry/semantic-conventions';
|
|
@@ -18,7 +17,10 @@ export function getOtelResource(): IResource {
|
|
|
18
17
|
aztecNetworkDetectorSync,
|
|
19
18
|
osDetectorSync,
|
|
20
19
|
envDetectorSync,
|
|
21
|
-
|
|
20
|
+
// this detector is disabled because:
|
|
21
|
+
// 1. our software runs in a docker container, a lot of the attributes detected would be identical across different machines (e.g. all run node v22, executing the same script, running PID 1, etc)
|
|
22
|
+
// 2. it catures process.argv which could contain sensitive values in plain text (e.g. validator private keys)
|
|
23
|
+
// processDetectorSync,
|
|
22
24
|
serviceInstanceIdDetectorSync,
|
|
23
25
|
],
|
|
24
26
|
});
|
package/src/telemetry.ts
CHANGED
|
@@ -155,6 +155,11 @@ export interface TelemetryClient {
|
|
|
155
155
|
* Updates what telemetry is exported to the public collector
|
|
156
156
|
*/
|
|
157
157
|
setExportedPublicTelemetry(prefixes: string[]): void;
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
* Updates the roles that would share telemetry (if enabled)
|
|
161
|
+
*/
|
|
162
|
+
setPublicTelemetryCollectFrom(roles: string[]): void;
|
|
158
163
|
}
|
|
159
164
|
|
|
160
165
|
/** Objects that adhere to this interface can use @trackSpan */
|