@aztec/telemetry-client 0.76.4 → 0.77.0-testnet-ignition.21

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.
Files changed (86) hide show
  1. package/dest/attributes.d.ts +3 -1
  2. package/dest/attributes.d.ts.map +1 -1
  3. package/dest/attributes.js +31 -61
  4. package/dest/bench.d.ts +5 -5
  5. package/dest/bench.d.ts.map +1 -1
  6. package/dest/bench.js +28 -15
  7. package/dest/config.d.ts +0 -6
  8. package/dest/config.d.ts.map +1 -1
  9. package/dest/config.js +11 -44
  10. package/dest/event_loop_monitor.js +29 -19
  11. package/dest/index.d.ts +2 -1
  12. package/dest/index.d.ts.map +1 -1
  13. package/dest/index.js +2 -2
  14. package/dest/lmdb_metrics.d.ts +1 -1
  15. package/dest/lmdb_metrics.d.ts.map +1 -1
  16. package/dest/lmdb_metrics.js +21 -12
  17. package/dest/metrics.d.ts +10 -5
  18. package/dest/metrics.d.ts.map +1 -1
  19. package/dest/metrics.js +12 -10
  20. package/dest/noop.d.ts +1 -1
  21. package/dest/noop.d.ts.map +1 -1
  22. package/dest/noop.js +3 -6
  23. package/dest/otel.d.ts +4 -6
  24. package/dest/otel.d.ts.map +1 -1
  25. package/dest/otel.js +191 -90
  26. package/dest/otel_filter_metric_exporter.d.ts +2 -2
  27. package/dest/otel_filter_metric_exporter.d.ts.map +1 -1
  28. package/dest/otel_filter_metric_exporter.js +8 -6
  29. package/dest/otel_logger_provider.d.ts +1 -1
  30. package/dest/otel_logger_provider.d.ts.map +1 -1
  31. package/dest/otel_logger_provider.js +6 -7
  32. package/dest/otel_propagation.js +18 -12
  33. package/dest/otel_resource.d.ts.map +1 -1
  34. package/dest/otel_resource.js +3 -8
  35. package/dest/prom_otel_adapter.d.ts +2 -2
  36. package/dest/prom_otel_adapter.d.ts.map +1 -1
  37. package/dest/prom_otel_adapter.js +50 -53
  38. package/dest/start.d.ts +2 -2
  39. package/dest/start.d.ts.map +1 -1
  40. package/dest/start.js +3 -5
  41. package/dest/telemetry.d.ts +25 -25
  42. package/dest/telemetry.d.ts.map +1 -1
  43. package/dest/telemetry.js +25 -39
  44. package/dest/vendor/attributes.js +0 -1
  45. package/dest/vendor/otel-pino-stream.js +33 -49
  46. package/dest/with_tracer.d.ts +1 -1
  47. package/dest/with_tracer.d.ts.map +1 -1
  48. package/dest/with_tracer.js +3 -4
  49. package/dest/wrappers/fetch.d.ts +1 -1
  50. package/dest/wrappers/fetch.d.ts.map +1 -1
  51. package/dest/wrappers/fetch.js +15 -14
  52. package/dest/wrappers/index.js +0 -1
  53. package/dest/wrappers/json_rpc_server.d.ts +1 -1
  54. package/dest/wrappers/json_rpc_server.d.ts.map +1 -1
  55. package/dest/wrappers/json_rpc_server.js +4 -2
  56. package/dest/wrappers/l2_block_stream.d.ts +1 -1
  57. package/dest/wrappers/l2_block_stream.d.ts.map +1 -1
  58. package/dest/wrappers/l2_block_stream.js +24 -32
  59. package/package.json +5 -8
  60. package/src/attributes.ts +3 -1
  61. package/src/bench.ts +26 -32
  62. package/src/config.ts +1 -34
  63. package/src/event_loop_monitor.ts +3 -3
  64. package/src/index.ts +2 -1
  65. package/src/lmdb_metrics.ts +6 -6
  66. package/src/metrics.ts +10 -5
  67. package/src/noop.ts +1 -1
  68. package/src/otel.ts +53 -66
  69. package/src/otel_filter_metric_exporter.ts +2 -2
  70. package/src/otel_logger_provider.ts +1 -1
  71. package/src/otel_resource.ts +1 -11
  72. package/src/prom_otel_adapter.ts +8 -8
  73. package/src/start.ts +4 -4
  74. package/src/telemetry.ts +28 -28
  75. package/src/with_tracer.ts +1 -1
  76. package/src/wrappers/fetch.ts +1 -1
  77. package/src/wrappers/json_rpc_server.ts +1 -1
  78. package/src/wrappers/l2_block_stream.ts +2 -2
  79. package/dest/aztec_resource_detector.d.ts +0 -10
  80. package/dest/aztec_resource_detector.d.ts.map +0 -1
  81. package/dest/aztec_resource_detector.js +0 -20
  82. package/dest/histogram_utils.d.ts +0 -36
  83. package/dest/histogram_utils.d.ts.map +0 -1
  84. package/dest/histogram_utils.js +0 -50
  85. package/src/aztec_resource_detector.ts +0 -28
  86. package/src/histogram_utils.ts +0 -50
package/dest/otel.js CHANGED
@@ -1,20 +1,26 @@
1
1
  import { addLogDataHandler } from '@aztec/foundation/log';
2
- import { MetricExporter as GoogleCloudMetricExporter } from '@google-cloud/opentelemetry-cloud-monitoring-exporter';
3
- import { TraceExporter as GoogleCloudTraceExporter } from '@google-cloud/opentelemetry-cloud-trace-exporter';
4
- import { DiagConsoleLogger, DiagLogLevel, context, diag, isSpanContextValid, trace, } from '@opentelemetry/api';
2
+ import { DiagConsoleLogger, DiagLogLevel, context, diag, isSpanContextValid, trace } from '@opentelemetry/api';
5
3
  import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
6
4
  import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
7
5
  import { HostMetrics } from '@opentelemetry/host-metrics';
8
- import { ExplicitBucketHistogramAggregation, InstrumentType, MeterProvider, PeriodicExportingMetricReader, View, } from '@opentelemetry/sdk-metrics';
6
+ import { ExplicitBucketHistogramAggregation, InstrumentType, MeterProvider, PeriodicExportingMetricReader, View } from '@opentelemetry/sdk-metrics';
9
7
  import { BatchSpanProcessor, NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
10
8
  import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';
11
9
  import { EventLoopMonitor } from './event_loop_monitor.js';
12
- import { linearBuckets } from './histogram_utils.js';
13
10
  import { OtelFilterMetricExporter } from './otel_filter_metric_exporter.js';
14
11
  import { registerOtelLoggerProvider } from './otel_logger_provider.js';
15
12
  import { getOtelResource } from './otel_resource.js';
16
13
  export class OpenTelemetryClient {
17
- constructor(resource, meterProvider, traceProvider, loggerProvider, log) {
14
+ resource;
15
+ meterProvider;
16
+ traceProvider;
17
+ loggerProvider;
18
+ log;
19
+ hostMetrics;
20
+ eventLoopMonitor;
21
+ meters;
22
+ tracers;
23
+ constructor(resource, meterProvider, traceProvider, loggerProvider, log){
18
24
  this.resource = resource;
19
25
  this.meterProvider = meterProvider;
20
26
  this.traceProvider = traceProvider;
@@ -44,29 +50,20 @@ export class OpenTelemetryClient {
44
50
  diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.INFO);
45
51
  // Add a callback to the logger to set context data from current trace
46
52
  // Adapted from open-telemetry/opentelemetry-js-contrib PinoInstrumentation._getMixinFunction
47
- addLogDataHandler((data) => {
53
+ addLogDataHandler((data)=>{
48
54
  const spanContext = trace.getSpan(context.active())?.spanContext();
49
- return spanContext && isSpanContextValid(spanContext)
50
- ? {
51
- ...data,
52
- ['trace_id']: spanContext.traceId,
53
- ['span_id']: spanContext.spanId,
54
- ['trace_flags']: `0${spanContext.traceFlags.toString(16)}`,
55
- }
56
- : data;
55
+ return spanContext && isSpanContextValid(spanContext) ? {
56
+ ...data,
57
+ ['trace_id']: spanContext.traceId,
58
+ ['span_id']: spanContext.spanId,
59
+ ['trace_flags']: `0${spanContext.traceFlags.toString(16)}`
60
+ } : data;
57
61
  });
58
62
  this.hostMetrics = new HostMetrics({
59
63
  name: this.resource.attributes[ATTR_SERVICE_NAME],
60
- meterProvider: this.meterProvider,
64
+ meterProvider: this.meterProvider
61
65
  });
62
66
  this.eventLoopMonitor = new EventLoopMonitor(this.meterProvider.getMeter(this.resource.attributes[ATTR_SERVICE_NAME]));
63
- // See these two links for more information on providing target information:
64
- // https://opentelemetry.io/docs/specs/otel/compatibility/prometheus_and_openmetrics/#resource-attributes
65
- // https://github.com/OpenObservability/OpenMetrics/blob/main/specification/OpenMetrics.md#supporting-target-metadata-in-both-push-based-and-pull-based-systems
66
- this.targetInfo = this.meterProvider.getMeter('target').createGauge('target_info', {
67
- description: 'Target metadata',
68
- });
69
- this.targetInfo.record(1, this.resource.attributes);
70
67
  this.hostMetrics.start();
71
68
  this.eventLoopMonitor.start();
72
69
  }
@@ -77,12 +74,12 @@ export class OpenTelemetryClient {
77
74
  await Promise.all([
78
75
  this.meterProvider.forceFlush(),
79
76
  this.loggerProvider?.forceFlush(),
80
- this.traceProvider instanceof NodeTracerProvider ? this.traceProvider.forceFlush() : Promise.resolve(),
77
+ this.traceProvider instanceof NodeTracerProvider ? this.traceProvider.forceFlush() : Promise.resolve()
81
78
  ]);
82
79
  }
83
80
  async stop() {
84
81
  this.eventLoopMonitor?.stop();
85
- const flushAndShutdown = async (provider) => {
82
+ const flushAndShutdown = async (provider)=>{
86
83
  if (!provider) {
87
84
  return;
88
85
  }
@@ -92,112 +89,219 @@ export class OpenTelemetryClient {
92
89
  await Promise.all([
93
90
  flushAndShutdown(this.meterProvider),
94
91
  flushAndShutdown(this.loggerProvider),
95
- this.traceProvider instanceof NodeTracerProvider ? flushAndShutdown(this.traceProvider) : Promise.resolve(),
92
+ this.traceProvider instanceof NodeTracerProvider ? flushAndShutdown(this.traceProvider) : Promise.resolve()
96
93
  ]);
97
94
  }
98
95
  static createMeterProvider(resource, options) {
99
96
  return new MeterProvider({
100
97
  resource,
101
- readers: options.exporter
102
- ? [new PeriodicExportingMetricReader(options)]
103
- : [],
98
+ readers: options.exporter ? [
99
+ new PeriodicExportingMetricReader(options)
100
+ ] : [],
104
101
  views: [
105
102
  // Every histogram matching the selector (type + unit) gets these custom buckets assigned
103
+ new View({
104
+ instrumentType: InstrumentType.HISTOGRAM,
105
+ instrumentUnit: 's',
106
+ aggregation: new ExplicitBucketHistogramAggregation([
107
+ 1,
108
+ 2,
109
+ 4,
110
+ 6,
111
+ 10,
112
+ 15,
113
+ 30,
114
+ 60,
115
+ 90,
116
+ 120,
117
+ 180,
118
+ 240,
119
+ 300,
120
+ 480,
121
+ 600
122
+ ], true)
123
+ }),
106
124
  new View({
107
125
  instrumentType: InstrumentType.HISTOGRAM,
108
126
  instrumentUnit: 'ms',
109
- aggregation: new ExplicitBucketHistogramAggregation(
110
- // 181 buckets between 5ms and 1hr
127
+ aggregation: new ExplicitBucketHistogramAggregation(// 10ms to 1 minute
111
128
  [
112
- ...linearBuckets(5, 100, 20), // 20 buckets between 5 and 100ms
113
- ...linearBuckets(100, 1000, 20).slice(1), // another 20 buckets between 100ms and 1s. slice(1) to remove duplicate 100
114
- ...linearBuckets(1000, 10000, 20).slice(1),
115
- ...linearBuckets(10000, 60000, 20).slice(1),
116
- ...linearBuckets(60000, 300000, 20).slice(1),
117
- ...linearBuckets(300000, 600000, 20).slice(1),
118
- ...linearBuckets(600000, 1200000, 20).slice(1),
119
- ...linearBuckets(1200000, 1800000, 20).slice(1),
120
- ...linearBuckets(1800000, 3600000, 20).slice(1), // 1hr
121
- ], true),
129
+ 10,
130
+ 20,
131
+ 35,
132
+ 50,
133
+ 75,
134
+ 100,
135
+ 250,
136
+ 500,
137
+ 750,
138
+ 1_000,
139
+ 2_500,
140
+ 5_000,
141
+ 7_500,
142
+ 10_000,
143
+ 15_000,
144
+ 30_000,
145
+ 60_000
146
+ ], true)
122
147
  }),
123
148
  new View({
124
149
  instrumentType: InstrumentType.HISTOGRAM,
125
150
  instrumentUnit: 'us',
126
- aggregation: new ExplicitBucketHistogramAggregation([
127
- ...linearBuckets(5, 100, 20), // 20 buckets between 5 and 100us
128
- ...linearBuckets(100, 1000, 20).slice(1), // another 20 buckets between 100us and 1ms. slice(1) to remove duplicate 100
129
- ...linearBuckets(1000, 10000, 90).slice(1), // 90 buckets between 1ms and 10ms
130
- ...linearBuckets(10000, 100000, 20).slice(1), // 20 buckets between 10ms and 100ms
131
- ...linearBuckets(100000, 1000000, 20).slice(1), // 20 buckets between 100ms and 1s
132
- ...linearBuckets(1000000, 60000000, 20).slice(1), // 20 buckets between 1s and 1m
133
- ], true),
151
+ aggregation: new ExplicitBucketHistogramAggregation(// 1us to 1s
152
+ [
153
+ 5,
154
+ 10,
155
+ 25,
156
+ 50,
157
+ 75,
158
+ 100,
159
+ 250,
160
+ 500,
161
+ 750,
162
+ 1_000,
163
+ 2_500,
164
+ 5_000,
165
+ 7_500,
166
+ 10_000,
167
+ 25_000,
168
+ 50_000,
169
+ 100_000,
170
+ 250_000,
171
+ 500_000,
172
+ 1_000_000
173
+ ], true)
134
174
  }),
135
175
  new View({
136
176
  instrumentType: InstrumentType.HISTOGRAM,
137
177
  instrumentUnit: 'By',
138
- aggregation: new ExplicitBucketHistogramAggregation(
139
- // 143 buckets between 32 bytes and 2MB
178
+ aggregation: new ExplicitBucketHistogramAggregation(// from 32 bytes to 2MB
140
179
  [
141
- ...linearBuckets(2 ** 5, 2 ** 10, 31), // 32 bytes to 1KB at a resolution of 32 bytes
142
- ...linearBuckets(2 ** 10, 2 ** 15, 31).slice(1), // 1KB to 32KB at a resolution of 1KB
143
- ...linearBuckets(2 ** 15, 2 ** 18, 32).slice(1), // 32KB to 256KB at a resolution of 7KB
144
- ...linearBuckets(2 ** 18, 2 ** 20, 32).slice(1), // 256KB to 1MB at a resolution of 24KB
145
- ...linearBuckets(2 ** 20, 2 ** 21, 16).slice(1), // 1MB to 2MB at a resolution of 64KB
146
- ], true),
180
+ 32,
181
+ 64,
182
+ 128,
183
+ 256,
184
+ 512,
185
+ 1024,
186
+ 2048,
187
+ 4096,
188
+ 8192,
189
+ 16384,
190
+ 32768,
191
+ 65536,
192
+ 131072,
193
+ 262144,
194
+ 524288,
195
+ 1048576,
196
+ 1572864,
197
+ 2097152
198
+ ], true)
147
199
  }),
148
200
  new View({
149
201
  instrumentType: InstrumentType.HISTOGRAM,
150
202
  instrumentUnit: 'gas/s',
151
- aggregation: new ExplicitBucketHistogramAggregation([...linearBuckets(100000, 10000000, 100), ...linearBuckets(10000000, 100000000, 100).slice(1)], true),
203
+ aggregation: new ExplicitBucketHistogramAggregation([
204
+ 1_000,
205
+ 5_000,
206
+ 10_000,
207
+ 25_000,
208
+ 50_000,
209
+ 100_000,
210
+ 250_000,
211
+ 500_000,
212
+ 750_000,
213
+ 1_000_000,
214
+ 2_000_000,
215
+ 4_000_000,
216
+ 8_000_000,
217
+ 10_000_000,
218
+ 15_000_000,
219
+ 30_000_000
220
+ ], true)
152
221
  }),
153
222
  new View({
154
223
  instrumentType: InstrumentType.HISTOGRAM,
155
224
  instrumentUnit: 'mana/s',
156
- aggregation: new ExplicitBucketHistogramAggregation([...linearBuckets(100000, 10000000, 100), ...linearBuckets(10000000, 100000000, 100).slice(1)], true),
225
+ aggregation: new ExplicitBucketHistogramAggregation([
226
+ 1_000,
227
+ 5_000,
228
+ 10_000,
229
+ 25_000,
230
+ 50_000,
231
+ 100_000,
232
+ 250_000,
233
+ 500_000,
234
+ 750_000,
235
+ 1_000_000,
236
+ 2_000_000,
237
+ 4_000_000,
238
+ 8_000_000,
239
+ 10_000_000,
240
+ 15_000_000,
241
+ 30_000_000
242
+ ], true)
157
243
  }),
158
244
  new View({
159
245
  instrumentType: InstrumentType.HISTOGRAM,
160
246
  instrumentUnit: 'gas/block',
161
- aggregation: new ExplicitBucketHistogramAggregation([...linearBuckets(100000, 10000000, 100), ...linearBuckets(10000000, 50000000, 50).slice(1)], true),
247
+ aggregation: new ExplicitBucketHistogramAggregation([
248
+ 1_000,
249
+ 5_000,
250
+ 10_000,
251
+ 25_000,
252
+ 50_000,
253
+ 100_000,
254
+ 250_000,
255
+ 500_000,
256
+ 750_000,
257
+ 1_000_000,
258
+ 2_000_000,
259
+ 4_000_000,
260
+ 8_000_000,
261
+ 10_000_000,
262
+ 15_000_000,
263
+ 30_000_000
264
+ ], true)
162
265
  }),
163
266
  new View({
164
267
  instrumentType: InstrumentType.HISTOGRAM,
165
268
  instrumentUnit: 'gas/tx',
166
- aggregation: new ExplicitBucketHistogramAggregation([...linearBuckets(50000, 1000000, 20), ...linearBuckets(1000000, 10000000, 100).slice(1)], true),
167
- }),
168
- ],
269
+ aggregation: new ExplicitBucketHistogramAggregation([
270
+ 25_000,
271
+ 50_000,
272
+ 100_000,
273
+ 250_000,
274
+ 500_000,
275
+ 750_000,
276
+ 1_000_000,
277
+ 2_000_000,
278
+ 4_000_000,
279
+ 8_000_000,
280
+ 10_000_000,
281
+ 15_000_000,
282
+ 30_000_000
283
+ ], true)
284
+ })
285
+ ]
169
286
  });
170
287
  }
171
- static getGcloudClientFactory(config) {
172
- return (resource, log) => {
173
- const tracerProvider = new NodeTracerProvider({
174
- resource,
175
- spanProcessors: [new BatchSpanProcessor(new GoogleCloudTraceExporter({ resourceFilter: /.*/ }))],
176
- });
177
- tracerProvider.register();
178
- const meterProvider = OpenTelemetryClient.createMeterProvider(resource, {
179
- exporter: new OtelFilterMetricExporter(new GoogleCloudMetricExporter(), config.otelExcludeMetrics ?? []),
180
- exportTimeoutMillis: config.otelExportTimeoutMs,
181
- exportIntervalMillis: config.otelCollectIntervalMs,
182
- });
183
- return new OpenTelemetryClient(resource, meterProvider, tracerProvider, undefined, log);
184
- };
185
- }
186
288
  static getCustomClientFactory(config) {
187
- return (resource, log) => {
289
+ return (resource, log)=>{
188
290
  const tracerProvider = new NodeTracerProvider({
189
291
  resource,
190
- spanProcessors: config.tracesCollectorUrl
191
- ? [new BatchSpanProcessor(new OTLPTraceExporter({ url: config.tracesCollectorUrl.href }))]
192
- : [],
292
+ spanProcessors: config.tracesCollectorUrl ? [
293
+ new BatchSpanProcessor(new OTLPTraceExporter({
294
+ url: config.tracesCollectorUrl.href
295
+ }))
296
+ ] : []
193
297
  });
194
298
  tracerProvider.register();
195
299
  const meterProvider = OpenTelemetryClient.createMeterProvider(resource, {
196
- exporter: config.metricsCollectorUrl
197
- ? new OtelFilterMetricExporter(new OTLPMetricExporter({ url: config.metricsCollectorUrl.href }), config.otelExcludeMetrics ?? [])
198
- : undefined,
300
+ exporter: config.metricsCollectorUrl ? new OtelFilterMetricExporter(new OTLPMetricExporter({
301
+ url: config.metricsCollectorUrl.href
302
+ }), config.otelExcludeMetrics ?? []) : undefined,
199
303
  exportTimeoutMillis: config.otelExportTimeoutMs,
200
- exportIntervalMillis: config.otelCollectIntervalMs,
304
+ exportIntervalMillis: config.otelCollectIntervalMs
201
305
  });
202
306
  const loggerProvider = registerOtelLoggerProvider(resource, config.logsCollectorUrl);
203
307
  return new OpenTelemetryClient(resource, meterProvider, tracerProvider, loggerProvider, log);
@@ -205,12 +309,9 @@ export class OpenTelemetryClient {
205
309
  }
206
310
  static createAndStart(config, log) {
207
311
  const resource = getOtelResource();
208
- const factory = config.useGcloudMetrics
209
- ? OpenTelemetryClient.getGcloudClientFactory(config)
210
- : OpenTelemetryClient.getCustomClientFactory(config);
312
+ const factory = OpenTelemetryClient.getCustomClientFactory(config);
211
313
  const service = factory(resource, log);
212
314
  service.start();
213
315
  return service;
214
316
  }
215
317
  }
216
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vdGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNkIsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRixPQUFPLEVBQUUsY0FBYyxJQUFJLHlCQUF5QixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDcEgsT0FBTyxFQUFFLGFBQWEsSUFBSSx3QkFBd0IsRUFBRSxNQUFNLGtEQUFrRCxDQUFDO0FBQzdHLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsWUFBWSxFQUlaLE9BQU8sRUFDUCxJQUFJLEVBQ0osa0JBQWtCLEVBQ2xCLEtBQUssR0FDTixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUcxRCxPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLGNBQWMsRUFDZCxhQUFhLEVBQ2IsNkJBQTZCLEVBRTdCLElBQUksR0FDTCxNQUFNLDRCQUE0QixDQUFDO0FBQ3BDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRzlGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JB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
@@ -1,5 +1,5 @@
1
- import { type ExportResult } from '@opentelemetry/core';
2
- import { type PushMetricExporter, type ResourceMetrics } from '@opentelemetry/sdk-metrics';
1
+ import type { ExportResult } from '@opentelemetry/core';
2
+ import type { PushMetricExporter, ResourceMetrics } from '@opentelemetry/sdk-metrics';
3
3
  export declare class OtelFilterMetricExporter implements PushMetricExporter {
4
4
  private readonly exporter;
5
5
  private readonly excludeMetricPrefixes;
@@ -1 +1 @@
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,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAmB,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE5G,qBAAa,wBAAyB,YAAW,kBAAkB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAsB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAApE,QAAQ,EAAE,kBAAkB,EAAmB,qBAAqB,EAAE,MAAM,EAAE;IASpG,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAW7F,OAAO,CAAC,aAAa;IAMd,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
1
+ {"version":3,"file":"otel_filter_metric_exporter.d.ts","sourceRoot":"","sources":["../src/otel_filter_metric_exporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAc,kBAAkB,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElG,qBAAa,wBAAyB,YAAW,kBAAkB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAAsB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAApE,QAAQ,EAAE,kBAAkB,EAAmB,qBAAqB,EAAE,MAAM,EAAE;IASpG,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GAAG,IAAI;IAW7F,OAAO,CAAC,aAAa;IAMd,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
@@ -1,5 +1,7 @@
1
1
  export class OtelFilterMetricExporter {
2
- constructor(exporter, excludeMetricPrefixes) {
2
+ exporter;
3
+ excludeMetricPrefixes;
4
+ constructor(exporter, excludeMetricPrefixes){
3
5
  this.exporter = exporter;
4
6
  this.excludeMetricPrefixes = excludeMetricPrefixes;
5
7
  if (exporter.selectAggregation) {
@@ -12,14 +14,15 @@ export class OtelFilterMetricExporter {
12
14
  export(metrics, resultCallback) {
13
15
  const filteredMetrics = {
14
16
  resource: metrics.resource,
15
- scopeMetrics: metrics.scopeMetrics
16
- .map(({ scope, metrics }) => ({ scope, metrics: this.filterMetrics(metrics) }))
17
- .filter(({ metrics }) => metrics.length > 0),
17
+ scopeMetrics: metrics.scopeMetrics.map(({ scope, metrics })=>({
18
+ scope,
19
+ metrics: this.filterMetrics(metrics)
20
+ })).filter(({ metrics })=>metrics.length > 0)
18
21
  };
19
22
  this.exporter.export(filteredMetrics, resultCallback);
20
23
  }
21
24
  filterMetrics(metrics) {
22
- return metrics.filter(metric => !this.excludeMetricPrefixes.some(prefix => metric.descriptor.name.startsWith(prefix)));
25
+ return metrics.filter((metric)=>!this.excludeMetricPrefixes.some((prefix)=>metric.descriptor.name.startsWith(prefix)));
23
26
  }
24
27
  forceFlush() {
25
28
  return this.exporter.forceFlush();
@@ -28,4 +31,3 @@ export class OtelFilterMetricExporter {
28
31
  return this.exporter.shutdown();
29
32
  }
30
33
  }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbF9maWx0ZXJfbWV0cmljX2V4cG9ydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL290ZWxfZmlsdGVyX21ldHJpY19leHBvcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sd0JBQXdCO0lBQ25DLFlBQTZCLFFBQTRCLEVBQW1CLHFCQUErQjtRQUE5RSxhQUFRLEdBQVIsUUFBUSxDQUFvQjtRQUFtQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQVU7UUFDekcsSUFBSSxRQUFRLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUM5QixJQUEyQixDQUFDLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0YsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLDRCQUE0QixFQUFFLENBQUM7WUFDekMsSUFBMkIsQ0FBQyw0QkFBNEIsR0FBRyxRQUFRLENBQUMsNEJBQTRCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ILENBQUM7SUFDSCxDQUFDO0lBRU0sTUFBTSxDQUFDLE9BQXdCLEVBQUUsY0FBOEM7UUFDcEYsTUFBTSxlQUFlLEdBQW9CO1lBQ3ZDLFFBQVEsRUFBRSxPQUFPLENBQUMsUUFBUTtZQUMxQixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVk7aUJBQy9CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztpQkFDOUUsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7U0FDL0MsQ0FBQztRQUVGLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU8sYUFBYSxDQUFDLE9BQXFCO1FBQ3pDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FDbkIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDaEcsQ0FBQztJQUNKLENBQUM7SUFFTSxVQUFVO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7Q0FDRiJ9
@@ -1,4 +1,4 @@
1
- import { type IResource } from '@opentelemetry/resources';
1
+ import type { IResource } from '@opentelemetry/resources';
2
2
  import { LoggerProvider } from '@opentelemetry/sdk-logs';
3
3
  export declare function registerOtelLoggerProvider(resource: IResource, otelLogsUrl?: URL): LoggerProvider;
4
4
  //# sourceMappingURL=otel_logger_provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"otel_logger_provider.d.ts","sourceRoot":"","sources":["../src/otel_logger_provider.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAA2B,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAElF,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,GAAG,kBAwBhF"}
1
+ {"version":3,"file":"otel_logger_provider.d.ts","sourceRoot":"","sources":["../src/otel_logger_provider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAA2B,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAElF,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,GAAG,kBAwBhF"}
@@ -3,24 +3,23 @@ import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-http';
3
3
  import { CompressionAlgorithm } from '@opentelemetry/otlp-exporter-base';
4
4
  import { BatchLogRecordProcessor, LoggerProvider } from '@opentelemetry/sdk-logs';
5
5
  export function registerOtelLoggerProvider(resource, otelLogsUrl) {
6
- const loggerProvider = new LoggerProvider({ resource });
6
+ const loggerProvider = new LoggerProvider({
7
+ resource
8
+ });
7
9
  if (!otelLogsUrl) {
8
10
  // If no URL provided, return it disconnected.
9
11
  return loggerProvider;
10
12
  }
11
13
  const logExporter = new OTLPLogExporter({
12
14
  compression: CompressionAlgorithm.GZIP,
13
- url: otelLogsUrl.href,
15
+ url: otelLogsUrl.href
14
16
  });
15
17
  // Add a processor to the logger provider
16
18
  loggerProvider.addLogRecordProcessor(new BatchLogRecordProcessor(logExporter, {
17
19
  /** The maximum batch size of every export. It must be smaller or equal to
18
- * maxQueueSize. */
19
- maxExportBatchSize: 1024,
20
- /** The maximum queue size. After the size is reached log records are dropped. */
21
- maxQueueSize: 4096,
20
+ * maxQueueSize. */ maxExportBatchSize: 1024,
21
+ /** The maximum queue size. After the size is reached log records are dropped. */ maxQueueSize: 4096
22
22
  }));
23
23
  otelLogs.setGlobalLoggerProvider(loggerProvider);
24
24
  return loggerProvider;
25
25
  }
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbF9sb2dnZXJfcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvb3RlbF9sb2dnZXJfcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksSUFBSSxRQUFRLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDekUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxGLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxRQUFtQixFQUFFLFdBQWlCO0lBQy9FLE1BQU0sY0FBYyxHQUFHLElBQUksY0FBYyxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN4RCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsOENBQThDO1FBQzlDLE9BQU8sY0FBYyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBQztRQUN0QyxXQUFXLEVBQUUsb0JBQW9CLENBQUMsSUFBSTtRQUN0QyxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUk7S0FDdEIsQ0FBQyxDQUFDO0lBQ0gseUNBQXlDO0lBQ3pDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FDbEMsSUFBSSx1QkFBdUIsQ0FBQyxXQUFXLEVBQUU7UUFDdkM7MkJBQ21CO1FBQ25CLGtCQUFrQixFQUFFLElBQUk7UUFDeEIsaUZBQWlGO1FBQ2pGLFlBQVksRUFBRSxJQUFJO0tBQ25CLENBQUMsQ0FDSCxDQUFDO0lBRUYsUUFBUSxDQUFDLHVCQUF1QixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBRWpELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUMifQ==
@@ -1,12 +1,14 @@
1
1
  import { ROOT_CONTEXT, SpanKind, SpanStatusCode, propagation } from '@opentelemetry/api';
2
2
  import { getTelemetryClient } from './start.js';
3
- import { ATTR_JSONRPC_ERROR_CODE, ATTR_JSONRPC_ERROR_MSG, ATTR_JSONRPC_METHOD, ATTR_JSONRPC_REQUEST_ID, } from './vendor/attributes.js';
3
+ import { ATTR_JSONRPC_ERROR_CODE, ATTR_JSONRPC_ERROR_MSG, ATTR_JSONRPC_METHOD, ATTR_JSONRPC_REQUEST_ID } from './vendor/attributes.js';
4
4
  export function getOtelJsonRpcPropagationMiddleware(scope = 'JsonRpcServer') {
5
5
  return function otelJsonRpcPropagation(ctx, next) {
6
6
  const tracer = getTelemetryClient().getTracer(scope);
7
7
  const context = propagation.extract(ROOT_CONTEXT, ctx.request.headers);
8
8
  const method = ctx.request.body?.method;
9
- return tracer.startActiveSpan(`JsonRpcServer.${method ?? 'unknown'}`, { kind: SpanKind.SERVER }, context, async (span) => {
9
+ return tracer.startActiveSpan(`JsonRpcServer.${method ?? 'unknown'}`, {
10
+ kind: SpanKind.SERVER
11
+ }, context, async (span)=>{
10
12
  if (ctx.id) {
11
13
  span.setAttribute(ATTR_JSONRPC_REQUEST_ID, ctx.id);
12
14
  }
@@ -18,21 +20,25 @@ export function getOtelJsonRpcPropagationMiddleware(scope = 'JsonRpcServer') {
18
20
  const err = ctx.body.error?.message;
19
21
  const code = ctx.body.error?.code;
20
22
  if (err) {
21
- span.setStatus({ code: SpanStatusCode.ERROR, message: err });
23
+ span.setStatus({
24
+ code: SpanStatusCode.ERROR,
25
+ message: err
26
+ });
22
27
  span.setAttribute(ATTR_JSONRPC_ERROR_CODE, code);
23
28
  span.setAttribute(ATTR_JSONRPC_ERROR_MSG, err);
29
+ } else {
30
+ span.setStatus({
31
+ code: SpanStatusCode.OK
32
+ });
24
33
  }
25
- else {
26
- span.setStatus({ code: SpanStatusCode.OK });
27
- }
28
- }
29
- catch (err) {
30
- span.setStatus({ code: SpanStatusCode.ERROR, message: String(err) });
31
- }
32
- finally {
34
+ } catch (err) {
35
+ span.setStatus({
36
+ code: SpanStatusCode.ERROR,
37
+ message: String(err)
38
+ });
39
+ } finally{
33
40
  span.end();
34
41
  }
35
42
  });
36
43
  };
37
44
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbF9wcm9wYWdhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vdGVsX3Byb3BhZ2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWEsUUFBUSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUdwRyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDaEQsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixzQkFBc0IsRUFDdEIsbUJBQW1CLEVBQ25CLHVCQUF1QixHQUN4QixNQUFNLHdCQUF3QixDQUFDO0FBRWhDLE1BQU0sVUFBVSxtQ0FBbUMsQ0FDakQsS0FBSyxHQUFHLGVBQWU7SUFFdkIsT0FBTyxTQUFTLHNCQUFzQixDQUFDLEdBQWdCLEVBQUUsSUFBeUI7UUFDaEYsTUFBTSxNQUFNLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN2RSxNQUFNLE1BQU0sR0FBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQVksRUFBRSxNQUFNLENBQUM7UUFDakQsT0FBTyxNQUFNLENBQUMsZUFBZSxDQUMzQixpQkFBaUIsTUFBTSxJQUFJLFNBQVMsRUFBRSxFQUN0QyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQ3pCLE9BQU8sRUFDUCxLQUFLLEVBQUUsSUFBVSxFQUFpQixFQUFFO1lBQ2xDLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JELENBQUM7WUFDRCxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDakQsQ0FBQztZQUVELElBQUksQ0FBQztnQkFDSCxNQUFNLElBQUksRUFBRSxDQUFDO2dCQUNiLE1BQU0sR0FBRyxHQUFJLEdBQUcsQ0FBQyxJQUFZLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztnQkFDN0MsTUFBTSxJQUFJLEdBQUksR0FBRyxDQUFDLElBQVksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDO2dCQUMzQyxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNSLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztvQkFDN0QsSUFBSSxDQUFDLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxJQUFJLENBQUMsQ0FBQztvQkFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDakQsQ0FBQztxQkFBTSxDQUFDO29CQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzlDLENBQUM7WUFDSCxDQUFDO1lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztnQkFDYixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdkUsQ0FBQztvQkFBUyxDQUFDO2dCQUNULElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNiLENBQUM7UUFDSCxDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"otel_resource.d.ts","sourceRoot":"","sources":["../src/otel_resource.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,0BAA0B,CAAC;AAIlC,wBAAgB,eAAe,IAAI,SAAS,CAa3C"}
1
+ {"version":3,"file":"otel_resource.d.ts","sourceRoot":"","sources":["../src/otel_resource.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,SAAS,EAMf,MAAM,0BAA0B,CAAC;AAElC,wBAAgB,eAAe,IAAI,SAAS,CAM3C"}
@@ -1,17 +1,12 @@
1
- import { GcpDetectorSync } from '@google-cloud/opentelemetry-resource-util';
2
- import { detectResourcesSync, envDetectorSync, osDetectorSync, processDetectorSync, serviceInstanceIdDetectorSync, } from '@opentelemetry/resources';
3
- import { aztecDetector } from './aztec_resource_detector.js';
1
+ import { detectResourcesSync, envDetectorSync, osDetectorSync, processDetectorSync, serviceInstanceIdDetectorSync } from '@opentelemetry/resources';
4
2
  export function getOtelResource() {
5
3
  const resource = detectResourcesSync({
6
4
  detectors: [
7
5
  osDetectorSync,
8
6
  envDetectorSync,
9
7
  processDetectorSync,
10
- serviceInstanceIdDetectorSync,
11
- aztecDetector,
12
- new GcpDetectorSync(),
13
- ],
8
+ serviceInstanceIdDetectorSync
9
+ ]
14
10
  });
15
11
  return resource;
16
12
  }
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbF9yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vdGVsX3Jlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUM1RSxPQUFPLEVBRUwsbUJBQW1CLEVBQ25CLGVBQWUsRUFDZixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLDZCQUE2QixHQUM5QixNQUFNLDBCQUEwQixDQUFDO0FBRWxDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUU3RCxNQUFNLFVBQVUsZUFBZTtJQUM3QixNQUFNLFFBQVEsR0FBRyxtQkFBbUIsQ0FBQztRQUNuQyxTQUFTLEVBQUU7WUFDVCxjQUFjO1lBQ2QsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQiw2QkFBNkI7WUFDN0IsYUFBYTtZQUNiLElBQUksZUFBZSxFQUFFO1NBQ3RCO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyJ9
@@ -1,6 +1,6 @@
1
1
  import { type Logger } from '@aztec/foundation/log';
2
2
  import { Registry } from 'prom-client';
3
- import { type Meter, type TelemetryClient } from './telemetry.js';
3
+ import type { Meter, TelemetryClient } from './telemetry.js';
4
4
  /**
5
5
  * Types matching the gossipsub and libp2p services
6
6
  */
@@ -48,7 +48,7 @@ export interface MetricsRegister {
48
48
  histogram<Labels extends LabelsGeneric = NoLabels>(config: HistogramConfig<Labels>): IHistogram<Labels>;
49
49
  avgMinMax<Labels extends LabelsGeneric = NoLabels>(config: AvgMinMaxConfig<Labels>): IAvgMinMax<Labels>;
50
50
  }
51
- /**Otel Metrics Adapters
51
+ /**Otel MetricsType Adapters
52
52
  *
53
53
  * Some dependencies we use export metrics directly in a Prometheus format
54
54
  * This adapter is used to convert those metrics to a format that we can use with OpenTelemetry
@@ -1 +1 @@
1
- {"version":3,"file":"prom_otel_adapter.d.ts","sourceRoot":"","sources":["../src/prom_otel_adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prom_otel_adapter.d.ts","sourceRoot":"","sources":["../src/prom_otel_adapter.ts"],"names":[],"mappings":"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"}