@aztec/telemetry-client 0.0.1-commit.2448fdb → 0.0.1-commit.2606882

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/metrics.js CHANGED
@@ -267,6 +267,12 @@ export const ARCHIVER_SYNC_PER_BLOCK = {
267
267
  unit: 'ms',
268
268
  valueType: ValueType.INT
269
269
  };
270
+ export const ARCHIVER_SYNC_PER_CHECKPOINT = {
271
+ name: 'aztec.archiver.checkpoint.sync_per_item_duration',
272
+ description: 'Duration to sync a checkpoint',
273
+ unit: 'ms',
274
+ valueType: ValueType.INT
275
+ };
270
276
  export const ARCHIVER_SYNC_BLOCK_COUNT = {
271
277
  name: 'aztec.archiver.block.sync_count',
272
278
  description: 'Number of blocks synced from L1',
@@ -304,6 +310,17 @@ export const ARCHIVER_BLOCK_PROPOSAL_TX_TARGET_COUNT = {
304
310
  description: 'Number of block proposals by tx target',
305
311
  valueType: ValueType.INT
306
312
  };
313
+ export const ARCHIVER_CHECKPOINT_L1_INCLUSION_DELAY = {
314
+ name: 'aztec.archiver.checkpoint_l1_inclusion_delay',
315
+ description: 'Seconds into the L2 slot when the checkpoint L1 tx was included',
316
+ unit: 's',
317
+ valueType: ValueType.INT
318
+ };
319
+ export const ARCHIVER_CHECKPOINT_PROMOTED_COUNT = {
320
+ name: 'aztec.archiver.checkpoint_promoted_count',
321
+ description: 'Number of checkpoints promoted from proposed (blob fetch skipped)',
322
+ valueType: ValueType.INT
323
+ };
307
324
  export const NODE_RECEIVE_TX_DURATION = {
308
325
  name: 'aztec.node.receive_tx.duration',
309
326
  description: 'The duration of the receiveTx method',
@@ -332,6 +349,12 @@ export const SEQUENCER_STATE_TRANSITION_BUFFER_DURATION = {
332
349
  unit: 'ms',
333
350
  valueType: ValueType.INT
334
351
  };
352
+ export const SEQUENCER_STATE_DURATION = {
353
+ name: 'aztec.sequencer.state_duration',
354
+ description: 'Wall-clock time spent in each sequencer state, labelled by the state being left',
355
+ unit: 'ms',
356
+ valueType: ValueType.INT
357
+ };
335
358
  export const SEQUENCER_BLOCK_BUILD_DURATION = {
336
359
  name: 'aztec.sequencer.block.build_duration',
337
360
  description: 'Duration to build a block',
@@ -349,6 +372,12 @@ export const SEQUENCER_BLOCK_COUNT = {
349
372
  description: 'Number of blocks built by this sequencer',
350
373
  valueType: ValueType.INT
351
374
  };
375
+ export const SEQUENCER_BLOCK_INTER_BLOCK_TIME = {
376
+ name: 'aztec.sequencer.block.inter_block_time',
377
+ description: 'Wall-clock time elapsed between consecutive blocks being built by this sequencer',
378
+ unit: 'ms',
379
+ valueType: ValueType.INT
380
+ };
352
381
  export const SEQUENCER_CURRENT_SLOT_REWARDS = {
353
382
  name: 'aztec.sequencer.current_slot_rewards',
354
383
  description: 'The rewards earned per filled slot',
@@ -418,6 +447,24 @@ export const SEQUENCER_CHECKPOINT_BUILD_DURATION = {
418
447
  unit: 'ms',
419
448
  valueType: ValueType.INT
420
449
  };
450
+ export const SEQUENCER_CHECKPOINT_START_TO_FIRST_BLOCK_DURATION = {
451
+ name: 'aztec.sequencer.checkpoint.start_to_first_block_duration',
452
+ description: 'Time from starting checkpoint work to the first block finishing build',
453
+ unit: 'ms',
454
+ valueType: ValueType.INT
455
+ };
456
+ export const SEQUENCER_CHECKPOINT_LAST_BLOCK_TO_BROADCAST_DURATION = {
457
+ name: 'aztec.sequencer.checkpoint.last_block_to_broadcast_duration',
458
+ description: 'Time from the final block finishing build to the checkpoint proposal being broadcast',
459
+ unit: 'ms',
460
+ valueType: ValueType.INT
461
+ };
462
+ export const SEQUENCER_PIPELINED_CHECKPOINT_BUILD_START_OFFSET_FROM_SLOT_BOUNDARY = {
463
+ name: 'aztec.sequencer.pipelined_checkpoint.build_start_offset_from_slot_boundary',
464
+ description: 'Absolute offset from the wall-clock slot boundary when a pipelined checkpoint build starts. Use aztec.slot_boundary_side to distinguish before vs after the boundary.',
465
+ unit: 'ms',
466
+ valueType: ValueType.INT
467
+ };
421
468
  export const SEQUENCER_CHECKPOINT_BLOCK_COUNT = {
422
469
  name: 'aztec.sequencer.checkpoint.block_count',
423
470
  description: 'Number of blocks built in a checkpoint',
@@ -445,6 +492,21 @@ export const SEQUENCER_CHECKPOINT_SUCCESS_COUNT = {
445
492
  description: 'The number of times checkpoint publishing succeeded',
446
493
  valueType: ValueType.INT
447
494
  };
495
+ export const SEQUENCER_PIPELINE_DEPTH = {
496
+ name: 'aztec.sequencer.pipeline.depth',
497
+ description: 'Current pipeline depth when builder pipelining is enabled',
498
+ valueType: ValueType.INT
499
+ };
500
+ export const SEQUENCER_PIPELINE_DISCARDS_COUNT = {
501
+ name: 'aztec.sequencer.pipeline.discards_count',
502
+ description: 'The number of times a pipeline was discarded',
503
+ valueType: ValueType.INT
504
+ };
505
+ export const SEQUENCER_PIPELINE_PARENT_CHECKPOINT_MISMATCH_COUNT = {
506
+ name: 'aztec.sequencer.pipeline.parent_checkpoint_mismatch_count',
507
+ description: 'The number of times a pipelined checkpoint was discarded because the parent did not match expectations',
508
+ valueType: ValueType.INT
509
+ };
448
510
  // Fisherman fee analysis metrics
449
511
  export const FISHERMAN_FEE_ANALYSIS_WOULD_BE_INCLUDED = {
450
512
  name: 'aztec.fisherman.fee_analysis.would_be_included',
@@ -609,6 +671,24 @@ export const L1_PUBLISHER_TX_TOTAL_FEE = {
609
671
  unit: 'eth',
610
672
  valueType: ValueType.DOUBLE
611
673
  };
674
+ export const PROVER_NODE_ESTIMATED_SUBMISSION_GAS = {
675
+ name: 'aztec.prover_node.estimated_submission.gas',
676
+ description: 'Estimated gas for a proof submission tx (proof publishing disabled, not actually sent)',
677
+ unit: 'gas',
678
+ valueType: ValueType.INT
679
+ };
680
+ export const PROVER_NODE_ESTIMATED_SUBMISSION_GAS_PRICE = {
681
+ name: 'aztec.prover_node.estimated_submission.gas_price',
682
+ description: 'Estimated effective gas price for a proof submission tx (proof publishing disabled, not actually sent)',
683
+ unit: 'gwei',
684
+ valueType: ValueType.DOUBLE
685
+ };
686
+ export const PROVER_NODE_ESTIMATED_SUBMISSION_TOTAL_FEE = {
687
+ name: 'aztec.prover_node.estimated_submission.total_fee',
688
+ description: 'Estimated total L1 fee for a proof submission tx (proof publishing disabled, not actually sent)',
689
+ unit: 'eth',
690
+ valueType: ValueType.DOUBLE
691
+ };
612
692
  export const L1_BLOCK_HEIGHT = {
613
693
  name: 'aztec.l1.block_height',
614
694
  description: 'The current L1 block height',
@@ -699,6 +779,12 @@ export const PEER_MANAGER_PEER_COUNT = {
699
779
  unit: 'peers',
700
780
  valueType: ValueType.INT
701
781
  };
782
+ export const PEER_MANAGER_HEALTHY_PEER_COUNT = {
783
+ name: 'aztec.peer_manager.healthy_peer_count',
784
+ description: 'Number of healthy (non-protected, non-banned) peers',
785
+ unit: 'peers',
786
+ valueType: ValueType.INT
787
+ };
702
788
  export const PEER_MANAGER_LOW_SCORE_DISCONNECTS = {
703
789
  name: 'aztec.peer_manager.low_score_disconnects',
704
790
  description: 'Number of peers disconnected due to low score',
@@ -823,6 +909,11 @@ export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_AVG = {
823
909
  unit: 'ms',
824
910
  valueType: ValueType.INT
825
911
  };
912
+ export const P2P_GOSSIP_SLOW_VALIDATION_COUNT = {
913
+ name: 'aztec.p2p.gossip.slow_validation_count',
914
+ description: 'Number of gossip validations that exceeded 75% of the mcache eviction window',
915
+ valueType: ValueType.INT
916
+ };
826
917
  export const PUBLIC_PROCESSOR_TX_DURATION = {
827
918
  name: 'aztec.public_processor.tx_duration',
828
919
  description: 'Duration to process a public transaction',
@@ -886,6 +977,17 @@ export const PUBLIC_PROCESSOR_TREE_INSERTION = {
886
977
  unit: 'ms',
887
978
  valueType: ValueType.INT
888
979
  };
980
+ export const PUBLIC_PROCESSOR_SILENTLY_SKIPPED_COUNT = {
981
+ name: 'aztec.public_processor.silently_skipped_count',
982
+ description: 'Public txs fully processed then skipped (e.g. blob-field limit); not counted as processed or failed',
983
+ valueType: ValueType.INT
984
+ };
985
+ export const PUBLIC_PROCESSOR_SILENTLY_SKIPPED_DURATION = {
986
+ name: 'aztec.public_processor.silently_skipped_duration',
987
+ description: 'Wall-clock time spent processing txs that were then silently skipped',
988
+ unit: 'ms',
989
+ valueType: ValueType.INT
990
+ };
889
991
  export const PUBLIC_EXECUTOR_PREFIX = 'aztec.public_executor.';
890
992
  export const PUBLIC_EXECUTOR_SIMULATION_COUNT = {
891
993
  name: 'aztec.public_executor.simulation_count',
@@ -1192,6 +1294,18 @@ export const VALIDATOR_RE_EXECUTION_TX_COUNT = {
1192
1294
  unit: 'tx',
1193
1295
  valueType: ValueType.INT
1194
1296
  };
1297
+ export const VALIDATOR_CHECKPOINT_PROPOSAL_TO_PIPELINED_STATE_DURATION = {
1298
+ name: 'aztec.validator.checkpoint_proposal_to_pipelined_state_duration',
1299
+ description: 'Time from receiving a checkpoint proposal to setting proposed checkpoint state for pipelining',
1300
+ unit: 'ms',
1301
+ valueType: ValueType.INT
1302
+ };
1303
+ export const VALIDATOR_CHECKPOINT_PROPOSAL_RECEIVE_OFFSET_FROM_NEXT_SLOT_BOUNDARY = {
1304
+ name: 'aztec.validator.checkpoint.proposal_receive_offset_from_next_slot_boundary',
1305
+ description: 'Absolute offset from the next slot boundary when a foreign checkpoint proposal is received. Use aztec.slot_boundary_side to distinguish before vs after the boundary.',
1306
+ unit: 'ms',
1307
+ valueType: ValueType.INT
1308
+ };
1195
1309
  export const VALIDATOR_FAILED_REEXECUTION_COUNT = {
1196
1310
  name: 'aztec.validator.failed_reexecution_count',
1197
1311
  description: 'The number of failed re-executions',
@@ -1438,3 +1552,50 @@ export const IVC_VERIFIER_AGG_DURATION_AVG = {
1438
1552
  unit: 'ms',
1439
1553
  valueType: ValueType.DOUBLE
1440
1554
  };
1555
+ // HA Signer metrics
1556
+ export const HA_SIGNER_SIGNING_DURATION = {
1557
+ name: 'aztec.ha_signer.signing_duration',
1558
+ description: 'End-to-end duration for signing with HA protection (lock + sign + record)',
1559
+ unit: 'ms',
1560
+ valueType: ValueType.INT
1561
+ };
1562
+ export const HA_SIGNER_SIGNING_SUCCESS_COUNT = {
1563
+ name: 'aztec.ha_signer.signing_success_count',
1564
+ description: 'Count of successful signing operations',
1565
+ valueType: ValueType.INT
1566
+ };
1567
+ export const HA_SIGNER_DUTY_ALREADY_SIGNED_COUNT = {
1568
+ name: 'aztec.ha_signer.duty_already_signed_count',
1569
+ description: 'Count of DutyAlreadySignedError (expected in HA; another node signed first)',
1570
+ valueType: ValueType.INT
1571
+ };
1572
+ export const HA_SIGNER_SLASHING_PROTECTION_COUNT = {
1573
+ name: 'aztec.ha_signer.slashing_protection_count',
1574
+ description: 'Count of SlashingProtectionError (attempted to sign different data)',
1575
+ valueType: ValueType.INT
1576
+ };
1577
+ export const HA_SIGNER_SIGNING_ERROR_COUNT = {
1578
+ name: 'aztec.ha_signer.signing_error_count',
1579
+ description: 'Count of signing function failures (lock deleted for retry)',
1580
+ valueType: ValueType.INT
1581
+ };
1582
+ export const HA_SIGNER_LOCK_ACQUIRED_COUNT = {
1583
+ name: 'aztec.ha_signer.lock_acquired_count',
1584
+ description: 'Count of lock acquisitions (new lock acquired vs existing record found)',
1585
+ valueType: ValueType.INT
1586
+ };
1587
+ export const HA_SIGNER_CLEANUP_STUCK_DUTIES_COUNT = {
1588
+ name: 'aztec.ha_signer.cleanup_stuck_duties_count',
1589
+ description: 'Number of stuck duties cleaned up per cleanup run',
1590
+ valueType: ValueType.INT
1591
+ };
1592
+ export const HA_SIGNER_CLEANUP_OLD_DUTIES_COUNT = {
1593
+ name: 'aztec.ha_signer.cleanup_old_duties_count',
1594
+ description: 'Number of old duties cleaned up',
1595
+ valueType: ValueType.INT
1596
+ };
1597
+ export const HA_SIGNER_CLEANUP_OUTDATED_ROLLUP_DUTIES_COUNT = {
1598
+ name: 'aztec.ha_signer.cleanup_outdated_rollup_duties_count',
1599
+ description: 'Number of duties cleaned due to rollup upgrade',
1600
+ valueType: ValueType.INT
1601
+ };
@@ -0,0 +1,29 @@
1
+ import type { Logger } from '@aztec/foundation/log';
2
+ import { type Context } from '@opentelemetry/api';
3
+ import type { SpanExporter } from '@opentelemetry/sdk-trace-base';
4
+ import { BatchSpanProcessor, type BufferConfig, type ReadableSpan, type Span } from '@opentelemetry/sdk-trace-node';
5
+ export type MonitoredBatchSpanProcessorConfig = BufferConfig & {
6
+ minTraceDurationMs?: number;
7
+ };
8
+ /**
9
+ * Wraps BatchSpanProcessor to emit warnings when spans are dropped due to a full queue.
10
+ * The standard BatchSpanProcessor silently discards spans when its internal queue reaches
11
+ * maxQueueSize, making telemetry data loss invisible to operators.
12
+ */
13
+ export declare class MonitoredBatchSpanProcessor extends BatchSpanProcessor {
14
+ private readonly maxQueueSize;
15
+ private readonly minTraceDurationMs;
16
+ private readonly log;
17
+ private approxQueueSize;
18
+ private droppedSinceLastWarning;
19
+ private totalDropped;
20
+ private lastWarningTime;
21
+ constructor(exporter: SpanExporter, log: Logger, config?: MonitoredBatchSpanProcessorConfig);
22
+ onStart(span: Span, parentContext: Context): void;
23
+ onEnd(span: ReadableSpan): void;
24
+ forceFlush(): Promise<void>;
25
+ shutdown(): Promise<void>;
26
+ private shouldDropShortSpan;
27
+ private maybeLogDropWarning;
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9uaXRvcmVkX2JhdGNoX3NwYW5fcHJvY2Vzc29yLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9uaXRvcmVkX2JhdGNoX3NwYW5fcHJvY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXBELE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBa0IsTUFBTSxvQkFBb0IsQ0FBQztBQUVsRSxPQUFPLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxZQUFZLEVBQUUsS0FBSyxZQUFZLEVBQUUsS0FBSyxJQUFJLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQU9wSCxNQUFNLE1BQU0saUNBQWlDLEdBQUcsWUFBWSxHQUFHO0lBQzdELGtCQUFrQixDQUFDLEVBQUUsTUFBTSxDQUFDO0NBQzdCLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gscUJBQWEsMkJBQTRCLFNBQVEsa0JBQWtCO0lBQ2pFLE9BQU8sQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFTO0lBQ3RDLE9BQU8sQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQVM7SUFDNUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVM7SUFFN0IsT0FBTyxDQUFDLGVBQWUsQ0FBSztJQUM1QixPQUFPLENBQUMsdUJBQXVCLENBQUs7SUFDcEMsT0FBTyxDQUFDLFlBQVksQ0FBSztJQUN6QixPQUFPLENBQUMsZUFBZSxDQUFLO0lBRTVCLFlBQVksUUFBUSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLGlDQUFpQyxFQU0xRjtJQUVRLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxPQUFPLEdBQUcsSUFBSSxDQUV6RDtJQUVRLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxHQUFHLElBQUksQ0FhdkM7SUFFYyxVQUFVLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUd6QztJQUVjLFFBQVEsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBT3ZDO0lBRUQsT0FBTyxDQUFDLG1CQUFtQjtJQVEzQixPQUFPLENBQUMsbUJBQW1CO0NBWTVCIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"monitored_batch_span_processor.d.ts","sourceRoot":"","sources":["../src/monitored_batch_span_processor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAE,KAAK,OAAO,EAAkB,MAAM,oBAAoB,CAAC;AAElE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,KAAK,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAOpH,MAAM,MAAM,iCAAiC,GAAG,YAAY,GAAG;IAC7D,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,qBAAa,2BAA4B,SAAQ,kBAAkB;IACjE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,uBAAuB,CAAK;IACpC,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,eAAe,CAAK;IAE5B,YAAY,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iCAAiC,EAM1F;IAEQ,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,GAAG,IAAI,CAEzD;IAEQ,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,CAavC;IAEc,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAGzC;IAEc,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAOvC;IAED,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,mBAAmB;CAY5B"}
@@ -0,0 +1,70 @@
1
+ import { SpanStatusCode } from '@opentelemetry/api';
2
+ import { hrTimeToMilliseconds } from '@opentelemetry/core';
3
+ import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-node';
4
+ /** Minimum interval between drop warnings to avoid log spam. */ const DROP_WARNING_INTERVAL_MS = 30_000;
5
+ const DEFAULT_MIN_TRACE_DURATION_MS = 10;
6
+ /**
7
+ * Wraps BatchSpanProcessor to emit warnings when spans are dropped due to a full queue.
8
+ * The standard BatchSpanProcessor silently discards spans when its internal queue reaches
9
+ * maxQueueSize, making telemetry data loss invisible to operators.
10
+ */ export class MonitoredBatchSpanProcessor extends BatchSpanProcessor {
11
+ maxQueueSize;
12
+ minTraceDurationMs;
13
+ log;
14
+ approxQueueSize = 0;
15
+ droppedSinceLastWarning = 0;
16
+ totalDropped = 0;
17
+ lastWarningTime = 0;
18
+ constructor(exporter, log, config){
19
+ const maxQueueSize = config?.maxQueueSize ?? 2048;
20
+ super(exporter, {
21
+ ...config,
22
+ maxQueueSize
23
+ });
24
+ this.maxQueueSize = maxQueueSize;
25
+ this.minTraceDurationMs = Math.max(0, config?.minTraceDurationMs ?? DEFAULT_MIN_TRACE_DURATION_MS);
26
+ this.log = log;
27
+ }
28
+ onStart(span, parentContext) {
29
+ super.onStart(span, parentContext);
30
+ }
31
+ onEnd(span) {
32
+ if (this.shouldDropShortSpan(span)) {
33
+ return;
34
+ }
35
+ if (this.approxQueueSize >= this.maxQueueSize) {
36
+ this.droppedSinceLastWarning++;
37
+ this.totalDropped++;
38
+ this.maybeLogDropWarning();
39
+ } else {
40
+ this.approxQueueSize++;
41
+ }
42
+ super.onEnd(span);
43
+ }
44
+ async forceFlush() {
45
+ await super.forceFlush();
46
+ this.approxQueueSize = 0;
47
+ }
48
+ async shutdown() {
49
+ if (this.totalDropped > 0) {
50
+ this.log.warn(`BatchSpanProcessor shutting down with ${this.totalDropped} total spans dropped`, {
51
+ totalDropped: this.totalDropped
52
+ });
53
+ }
54
+ await super.shutdown();
55
+ }
56
+ shouldDropShortSpan(span) {
57
+ return this.minTraceDurationMs > 0 && span.status.code !== SpanStatusCode.ERROR && hrTimeToMilliseconds(span.duration) < this.minTraceDurationMs;
58
+ }
59
+ maybeLogDropWarning() {
60
+ const now = Date.now();
61
+ if (now - this.lastWarningTime >= DROP_WARNING_INTERVAL_MS) {
62
+ this.log.warn(`BatchSpanProcessor dropping spans: queue full (maxQueueSize=${this.maxQueueSize}). ` + `${this.droppedSinceLastWarning} dropped since last warning, ${this.totalDropped} total.`, {
63
+ droppedSinceLastWarning: this.droppedSinceLastWarning,
64
+ totalDropped: this.totalDropped
65
+ });
66
+ this.droppedSinceLastWarning = 0;
67
+ this.lastWarningTime = now;
68
+ }
69
+ }
70
+ }
package/dest/otel.d.ts CHANGED
@@ -35,4 +35,4 @@ export declare class OpenTelemetryClient implements TelemetryClient {
35
35
  private static getCustomClientFactory;
36
36
  static createAndStart(config: TelemetryClientConfig, log: Logger): OpenTelemetryClient;
37
37
  }
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL290ZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixLQUFLLE1BQU0sRUFBcUIsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRixPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBS1osS0FBSyxNQUFNLEVBQ1gsS0FBSyxjQUFjLEVBTXBCLE1BQU0sb0JBQW9CLENBQUM7QUFJNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFHTCxhQUFhLEVBRWIsS0FBSyxvQ0FBb0MsRUFFMUMsTUFBTSw0QkFBNEIsQ0FBQztBQUlwQyxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUd6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQTRCLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHNUcsT0FBTyxLQUFLLEVBR1YsS0FBSyxFQUdMLGVBQWUsRUFFaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQXlDeEIsTUFBTSxNQUFNLDBCQUEwQixHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLG1CQUFtQixDQUFDO0FBRW5HLHFCQUFhLG1CQUFvQixZQUFXLGVBQWU7SUFPdkQsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsR0FBRztJQVhiLFdBQVcsRUFBRSxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLG9CQUFvQixFQUFFLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztJQUN2RCxPQUFPLENBQUMsTUFBTSxDQUE4RDtJQUM1RSxPQUFPLENBQUMsT0FBTyxDQUFrRDtJQUVqRSxTQUFTLGFBQ0MsUUFBUSxFQUFFLFNBQVMsRUFDbkIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsYUFBYSxFQUFFLGNBQWMsRUFDN0IsY0FBYyxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQzFDLG9CQUFvQixFQUFFLDhCQUE4QixHQUFHLFNBQVMsRUFDaEUsR0FBRyxFQUFFLE1BQU0sRUFDakI7SUFFSiwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUVsRDtJQUVELDZCQUE2QixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBRW5EO0lBRUQsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSyxDQVE1QjtJQUVELFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FPOUI7SUFFTSxLQUFLLFNBOEJYO0lBRU0sU0FBUyxZQUVmO0lBRVksS0FBSyxrQkFNakI7SUFFWSxJQUFJLGtCQWdCaEI7SUFFTSxlQUFlLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FJM0M7SUFFTSx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FLN0Q7SUFFRCxPQUFjLG1CQUFtQixDQUMvQixRQUFRLEVBQUUsU0FBUyxFQUNuQixTQUFTLEVBQUUsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLEdBQ3JELGFBQWEsQ0ErSGY7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLHNCQUFzQjtJQWlFckMsT0FBYyxjQUFjLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsRUFBRSxNQUFNLEdBQUcsbUJBQW1CLENBUTVGO0NBQ0YifQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL290ZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixLQUFLLE1BQU0sRUFBcUIsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRixPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBS1osS0FBSyxNQUFNLEVBQ1gsS0FBSyxjQUFjLEVBTXBCLE1BQU0sb0JBQW9CLENBQUM7QUFJNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFHTCxhQUFhLEVBRWIsS0FBSyxvQ0FBb0MsRUFFMUMsTUFBTSw0QkFBNEIsQ0FBQztBQUlwQyxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUl6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQTRCLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHNUcsT0FBTyxLQUFLLEVBR1YsS0FBSyxFQUdMLGVBQWUsRUFFaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQXlDeEIsTUFBTSxNQUFNLDBCQUEwQixHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLG1CQUFtQixDQUFDO0FBRW5HLHFCQUFhLG1CQUFvQixZQUFXLGVBQWU7SUFPdkQsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsR0FBRztJQVhiLFdBQVcsRUFBRSxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLG9CQUFvQixFQUFFLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztJQUN2RCxPQUFPLENBQUMsTUFBTSxDQUE4RDtJQUM1RSxPQUFPLENBQUMsT0FBTyxDQUFrRDtJQUVqRSxTQUFTLGFBQ0MsUUFBUSxFQUFFLFNBQVMsRUFDbkIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsYUFBYSxFQUFFLGNBQWMsRUFDN0IsY0FBYyxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQzFDLG9CQUFvQixFQUFFLDhCQUE4QixHQUFHLFNBQVMsRUFDaEUsR0FBRyxFQUFFLE1BQU0sRUFDakI7SUFFSiwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUVsRDtJQUVELDZCQUE2QixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBRW5EO0lBRUQsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSyxDQVE1QjtJQUVELFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FPOUI7SUFFTSxLQUFLLFNBOEJYO0lBRU0sU0FBUyxZQUVmO0lBRVksS0FBSyxrQkFNakI7SUFFWSxJQUFJLGtCQWdCaEI7SUFFTSxlQUFlLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FJM0M7SUFFTSx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FLN0Q7SUFFRCxPQUFjLG1CQUFtQixDQUMvQixRQUFRLEVBQUUsU0FBUyxFQUNuQixTQUFTLEVBQUUsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLEdBQ3JELGFBQWEsQ0E2SmY7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLHNCQUFzQjtJQXNFckMsT0FBYyxjQUFjLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsRUFBRSxNQUFNLEdBQUcsbUJBQW1CLENBUTVGO0NBQ0YifQ==
@@ -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,EACL,KAAK,OAAO,EAKZ,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;AAGzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAA4B,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAG5G,OAAO,KAAK,EAGV,KAAK,EAGL,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAyCxB,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,CAA8D;IAC5E,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,CAQ5B;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9B;IAEM,KAAK,SA8BX;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"}
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,EAKZ,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;AAIzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAA4B,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAG5G,OAAO,KAAK,EAGV,KAAK,EAGL,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAyCxB,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,CAA8D;IAC5E,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,CAQ5B;IAED,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO9B;IAEM,KAAK,SA8BX;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,CA6Jf;IAED,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAsErC,OAAc,cAAc,CAAC,MAAM,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAQ5F;CACF"}
package/dest/otel.js CHANGED
@@ -5,9 +5,10 @@ import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
5
5
  import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http';
6
6
  import { HostMetrics } from '@opentelemetry/host-metrics';
7
7
  import { ExplicitBucketHistogramAggregation, InstrumentType, MeterProvider, PeriodicExportingMetricReader, View } from '@opentelemetry/sdk-metrics';
8
- import { BatchSpanProcessor, NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
8
+ import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node';
9
9
  import { ATTR_SERVICE_NAME, ATTR_SERVICE_VERSION } from '@opentelemetry/semantic-conventions';
10
10
  import { toMetricOptions } from './metric-utils.js';
11
+ import { MonitoredBatchSpanProcessor } from './monitored_batch_span_processor.js';
11
12
  import { NodejsMetricsMonitor } from './nodejs_metrics_monitor.js';
12
13
  import { OtelFilterMetricExporter, PublicOtelFilterMetricExporter } from './otel_filter_metric_exporter.js';
13
14
  import { registerOtelLoggerProvider } from './otel_logger_provider.js';
@@ -369,6 +370,61 @@ export class OpenTelemetryClient {
369
370
  15_000_000,
370
371
  30_000_000
371
372
  ], true)
373
+ }),
374
+ // L1 gas prices in gwei: priority fees ~0.01-10, base fees ~1-500, spikes to 1000+
375
+ new View({
376
+ instrumentType: InstrumentType.HISTOGRAM,
377
+ instrumentUnit: 'gwei',
378
+ aggregation: new ExplicitBucketHistogramAggregation([
379
+ 0.1,
380
+ 0.5,
381
+ 1,
382
+ 2,
383
+ 5,
384
+ 10,
385
+ 20,
386
+ 50,
387
+ 100,
388
+ 200,
389
+ 500,
390
+ 1_000
391
+ ], true)
392
+ }),
393
+ // L1 gas consumption: tx gas 100k-30M, calldata/blob gas varies
394
+ new View({
395
+ instrumentType: InstrumentType.HISTOGRAM,
396
+ instrumentUnit: 'gas',
397
+ aggregation: new ExplicitBucketHistogramAggregation([
398
+ 10_000,
399
+ 50_000,
400
+ 100_000,
401
+ 250_000,
402
+ 500_000,
403
+ 1_000_000,
404
+ 2_000_000,
405
+ 5_000_000,
406
+ 10_000_000,
407
+ 15_000_000,
408
+ 30_000_000
409
+ ], true)
410
+ }),
411
+ // L1 tx total fee in ETH: typically 0.001 - 1 ETH
412
+ new View({
413
+ instrumentType: InstrumentType.HISTOGRAM,
414
+ instrumentUnit: 'eth',
415
+ aggregation: new ExplicitBucketHistogramAggregation([
416
+ 0.0001,
417
+ 0.0005,
418
+ 0.001,
419
+ 0.005,
420
+ 0.01,
421
+ 0.05,
422
+ 0.1,
423
+ 0.5,
424
+ 1,
425
+ 5,
426
+ 10
427
+ ], true)
372
428
  })
373
429
  ]
374
430
  });
@@ -378,9 +434,12 @@ export class OpenTelemetryClient {
378
434
  const tracerProvider = new NodeTracerProvider({
379
435
  resource,
380
436
  spanProcessors: config.tracesCollectorUrl ? [
381
- new BatchSpanProcessor(new OTLPTraceExporter({
437
+ new MonitoredBatchSpanProcessor(new OTLPTraceExporter({
382
438
  url: config.tracesCollectorUrl.href
383
- }))
439
+ }), log, {
440
+ maxQueueSize: config.otelBspMaxQueueSize,
441
+ minTraceDurationMs: config.otelMinTraceDurationMs
442
+ })
384
443
  ] : []
385
444
  });
386
445
  tracerProvider.register({
@@ -1,3 +1,5 @@
1
+ import type { DiagnosticsMiddleware } from '@aztec/foundation/json-rpc/server';
1
2
  import type Koa from 'koa';
2
3
  export declare function getOtelJsonRpcPropagationMiddleware(scope?: string): (ctx: Koa.Context, next: () => Promise<void>) => Promise<void>;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbF9wcm9wYWdhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL290ZWxfcHJvcGFnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLEdBQUcsTUFBTSxLQUFLLENBQUM7QUFVM0Isd0JBQWdCLG1DQUFtQyxDQUNqRCxLQUFLLFNBQWtCLEdBQ3RCLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FvQ2hFIn0=
4
+ export declare function getOtelJsonRpcDiagnosticsMiddleware(): DiagnosticsMiddleware;
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbF9wcm9wYWdhdGlvbi5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL290ZWxfcHJvcGFnYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUcvRSxPQUFPLEtBQUssR0FBRyxNQUFNLEtBQUssQ0FBQztBQVUzQix3QkFBZ0IsbUNBQW1DLENBQ2pELEtBQUssU0FBa0IsR0FDdEIsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxDQW9DaEU7QUFFRCx3QkFBZ0IsbUNBQW1DLElBQUkscUJBQXFCLENBNEIzRSJ9
@@ -1 +1 @@
1
- {"version":3,"file":"otel_propagation.d.ts","sourceRoot":"","sources":["../src/otel_propagation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAU3B,wBAAgB,mCAAmC,CACjD,KAAK,SAAkB,GACtB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAoChE"}
1
+ {"version":3,"file":"otel_propagation.d.ts","sourceRoot":"","sources":["../src/otel_propagation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAU3B,wBAAgB,mCAAmC,CACjD,KAAK,SAAkB,GACtB,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAoChE;AAED,wBAAgB,mCAAmC,IAAI,qBAAqB,CA4B3E"}
@@ -6,7 +6,7 @@ export function getOtelJsonRpcPropagationMiddleware(scope = 'JsonRpcServer') {
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'}`, {
9
+ return tracer.startActiveSpan(`JsonRpcServer.${method ?? 'batch'}`, {
10
10
  kind: SpanKind.SERVER
11
11
  }, context, async (span)=>{
12
12
  if (ctx.id) {
@@ -42,3 +42,51 @@ export function getOtelJsonRpcPropagationMiddleware(scope = 'JsonRpcServer') {
42
42
  });
43
43
  };
44
44
  }
45
+ export function getOtelJsonRpcDiagnosticsMiddleware() {
46
+ return function otelJsonRpcDiagnostics(ctx, next) {
47
+ const [namespace, method] = splitNamespace(ctx.method);
48
+ const scope = namespace ?? 'UnknownHandler';
49
+ const tracer = getTelemetryClient().getTracer(scope);
50
+ return tracer.startActiveSpan(`${scope}.${method}`, {
51
+ kind: SpanKind.INTERNAL,
52
+ attributes: {
53
+ [ATTR_JSONRPC_METHOD]: ctx.method
54
+ }
55
+ }, async (span)=>{
56
+ if (ctx.id !== null) {
57
+ span.setAttribute(ATTR_JSONRPC_REQUEST_ID, ctx.id);
58
+ }
59
+ try {
60
+ await next();
61
+ span.setStatus({
62
+ code: SpanStatusCode.OK
63
+ });
64
+ } catch (err) {
65
+ span.setStatus({
66
+ code: SpanStatusCode.ERROR,
67
+ message: err instanceof Error ? err.message : String(err)
68
+ });
69
+ if (typeof err === 'string' || err instanceof Error) {
70
+ span.recordException(err);
71
+ }
72
+ throw err;
73
+ } finally{
74
+ span.end();
75
+ }
76
+ });
77
+ };
78
+ }
79
+ function splitNamespace(fullMethod) {
80
+ const idx = fullMethod.indexOf('_');
81
+ if (idx > -1) {
82
+ return [
83
+ fullMethod.slice(0, idx),
84
+ fullMethod.slice(idx + 1)
85
+ ];
86
+ } else {
87
+ return [
88
+ undefined,
89
+ fullMethod
90
+ ];
91
+ }
92
+ }
package/dest/start.d.ts CHANGED
@@ -4,4 +4,4 @@ import type { TelemetryClient } from './telemetry.js';
4
4
  export * from './config.js';
5
5
  export declare function initTelemetryClient(config: TelemetryClientConfig, bindings?: LoggerBindings): Promise<TelemetryClient>;
6
6
  export declare function getTelemetryClient(): TelemetryClient;
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFekQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsY0FBYyxhQUFhLENBQUM7QUFLNUIsd0JBQXNCLG1CQUFtQixDQUN2QyxNQUFNLEVBQUUscUJBQXFCLEVBQzdCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsR0FDeEIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQWtCMUI7QUFFRCx3QkFBZ0Isa0JBQWtCLElBQUksZUFBZSxDQUVwRCJ9
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnQuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxjQUFjLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFMUUsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFekQsT0FBTyxLQUFLLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFdEQsY0FBYyxhQUFhLENBQUM7QUFLNUIsd0JBQXNCLG1CQUFtQixDQUN2QyxNQUFNLEVBQUUscUJBQXFCLEVBQzdCLFFBQVEsQ0FBQyxFQUFFLGNBQWMsR0FDeEIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQXVCMUI7QUFFRCx3QkFBZ0Isa0JBQWtCLElBQUksZUFBZSxDQUVwRCJ9
@@ -1 +1 @@
1
- {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAE1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,cAAc,aAAa,CAAC;AAK5B,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,eAAe,CAAC,CAkB1B;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD"}
1
+ {"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAE1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEtD,cAAc,aAAa,CAAC;AAK5B,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,CAAC,EAAE,cAAc,GACxB,OAAO,CAAC,eAAe,CAAC,CAuB1B;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD"}
package/dest/start.js CHANGED
@@ -9,7 +9,7 @@ export async function initTelemetryClient(config, bindings) {
9
9
  log.warn('Telemetry client has already been initialized once');
10
10
  return telemetry;
11
11
  }
12
- if (config.metricsCollectorUrl || config.publicMetricsCollectorUrl) {
12
+ if (config.metricsCollectorUrl || config.publicMetricsCollectorUrl || config.tracesCollectorUrl || config.logsCollectorUrl) {
13
13
  log.info(`Using OpenTelemetry client with custom collector`);
14
14
  // Lazy load OpenTelemetry to avoid loading heavy deps at startup
15
15
  const { OpenTelemetryClient } = await import('./otel.js');
@@ -12,7 +12,7 @@ type AttributeNames = ValuesOf<typeof Attributes>;
12
12
  *
13
13
  * Think twice before removing an attribute from this list.
14
14
  */
15
- type BannedMetricAttributeNames = (typeof Attributes)['BLOCK_NUMBER' | 'BLOCK_ARCHIVE' | 'SLOT_NUMBER' | 'BLOCK_PARENT' | 'BLOCK_CANDIDATE_TXS_COUNT' | 'BLOCK_TXS_COUNT' | 'BLOCK_SIZE' | 'EPOCH_SIZE' | 'EPOCH_NUMBER' | 'TX_HASH' | 'PROVING_JOB_ID' | 'P2P_ID' | 'P2P_REQ_RESP_BATCH_REQUESTS_COUNT' | 'TARGET_ADDRESS' | 'MANA_USED' | 'TOTAL_INSTRUCTIONS'];
15
+ type BannedMetricAttributeNames = (typeof Attributes)['BLOCK_NUMBER' | 'BLOCK_ARCHIVE' | 'SLOT_NUMBER' | 'BLOCK_PARENT' | 'BLOCK_CANDIDATE_TXS_COUNT' | 'BLOCK_TXS_COUNT' | 'BLOCK_SIZE' | 'EPOCH_SIZE' | 'EPOCH_NUMBER' | 'TX_HASH' | 'PROVING_JOB_ID' | 'P2P_ID' | 'TARGET_ADDRESS' | 'MANA_USED' | 'TOTAL_INSTRUCTIONS'];
16
16
  /** Global registry of attributes */
17
17
  export type AttributesType = Partial<Record<AttributeNames, AttributeValue>>;
18
18
  export type AllowedAttributeNames = Exclude<AttributeNames, BannedMetricAttributeNames>;
@@ -144,4 +144,4 @@ export declare function runInSpan<A extends any[], R>(tracer: Tracer | string, s
144
144
  * Unlike runInSpan which returns a reusable function, this executes right away.
145
145
  */
146
146
  export declare function execInSpan<R>(tracer: Tracer | string, spanName: string, callback: (span: Span) => Promise<R>): Promise<R>;
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVsZW1ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGNBQWMsRUFDbkIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxPQUFPLEVBQ1osS0FBSyxhQUFhLEVBQ2xCLEtBQUssVUFBVSxFQUNmLEtBQUsscUJBQXFCLElBQUkseUJBQXlCLEVBQ3ZELEtBQUssS0FBSyxJQUFJLFNBQVMsRUFDdkIsS0FBSyxTQUFTLElBQUksYUFBYSxFQUMvQixLQUFLLGVBQWUsSUFBSSxtQkFBbUIsRUFDM0MsS0FBSyxnQkFBZ0IsSUFBSSxvQkFBb0IsRUFDN0MsS0FBSyx1QkFBdUIsSUFBSSwyQkFBMkIsRUFDM0QsS0FBSyxhQUFhLElBQUksaUJBQWlCLEVBQ3ZDLEtBQUssSUFBSSxFQUVULEtBQUssTUFBTSxFQUNaLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxLQUFLLEtBQUssVUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRixPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxLQUFLLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhGLEtBQUssUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7QUFFakUsS0FBSyxjQUFjLEdBQUcsUUFBUSxDQUFDLE9BQU8sVUFBVSxDQUFDLENBQUM7QUFFbEQ7Ozs7OztHQU1HO0FBQ0gsS0FBSywwQkFBMEIsR0FBRyxDQUFDLE9BQU8sVUFBVSxDQUFDLENBQ2pELGNBQWMs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
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVsZW1ldHJ5LmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVsZW1ldHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLGNBQWMsRUFDbkIsS0FBSyx1QkFBdUIsRUFDNUIsS0FBSyxPQUFPLEVBQ1osS0FBSyxhQUFhLEVBQ2xCLEtBQUssVUFBVSxFQUNmLEtBQUsscUJBQXFCLElBQUkseUJBQXlCLEVBQ3ZELEtBQUssS0FBSyxJQUFJLFNBQVMsRUFDdkIsS0FBSyxTQUFTLElBQUksYUFBYSxFQUMvQixLQUFLLGVBQWUsSUFBSSxtQkFBbUIsRUFDM0MsS0FBSyxnQkFBZ0IsSUFBSSxvQkFBb0IsRUFDN0MsS0FBSyx1QkFBdUIsSUFBSSwyQkFBMkIsRUFDM0QsS0FBSyxhQUFhLElBQUksaUJBQWlCLEVBQ3ZDLEtBQUssSUFBSSxFQUVULEtBQUssTUFBTSxFQUNaLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxLQUFLLEtBQUssVUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBR3JELE9BQU8sRUFBRSxlQUFlLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRixPQUFPLEVBQUUsS0FBSyxJQUFJLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxLQUFLLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXhGLEtBQUssUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7QUFFakUsS0FBSyxjQUFjLEdBQUcsUUFBUSxDQUFDLE9BQU8sVUFBVSxDQUFDLENBQUM7QUFFbEQ7Ozs7OztHQU1HO0FBQ0gsS0FBSywwQkFBMEIsR0FBRyxDQUFDLE9BQU8sVUFBVSxDQUFDLENBQ2pELGNBQWMsR0FDZCxlQUFlLEdBQ2YsYUFBYSxHQUNiLGNBQWMsR0FDZCwyQkFBMkIsR0FDM0IsaUJBQWlCLEdBQ2pCLFlBQVksR0FDWixZQUFZLEdBQ1osY0FBYyxHQUNkLFNBQVMsR0FDVCxnQkFBZ0IsR0FDaEIsUUFBUSxHQUNSLGdCQUFnQixHQUNoQixXQUFXLEdBQ1gsb0JBQW9CLENBQUMsQ0FBQztBQUUxQixvQ0FBb0M7QUFDcEMsTUFBTSxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDO0FBRTdFLE1BQU0sTUFBTSxxQkFBcUIsR0FBRyxPQUFPLENBQUMsY0FBYyxFQUFFLDBCQUEwQixDQUFDLENBQUM7QUFFeEYsMERBQTBEO0FBQzFELE1BQU0sTUFBTSxvQkFBb0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUM7QUFFMUYsaURBQWlEO0FBQ2pELFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUVyRCxNQUFNLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ3BELE1BQU0sTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLG9CQUFvQixDQUFDLENBQUM7QUFDNUQsTUFBTSxNQUFNLGFBQWEsR0FBRyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBQ3BFLE1BQU0sTUFBTSxlQUFlLEdBQUcsbUJBQW1CLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUN4RSxNQUFNLE1BQU0sdUJBQXVCLEdBQUcsMkJBQTJCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUN4RixNQUFNLE1BQU0sZ0JBQWdCLEdBQUcsb0JBQW9CLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUMxRSxNQUFNLE1BQU0scUJBQXFCLEdBQUcseUJBQXlCLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUVwRixZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUM7QUFHdkI7O0dBRUc7QUFDSCxNQUFNLFdBQVcsS0FBSztJQUNwQjs7O09BR0c7SUFDSCxXQUFXLENBQUMsTUFBTSxFQUFFLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUU3Qzs7O09BR0c7SUFDSCxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO0lBRWpFLDBCQUEwQixDQUN4QixRQUFRLEVBQUUsdUJBQXVCLENBQUMsY0FBYyxDQUFDLEVBQ2pELFdBQVcsRUFBRSxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsR0FDeEMsSUFBSSxDQUFDO0lBRVIsNkJBQTZCLENBQzNCLFFBQVEsRUFBRSx1QkFBdUIsQ0FBQyxjQUFjLENBQUMsRUFDakQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxjQUFjLENBQUMsRUFBRSxHQUN4QyxJQUFJLENBQUM7SUFFUjs7OztPQUlHO0lBQ0gsZUFBZSxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLENBQUMsRUFBRSxPQUFPLENBQUMsYUFBYSxDQUFDLEdBQUcsU0FBUyxDQUFDO0lBRTVGOzs7T0FHRztJQUNILG1CQUFtQixDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsR0FBRyxhQUFhLENBQUM7SUFFN0Q7OztPQUdHO0lBQ0gsNkJBQTZCLENBQUMsTUFBTSxFQUFFLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDO0NBQ2xGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFdBQVcsZUFBZTtJQUM5Qjs7UUFFSTtJQUNKLFNBQVMsSUFBSSxPQUFPLENBQUM7SUFDckI7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBRTlCOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUVoQzs7T0FFRztJQUNILElBQUksSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEI7O09BRUc7SUFDSCxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXZCOztPQUVHO0lBQ0gsMEJBQTBCLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQztJQUVyRDs7T0FFRztJQUNILDZCQUE2QixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFFckQ7OztPQUdHO0lBQ0gsZUFBZSxJQUFJLE1BQU0sR0FBRyxTQUFTLENBQUM7SUFFdEM7O09BRUc7SUFDSCx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLE9BQU8sR0FBRyxTQUFTLENBQUM7Q0FDckU7QUFFRCwrREFBK0Q7QUFDL0QsTUFBTSxXQUFXLFNBQVM7SUFDeEIsTUFBTSxFQUFFLE1BQU0sQ0FBQztDQUNoQjtBQUVELEtBQUssYUFBYSxDQUFDLENBQUMsU0FBUyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssR0FBRyxJQUFJLENBQzNFLGNBQWMsRUFBRSxDQUFDLEVBQ2pCLE9BQU8sRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLENBQUMsS0FDcEMsQ0FBQyxDQUFDO0FBRVA7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCx3QkFBZ0IsU0FBUyxDQUFDLENBQUMsU0FBUyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLEtBQUssR0FBRyxFQUM5RSxRQUFRLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsRUFDaEUsVUFBVSxDQUFDLEVBQUUsY0FBYyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxPQUFPLENBQUMsY0FBYyxDQUFDLEdBQUcsY0FBYyxDQUFDLEVBQzdHLGVBQWUsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLGNBQWMsR0FDakYsYUFBYSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0E2Q3JCO0FBRUQ7Ozs7Ozs7Ozs7R0FVRztBQUNILHdCQUFnQixrQkFBa0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxHQUFHLEVBQ2xFLE1BQU0sRUFBRSxNQUFNLEVBQ2QsUUFBUSxFQUFFLE1BQU0sRUFDaEIsVUFBVSxFQUFFLGNBQWMsRUFDMUIsUUFBUSxFQUFFLENBQUMsR0FDVixDQUFDLENBa0JIO0FBRUQsd0JBQWdCLFNBQVMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUMxQyxNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFDdkIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxHQUMvQyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBeUI1QjtBQUVEOzs7R0FHRztBQUNILHdCQUFnQixVQUFVLENBQUMsQ0FBQyxFQUMxQixNQUFNLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFDdkIsUUFBUSxFQUFFLE1BQU0sRUFDaEIsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQ25DLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FpQloifQ==
@@ -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":"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"}
@@ -5,7 +5,7 @@ import { type Traceable, type Tracer } from '@aztec/telemetry-client';
5
5
  export declare class TraceableL2BlockStream extends L2BlockStream implements Traceable {
6
6
  readonly tracer: Tracer;
7
7
  private readonly name;
8
- constructor(l2BlockSource: Pick<L2BlockSource, 'getBlocks' | 'getBlockHeader' | 'getL2Tips' | 'getCheckpoints' | 'getCheckpointedBlocks'>, localData: L2BlockStreamLocalDataProvider, handler: L2BlockStreamEventHandler, tracer: Tracer, name?: string, log?: import("@aztec/foundation/log").Logger, opts?: {
8
+ constructor(l2BlockSource: Pick<L2BlockSource, 'getBlocks' | 'getBlockData' | 'getL2Tips' | 'getCheckpoints'>, localData: L2BlockStreamLocalDataProvider, handler: L2BlockStreamEventHandler, tracer: Tracer, name?: string, log?: import("@aztec/foundation/log").Logger, opts?: {
9
9
  proven?: boolean;
10
10
  pollIntervalMS?: number;
11
11
  batchSize?: number;
@@ -13,4 +13,4 @@ export declare class TraceableL2BlockStream extends L2BlockStream implements Tra
13
13
  });
14
14
  work(): Promise<void>;
15
15
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc3RyZWFtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd3JhcHBlcnMvbDJfYmxvY2tfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQ0wsS0FBSyxhQUFhLEVBQ2xCLGFBQWEsRUFDYixLQUFLLHlCQUF5QixFQUM5QixLQUFLLDhCQUE4QixFQUNwQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLLE1BQU0sRUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBRWpGLGtGQUFrRjtBQUNsRixxQkFBYSxzQkFBdUIsU0FBUSxhQUFjLFlBQVcsU0FBUzthQVExRCxNQUFNLEVBQUUsTUFBTTtJQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLElBQUk7SUFSdkIsWUFDRSxhQUFhLEVBQUUsSUFBSSxDQUNqQixhQUFhLEVBQ2IsV0FBVyxHQUFHLGdCQUFnQixHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsR0FBRyx1QkFBdUIsQ0FDMUYsRUFDRCxTQUFTLEVBQUUsOEJBQThCLEVBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDYixJQUFJLEdBQUUsTUFBd0IsRUFDL0MsR0FBRyx5Q0FBcUMsRUFDeEMsSUFBSSxHQUFFO1FBQ0osTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQ2pCLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN4QixTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDbkIsYUFBYSxDQUFDLEVBQUUsV0FBVyxDQUFDO0tBQ3hCLEVBR1A7SUFPUSxJQUFJLGtCQUVaO0NBQ0YifQ==
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc3RyZWFtLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd3JhcHBlcnMvbDJfYmxvY2tfc3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQ0wsS0FBSyxhQUFhLEVBQ2xCLGFBQWEsRUFDYixLQUFLLHlCQUF5QixFQUM5QixLQUFLLDhCQUE4QixFQUNwQyxNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLLE1BQU0sRUFBYSxNQUFNLHlCQUF5QixDQUFDO0FBRWpGLGtGQUFrRjtBQUNsRixxQkFBYSxzQkFBdUIsU0FBUSxhQUFjLFlBQVcsU0FBUzthQUsxRCxNQUFNLEVBQUUsTUFBTTtJQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLElBQUk7SUFMdkIsWUFDRSxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxXQUFXLEdBQUcsY0FBYyxHQUFHLFdBQVcsR0FBRyxnQkFBZ0IsQ0FBQyxFQUNqRyxTQUFTLEVBQUUsOEJBQThCLEVBQ3pDLE9BQU8sRUFBRSx5QkFBeUIsRUFDbEIsTUFBTSxFQUFFLE1BQU0sRUFDYixJQUFJLEdBQUUsTUFBd0IsRUFDL0MsR0FBRyx5Q0FBcUMsRUFDeEMsSUFBSSxHQUFFO1FBQ0osTUFBTSxDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQ2pCLGNBQWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUN4QixTQUFTLENBQUMsRUFBRSxNQUFNLENBQUM7UUFDbkIsYUFBYSxDQUFDLEVBQUUsV0FBVyxDQUFDO0tBQ3hCLEVBR1A7SUFPUSxJQUFJLGtCQUVaO0NBQ0YifQ==