@aztec/telemetry-client 0.0.1-commit.e558bd1c → 0.0.1-commit.e57c76e
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/attributes.d.ts +13 -2
- package/dest/attributes.d.ts.map +1 -1
- package/dest/attributes.js +6 -1
- package/dest/config.d.ts +3 -1
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +17 -9
- package/dest/lmdb_metrics.d.ts +2 -2
- package/dest/lmdb_metrics.d.ts.map +1 -1
- package/dest/metrics.d.ts +64 -4
- package/dest/metrics.d.ts.map +1 -1
- package/dest/metrics.js +341 -11
- package/dest/monitored_batch_span_processor.d.ts +29 -0
- package/dest/monitored_batch_span_processor.d.ts.map +1 -0
- package/dest/monitored_batch_span_processor.js +70 -0
- package/dest/otel.d.ts +1 -1
- package/dest/otel.d.ts.map +1 -1
- package/dest/otel.js +62 -3
- package/dest/otel_propagation.d.ts +3 -1
- package/dest/otel_propagation.d.ts.map +1 -1
- package/dest/otel_propagation.js +49 -1
- package/dest/start.d.ts +1 -1
- package/dest/start.d.ts.map +1 -1
- package/dest/start.js +1 -1
- package/dest/telemetry.d.ts +2 -2
- package/dest/telemetry.d.ts.map +1 -1
- package/dest/wrappers/fetch.d.ts +3 -3
- package/dest/wrappers/fetch.d.ts.map +1 -1
- package/dest/wrappers/fetch.js +3 -2
- package/dest/wrappers/l2_block_stream.d.ts +2 -2
- package/dest/wrappers/l2_block_stream.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/attributes.ts +17 -1
- package/src/config.ts +24 -9
- package/src/metrics.ts +350 -11
- package/src/monitored_batch_span_processor.ts +93 -0
- package/src/otel.ts +38 -2
- package/src/otel_propagation.ts +42 -1
- package/src/start.ts +6 -1
- package/src/telemetry.ts +0 -1
- package/src/wrappers/fetch.ts +9 -3
- package/src/wrappers/l2_block_stream.ts +1 -4
package/dest/metrics.js
CHANGED
|
@@ -132,6 +132,52 @@ export const MEMPOOL_TX_MINED_DELAY = {
|
|
|
132
132
|
unit: 'ms',
|
|
133
133
|
valueType: ValueType.INT
|
|
134
134
|
};
|
|
135
|
+
export const MEMPOOL_TX_POOL_V2_EVICTED_COUNT = {
|
|
136
|
+
name: 'aztec.mempool.tx_pool_v2.evicted_count',
|
|
137
|
+
description: 'The number of transactions evicted from the tx pool',
|
|
138
|
+
valueType: ValueType.INT
|
|
139
|
+
};
|
|
140
|
+
export const MEMPOOL_TX_POOL_V2_IGNORED_COUNT = {
|
|
141
|
+
name: 'aztec.mempool.tx_pool_v2.ignored_count',
|
|
142
|
+
description: 'The number of transactions ignored in addPendingTxs',
|
|
143
|
+
valueType: ValueType.INT
|
|
144
|
+
};
|
|
145
|
+
export const MEMPOOL_TX_POOL_V2_REJECTED_COUNT = {
|
|
146
|
+
name: 'aztec.mempool.tx_pool_v2.rejected_count',
|
|
147
|
+
description: 'The number of transactions rejected in addPendingTxs',
|
|
148
|
+
valueType: ValueType.INT
|
|
149
|
+
};
|
|
150
|
+
export const MEMPOOL_TX_POOL_V2_SOFT_DELETED_HITS = {
|
|
151
|
+
name: 'aztec.mempool.tx_pool_v2.soft_deleted_hits',
|
|
152
|
+
description: 'The number of transactions found in the soft-deleted pool',
|
|
153
|
+
valueType: ValueType.INT
|
|
154
|
+
};
|
|
155
|
+
export const MEMPOOL_TX_POOL_V2_MISSING_ON_PROTECT = {
|
|
156
|
+
name: 'aztec.mempool.tx_pool_v2.missing_on_protect',
|
|
157
|
+
description: 'The number of truly missing transactions in protectTxs',
|
|
158
|
+
valueType: ValueType.INT
|
|
159
|
+
};
|
|
160
|
+
export const MEMPOOL_TX_POOL_V2_MISSING_PREVIOUSLY_EVICTED = {
|
|
161
|
+
name: 'aztec.mempool.tx_pool_v2.missing_previously_evicted',
|
|
162
|
+
description: 'The number of truly missing transactions in protectTxs that were previously evicted',
|
|
163
|
+
valueType: ValueType.INT
|
|
164
|
+
};
|
|
165
|
+
export const MEMPOOL_TX_POOL_V2_METADATA_MEMORY = {
|
|
166
|
+
name: 'aztec.mempool.tx_pool_v2.metadata_memory',
|
|
167
|
+
description: 'Estimated total memory consumed by in-memory transaction metadata',
|
|
168
|
+
unit: 'By',
|
|
169
|
+
valueType: ValueType.INT
|
|
170
|
+
};
|
|
171
|
+
export const MEMPOOL_TX_POOL_V2_DUPLICATE_ADD = {
|
|
172
|
+
name: 'aztec.mempool.tx_pool_v2.duplicate_add',
|
|
173
|
+
description: 'Transactions received via addPendingTxs that were already in the pool',
|
|
174
|
+
valueType: ValueType.INT
|
|
175
|
+
};
|
|
176
|
+
export const MEMPOOL_TX_POOL_V2_ALREADY_PROTECTED_ADD = {
|
|
177
|
+
name: 'aztec.mempool.tx_pool_v2.already_protected_add',
|
|
178
|
+
description: 'Transactions received via addPendingTxs that were already pre-protected',
|
|
179
|
+
valueType: ValueType.INT
|
|
180
|
+
};
|
|
135
181
|
export const DB_NUM_ITEMS = {
|
|
136
182
|
name: 'aztec.db.num_items',
|
|
137
183
|
description: 'LMDB Num Items',
|
|
@@ -187,6 +233,11 @@ export const ARCHIVER_BLOCK_HEIGHT = {
|
|
|
187
233
|
description: 'The height of the latest block processed by the archiver',
|
|
188
234
|
valueType: ValueType.INT
|
|
189
235
|
};
|
|
236
|
+
export const ARCHIVER_CHECKPOINT_HEIGHT = {
|
|
237
|
+
name: 'aztec.archiver.checkpoint_height',
|
|
238
|
+
description: 'The height of the latest checkpoint processed by the archiver',
|
|
239
|
+
valueType: ValueType.INT
|
|
240
|
+
};
|
|
190
241
|
export const ARCHIVER_ROLLUP_PROOF_DELAY = {
|
|
191
242
|
name: 'aztec.archiver.rollup_proof_delay',
|
|
192
243
|
description: 'Time after a block is submitted until its proof is published',
|
|
@@ -216,6 +267,12 @@ export const ARCHIVER_SYNC_PER_BLOCK = {
|
|
|
216
267
|
unit: 'ms',
|
|
217
268
|
valueType: ValueType.INT
|
|
218
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
|
+
};
|
|
219
276
|
export const ARCHIVER_SYNC_BLOCK_COUNT = {
|
|
220
277
|
name: 'aztec.archiver.block.sync_count',
|
|
221
278
|
description: 'Number of blocks synced from L1',
|
|
@@ -253,6 +310,17 @@ export const ARCHIVER_BLOCK_PROPOSAL_TX_TARGET_COUNT = {
|
|
|
253
310
|
description: 'Number of block proposals by tx target',
|
|
254
311
|
valueType: ValueType.INT
|
|
255
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
|
+
};
|
|
256
324
|
export const NODE_RECEIVE_TX_DURATION = {
|
|
257
325
|
name: 'aztec.node.receive_tx.duration',
|
|
258
326
|
description: 'The duration of the receiveTx method',
|
|
@@ -281,6 +349,12 @@ export const SEQUENCER_STATE_TRANSITION_BUFFER_DURATION = {
|
|
|
281
349
|
unit: 'ms',
|
|
282
350
|
valueType: ValueType.INT
|
|
283
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
|
+
};
|
|
284
358
|
export const SEQUENCER_BLOCK_BUILD_DURATION = {
|
|
285
359
|
name: 'aztec.sequencer.block.build_duration',
|
|
286
360
|
description: 'Duration to build a block',
|
|
@@ -298,9 +372,15 @@ export const SEQUENCER_BLOCK_COUNT = {
|
|
|
298
372
|
description: 'Number of blocks built by this sequencer',
|
|
299
373
|
valueType: ValueType.INT
|
|
300
374
|
};
|
|
301
|
-
export const
|
|
302
|
-
name: 'aztec.sequencer.
|
|
303
|
-
description: '
|
|
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
|
+
};
|
|
381
|
+
export const SEQUENCER_CURRENT_SLOT_REWARDS = {
|
|
382
|
+
name: 'aztec.sequencer.current_slot_rewards',
|
|
383
|
+
description: 'The rewards earned per filled slot',
|
|
304
384
|
valueType: ValueType.DOUBLE
|
|
305
385
|
};
|
|
306
386
|
export const SEQUENCER_SLOT_COUNT = {
|
|
@@ -321,12 +401,12 @@ export const SEQUENCER_CHECKPOINT_ATTESTATION_DELAY = {
|
|
|
321
401
|
};
|
|
322
402
|
export const SEQUENCER_COLLECTED_ATTESTATIONS_COUNT = {
|
|
323
403
|
name: 'aztec.sequencer.attestations.collected_count',
|
|
324
|
-
description: 'The number of attestations collected for a
|
|
404
|
+
description: 'The number of attestations collected for a checkpoint proposal',
|
|
325
405
|
valueType: ValueType.INT
|
|
326
406
|
};
|
|
327
407
|
export const SEQUENCER_REQUIRED_ATTESTATIONS_COUNT = {
|
|
328
408
|
name: 'aztec.sequencer.attestations.required_count',
|
|
329
|
-
description: 'The minimum number of attestations required to publish a
|
|
409
|
+
description: 'The minimum number of attestations required to publish a checkpoint',
|
|
330
410
|
valueType: ValueType.INT
|
|
331
411
|
};
|
|
332
412
|
export const SEQUENCER_COLLECT_ATTESTATIONS_DURATION = {
|
|
@@ -346,14 +426,60 @@ export const SEQUENCER_BLOCK_PROPOSAL_FAILED_COUNT = {
|
|
|
346
426
|
description: 'The number of times block proposal failed (including validation builds)',
|
|
347
427
|
valueType: ValueType.INT
|
|
348
428
|
};
|
|
349
|
-
export const
|
|
350
|
-
name: 'aztec.sequencer.
|
|
351
|
-
description: 'The number of times
|
|
429
|
+
export const SEQUENCER_CHECKPOINT_PROPOSAL_SUCCESS_COUNT = {
|
|
430
|
+
name: 'aztec.sequencer.checkpoint.proposal_success_count',
|
|
431
|
+
description: 'The number of times checkpoint proposal succeeded',
|
|
432
|
+
valueType: ValueType.INT
|
|
433
|
+
};
|
|
434
|
+
export const SEQUENCER_CHECKPOINT_PRECHECK_FAILED_COUNT = {
|
|
435
|
+
name: 'aztec.sequencer.checkpoint.precheck_failed_count',
|
|
436
|
+
description: 'The number of times checkpoint pre-build checks failed',
|
|
352
437
|
valueType: ValueType.INT
|
|
353
438
|
};
|
|
354
|
-
export const
|
|
355
|
-
name: 'aztec.sequencer.
|
|
356
|
-
description: 'The number of times
|
|
439
|
+
export const SEQUENCER_CHECKPOINT_PROPOSAL_FAILED_COUNT = {
|
|
440
|
+
name: 'aztec.sequencer.checkpoint.proposal_failed_count',
|
|
441
|
+
description: 'The number of times checkpoint proposal failed',
|
|
442
|
+
valueType: ValueType.INT
|
|
443
|
+
};
|
|
444
|
+
export const SEQUENCER_CHECKPOINT_BUILD_DURATION = {
|
|
445
|
+
name: 'aztec.sequencer.checkpoint.build_duration',
|
|
446
|
+
description: 'Total duration to build all blocks in a checkpoint',
|
|
447
|
+
unit: 'ms',
|
|
448
|
+
valueType: ValueType.INT
|
|
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
|
+
};
|
|
468
|
+
export const SEQUENCER_CHECKPOINT_BLOCK_COUNT = {
|
|
469
|
+
name: 'aztec.sequencer.checkpoint.block_count',
|
|
470
|
+
description: 'Number of blocks built in a checkpoint',
|
|
471
|
+
valueType: ValueType.INT
|
|
472
|
+
};
|
|
473
|
+
export const SEQUENCER_CHECKPOINT_TX_COUNT = {
|
|
474
|
+
name: 'aztec.sequencer.checkpoint.tx_count',
|
|
475
|
+
description: 'Total number of transactions across all blocks in a checkpoint',
|
|
476
|
+
unit: 'tx',
|
|
477
|
+
valueType: ValueType.INT
|
|
478
|
+
};
|
|
479
|
+
export const SEQUENCER_CHECKPOINT_TOTAL_MANA = {
|
|
480
|
+
name: 'aztec.sequencer.checkpoint.total_mana',
|
|
481
|
+
description: 'Total L2 mana used across all blocks in a checkpoint',
|
|
482
|
+
unit: 'mana',
|
|
357
483
|
valueType: ValueType.INT
|
|
358
484
|
};
|
|
359
485
|
export const SEQUENCER_SLASHING_ATTEMPTS_COUNT = {
|
|
@@ -366,6 +492,21 @@ export const SEQUENCER_CHECKPOINT_SUCCESS_COUNT = {
|
|
|
366
492
|
description: 'The number of times checkpoint publishing succeeded',
|
|
367
493
|
valueType: ValueType.INT
|
|
368
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
|
+
};
|
|
369
510
|
// Fisherman fee analysis metrics
|
|
370
511
|
export const FISHERMAN_FEE_ANALYSIS_WOULD_BE_INCLUDED = {
|
|
371
512
|
name: 'aztec.fisherman.fee_analysis.would_be_included',
|
|
@@ -424,6 +565,29 @@ export const FISHERMAN_FEE_ANALYSIS_MINED_BLOB_TX_TOTAL_COST = {
|
|
|
424
565
|
unit: 'eth',
|
|
425
566
|
valueType: ValueType.DOUBLE
|
|
426
567
|
};
|
|
568
|
+
export const FISHERMAN_FEE_ANALYSIS_PENDING_BLOB_COUNT = {
|
|
569
|
+
name: 'aztec.fisherman.fee_analysis.pending_blob_count',
|
|
570
|
+
description: 'Total number of blobs in pending blob transactions',
|
|
571
|
+
unit: 'blobs',
|
|
572
|
+
valueType: ValueType.INT
|
|
573
|
+
};
|
|
574
|
+
export const FISHERMAN_FEE_ANALYSIS_INCLUDED_BLOB_COUNT = {
|
|
575
|
+
name: 'aztec.fisherman.fee_analysis.included_blob_count',
|
|
576
|
+
description: 'Total number of blobs included in the mined block',
|
|
577
|
+
unit: 'blobs',
|
|
578
|
+
valueType: ValueType.INT
|
|
579
|
+
};
|
|
580
|
+
export const FISHERMAN_FEE_ANALYSIS_BLOCK_BLOBS_FULL = {
|
|
581
|
+
name: 'aztec.fisherman.fee_analysis.block_blobs_full',
|
|
582
|
+
description: 'Whether the mined block reached 100% blob capacity',
|
|
583
|
+
valueType: ValueType.INT
|
|
584
|
+
};
|
|
585
|
+
export const FISHERMAN_FEE_ANALYSIS_MAX_BLOB_CAPACITY = {
|
|
586
|
+
name: 'aztec.fisherman.fee_analysis.max_blob_capacity',
|
|
587
|
+
description: 'Maximum blob capacity for the analyzed block based on L1 upgrade schedule',
|
|
588
|
+
unit: 'blobs',
|
|
589
|
+
valueType: ValueType.INT
|
|
590
|
+
};
|
|
427
591
|
export const VALIDATOR_INVALID_ATTESTATION_RECEIVED_COUNT = {
|
|
428
592
|
name: 'aztec.validator.invalid_attestation_received_count',
|
|
429
593
|
description: 'Number of invalid attestations received',
|
|
@@ -507,6 +671,24 @@ export const L1_PUBLISHER_TX_TOTAL_FEE = {
|
|
|
507
671
|
unit: 'eth',
|
|
508
672
|
valueType: ValueType.DOUBLE
|
|
509
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
|
+
};
|
|
510
692
|
export const L1_BLOCK_HEIGHT = {
|
|
511
693
|
name: 'aztec.l1.block_height',
|
|
512
694
|
description: 'The current L1 block height',
|
|
@@ -597,6 +779,12 @@ export const PEER_MANAGER_PEER_COUNT = {
|
|
|
597
779
|
unit: 'peers',
|
|
598
780
|
valueType: ValueType.INT
|
|
599
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
|
+
};
|
|
600
788
|
export const PEER_MANAGER_LOW_SCORE_DISCONNECTS = {
|
|
601
789
|
name: 'aztec.peer_manager.low_score_disconnects',
|
|
602
790
|
description: 'Number of peers disconnected due to low score',
|
|
@@ -721,6 +909,11 @@ export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_AVG = {
|
|
|
721
909
|
unit: 'ms',
|
|
722
910
|
valueType: ValueType.INT
|
|
723
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
|
+
};
|
|
724
917
|
export const PUBLIC_PROCESSOR_TX_DURATION = {
|
|
725
918
|
name: 'aztec.public_processor.tx_duration',
|
|
726
919
|
description: 'Duration to process a public transaction',
|
|
@@ -784,6 +977,17 @@ export const PUBLIC_PROCESSOR_TREE_INSERTION = {
|
|
|
784
977
|
unit: 'ms',
|
|
785
978
|
valueType: ValueType.INT
|
|
786
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
|
+
};
|
|
787
991
|
export const PUBLIC_EXECUTOR_PREFIX = 'aztec.public_executor.';
|
|
788
992
|
export const PUBLIC_EXECUTOR_SIMULATION_COUNT = {
|
|
789
993
|
name: 'aztec.public_executor.simulation_count',
|
|
@@ -873,6 +1077,11 @@ export const PROVING_QUEUE_REJECTED_JOBS = {
|
|
|
873
1077
|
description: 'Number of rejected proving jobs',
|
|
874
1078
|
valueType: ValueType.INT
|
|
875
1079
|
};
|
|
1080
|
+
export const PROVING_QUEUE_ABORTED_JOBS = {
|
|
1081
|
+
name: 'aztec.proving_queue.aborted_jobs_count',
|
|
1082
|
+
description: 'Number of aborted proving jobs',
|
|
1083
|
+
valueType: ValueType.INT
|
|
1084
|
+
};
|
|
876
1085
|
export const PROVING_QUEUE_RETRIED_JOBS = {
|
|
877
1086
|
name: 'aztec.proving_queue.retried_jobs_count',
|
|
878
1087
|
description: 'Number of retried proving jobs',
|
|
@@ -945,6 +1154,36 @@ export const PROVER_NODE_JOB_TRANSACTIONS = {
|
|
|
945
1154
|
description: 'Number of transactions in a proven epoch',
|
|
946
1155
|
valueType: ValueType.INT
|
|
947
1156
|
};
|
|
1157
|
+
export const PROVER_NODE_BLOB_PROCESSING_LAST_DURATION = {
|
|
1158
|
+
name: 'aztec.prover_node.blob_processing.last_duration',
|
|
1159
|
+
description: 'Duration of blob processing step in epoch proving job',
|
|
1160
|
+
unit: 'ms',
|
|
1161
|
+
valueType: ValueType.INT
|
|
1162
|
+
};
|
|
1163
|
+
export const PROVER_NODE_CHONK_VERIFIER_LAST_DURATION = {
|
|
1164
|
+
name: 'aztec.prover_node.chonk_verifier.last_duration',
|
|
1165
|
+
description: 'Duration of chonk verifier enqueuing in epoch proving job',
|
|
1166
|
+
unit: 'ms',
|
|
1167
|
+
valueType: ValueType.INT
|
|
1168
|
+
};
|
|
1169
|
+
export const PROVER_NODE_BLOCK_PROCESSING_DURATION = {
|
|
1170
|
+
name: 'aztec.prover_node.block_processing.duration',
|
|
1171
|
+
description: 'Duration of processing a single block in epoch proving job',
|
|
1172
|
+
unit: 'ms',
|
|
1173
|
+
valueType: ValueType.INT
|
|
1174
|
+
};
|
|
1175
|
+
export const PROVER_NODE_CHECKPOINT_PROCESSING_DURATION = {
|
|
1176
|
+
name: 'aztec.prover_node.checkpoint_processing.duration',
|
|
1177
|
+
description: 'Duration of processing a single checkpoint in epoch proving job',
|
|
1178
|
+
unit: 'ms',
|
|
1179
|
+
valueType: ValueType.INT
|
|
1180
|
+
};
|
|
1181
|
+
export const PROVER_NODE_ALL_CHECKPOINTS_PROCESSING_LAST_DURATION = {
|
|
1182
|
+
name: 'aztec.prover_node.all_checkpoints_processing.last_duration',
|
|
1183
|
+
description: 'Duration of processing all checkpoints in epoch proving job',
|
|
1184
|
+
unit: 'ms',
|
|
1185
|
+
valueType: ValueType.INT
|
|
1186
|
+
};
|
|
948
1187
|
export const PROVER_NODE_REWARDS_TOTAL = {
|
|
949
1188
|
name: 'aztec.prover_node.rewards_total',
|
|
950
1189
|
description: 'The rewards earned (total)',
|
|
@@ -1055,6 +1294,18 @@ export const VALIDATOR_RE_EXECUTION_TX_COUNT = {
|
|
|
1055
1294
|
unit: 'tx',
|
|
1056
1295
|
valueType: ValueType.INT
|
|
1057
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
|
+
};
|
|
1058
1309
|
export const VALIDATOR_FAILED_REEXECUTION_COUNT = {
|
|
1059
1310
|
name: 'aztec.validator.failed_reexecution_count',
|
|
1060
1311
|
description: 'The number of failed re-executions',
|
|
@@ -1075,6 +1326,16 @@ export const VALIDATOR_ATTESTATION_FAILED_NODE_ISSUE_COUNT = {
|
|
|
1075
1326
|
description: 'The number of failed attestations due to node issues (timeout, missing data, etc.)',
|
|
1076
1327
|
valueType: ValueType.INT
|
|
1077
1328
|
};
|
|
1329
|
+
export const VALIDATOR_CURRENT_EPOCH = {
|
|
1330
|
+
name: 'aztec.validator.current_epoch',
|
|
1331
|
+
description: 'The current epoch number, reflecting total epochs elapsed since genesis',
|
|
1332
|
+
valueType: ValueType.INT
|
|
1333
|
+
};
|
|
1334
|
+
export const VALIDATOR_ATTESTED_EPOCH_COUNT = {
|
|
1335
|
+
name: 'aztec.validator.attested_epoch_count',
|
|
1336
|
+
description: 'The number of epochs in which this node successfully submitted at least one attestation',
|
|
1337
|
+
valueType: ValueType.INT
|
|
1338
|
+
};
|
|
1078
1339
|
export const NODEJS_EVENT_LOOP_DELAY_MIN = {
|
|
1079
1340
|
name: 'nodejs.eventloop.delay.min',
|
|
1080
1341
|
description: 'Minimum delay of the event loop',
|
|
@@ -1222,6 +1483,28 @@ export const TX_FILE_STORE_QUEUE_SIZE = {
|
|
|
1222
1483
|
description: 'Number of txs pending upload',
|
|
1223
1484
|
valueType: ValueType.INT
|
|
1224
1485
|
};
|
|
1486
|
+
export const TX_FILE_STORE_DOWNLOADS_SUCCESS = {
|
|
1487
|
+
name: 'aztec.p2p.tx_file_store.downloads_success',
|
|
1488
|
+
description: 'Number of successful tx downloads from file storage',
|
|
1489
|
+
valueType: ValueType.INT
|
|
1490
|
+
};
|
|
1491
|
+
export const TX_FILE_STORE_DOWNLOADS_FAILED = {
|
|
1492
|
+
name: 'aztec.p2p.tx_file_store.downloads_failed',
|
|
1493
|
+
description: 'Number of failed tx downloads from file storage',
|
|
1494
|
+
valueType: ValueType.INT
|
|
1495
|
+
};
|
|
1496
|
+
export const TX_FILE_STORE_DOWNLOAD_DURATION = {
|
|
1497
|
+
name: 'aztec.p2p.tx_file_store.download_duration',
|
|
1498
|
+
description: 'Duration to download a tx from file storage',
|
|
1499
|
+
unit: 'ms',
|
|
1500
|
+
valueType: ValueType.INT
|
|
1501
|
+
};
|
|
1502
|
+
export const TX_FILE_STORE_DOWNLOAD_SIZE = {
|
|
1503
|
+
name: 'aztec.p2p.tx_file_store.download_size',
|
|
1504
|
+
description: 'Size of a downloaded tx from file storage',
|
|
1505
|
+
unit: 'By',
|
|
1506
|
+
valueType: ValueType.INT
|
|
1507
|
+
};
|
|
1225
1508
|
export const IVC_VERIFIER_TIME = {
|
|
1226
1509
|
name: 'aztec.ivc_verifier.time',
|
|
1227
1510
|
description: 'Duration to verify chonk proofs',
|
|
@@ -1269,3 +1552,50 @@ export const IVC_VERIFIER_AGG_DURATION_AVG = {
|
|
|
1269
1552
|
unit: 'ms',
|
|
1270
1553
|
valueType: ValueType.DOUBLE
|
|
1271
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,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbC5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL290ZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixLQUFLLE1BQU0sRUFBcUIsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRixPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBS1osS0FBSyxNQUFNLEVBQ1gsS0FBSyxjQUFjLEVBTXBCLE1BQU0sb0JBQW9CLENBQUM7QUFJNUIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFHTCxhQUFhLEVBRWIsS0FBSyxvQ0FBb0MsRUFFMUMsTUFBTSw0QkFBNEIsQ0FBQztBQUlwQyxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUl6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNuRSxPQUFPLEVBQTRCLDhCQUE4QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFHNUcsT0FBTyxLQUFLLEVBR1YsS0FBSyxFQUdMLGVBQWUsRUFFaEIsTUFBTSxnQkFBZ0IsQ0FBQztBQXlDeEIsTUFBTSxNQUFNLDBCQUEwQixHQUFHLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxLQUFLLG1CQUFtQixDQUFDO0FBRW5HLHFCQUFhLG1CQUFvQixZQUFXLGVBQWU7SUFPdkQsT0FBTyxDQUFDLFFBQVE7SUFDaEIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLGFBQWE7SUFDckIsT0FBTyxDQUFDLGNBQWM7SUFDdEIsT0FBTyxDQUFDLG9CQUFvQjtJQUM1QixPQUFPLENBQUMsR0FBRztJQVhiLFdBQVcsRUFBRSxXQUFXLEdBQUcsU0FBUyxDQUFDO0lBQ3JDLG9CQUFvQixFQUFFLG9CQUFvQixHQUFHLFNBQVMsQ0FBQztJQUN2RCxPQUFPLENBQUMsTUFBTSxDQUE4RDtJQUM1RSxPQUFPLENBQUMsT0FBTyxDQUFrRDtJQUVqRSxTQUFTLGFBQ0MsUUFBUSxFQUFFLFNBQVMsRUFDbkIsYUFBYSxFQUFFLGFBQWEsRUFDNUIsYUFBYSxFQUFFLGNBQWMsRUFDN0IsY0FBYyxFQUFFLGNBQWMsR0FBRyxTQUFTLEVBQzFDLG9CQUFvQixFQUFFLDhCQUE4QixHQUFHLFNBQVMsRUFDaEUsR0FBRyxFQUFFLE1BQU0sRUFDakI7SUFFSiwwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUVsRDtJQUVELDZCQUE2QixDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBRW5EO0lBRUQsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSyxDQVE1QjtJQUVELFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FPOUI7SUFFTSxLQUFLLFNBOEJYO0lBRU0sU0FBUyxZQUVmO0lBRVksS0FBSyxrQkFNakI7SUFFWSxJQUFJLGtCQWdCaEI7SUFFTSxlQUFlLElBQUksTUFBTSxHQUFHLFNBQVMsQ0FJM0M7SUFFTSx3QkFBd0IsQ0FBQyxZQUFZLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FLN0Q7SUFFRCxPQUFjLG1CQUFtQixDQUMvQixRQUFRLEVBQUUsU0FBUyxFQUNuQixTQUFTLEVBQUUsS0FBSyxDQUFDLG9DQUFvQyxDQUFDLEdBQ3JELGFBQWEsQ0E2SmY7SUFFRCxPQUFPLENBQUMsTUFBTSxDQUFDLHNCQUFzQjtJQXNFckMsT0FBYyxjQUFjLENBQUMsTUFBTSxFQUFFLHFCQUFxQixFQUFFLEdBQUcsRUFBRSxNQUFNLEdBQUcsbUJBQW1CLENBUTVGO0NBQ0YifQ==
|
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,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;
|
|
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"}
|