@aztec-labs/telemetry-client 6.0.0-nightly.20260829

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 (105) hide show
  1. package/dest/attributes.d.ts +143 -0
  2. package/dest/attributes.d.ts.map +1 -0
  3. package/dest/attributes.js +91 -0
  4. package/dest/bench.d.ts +34 -0
  5. package/dest/bench.d.ts.map +1 -0
  6. package/dest/bench.js +115 -0
  7. package/dest/config.d.ts +21 -0
  8. package/dest/config.d.ts.map +1 -0
  9. package/dest/config.js +85 -0
  10. package/dest/index.d.ts +12 -0
  11. package/dest/index.d.ts.map +1 -0
  12. package/dest/index.js +11 -0
  13. package/dest/json_rpc_server_metrics.d.ts +27 -0
  14. package/dest/json_rpc_server_metrics.d.ts.map +1 -0
  15. package/dest/json_rpc_server_metrics.js +154 -0
  16. package/dest/l1_metrics.d.ts +17 -0
  17. package/dest/l1_metrics.d.ts.map +1 -0
  18. package/dest/l1_metrics.js +54 -0
  19. package/dest/lmdb_metrics.d.ts +18 -0
  20. package/dest/lmdb_metrics.d.ts.map +1 -0
  21. package/dest/lmdb_metrics.js +34 -0
  22. package/dest/metric-utils.d.ts +24 -0
  23. package/dest/metric-utils.d.ts.map +1 -0
  24. package/dest/metric-utils.js +59 -0
  25. package/dest/metrics.d.ts +338 -0
  26. package/dest/metrics.d.ts.map +1 -0
  27. package/dest/metrics.js +1702 -0
  28. package/dest/monitored_batch_span_processor.d.ts +33 -0
  29. package/dest/monitored_batch_span_processor.d.ts.map +1 -0
  30. package/dest/monitored_batch_span_processor.js +111 -0
  31. package/dest/nodejs_metrics_monitor.d.ts +19 -0
  32. package/dest/nodejs_metrics_monitor.d.ts.map +1 -0
  33. package/dest/nodejs_metrics_monitor.js +115 -0
  34. package/dest/noop.d.ts +19 -0
  35. package/dest/noop.d.ts.map +1 -0
  36. package/dest/noop.js +104 -0
  37. package/dest/otel.d.ts +43 -0
  38. package/dest/otel.d.ts.map +1 -0
  39. package/dest/otel.js +537 -0
  40. package/dest/otel_filter_metric_exporter.d.ts +20 -0
  41. package/dest/otel_filter_metric_exporter.d.ts.map +1 -0
  42. package/dest/otel_filter_metric_exporter.js +67 -0
  43. package/dest/otel_logger_provider.d.ts +4 -0
  44. package/dest/otel_logger_provider.d.ts.map +1 -0
  45. package/dest/otel_logger_provider.js +25 -0
  46. package/dest/otel_propagation.d.ts +6 -0
  47. package/dest/otel_propagation.d.ts.map +1 -0
  48. package/dest/otel_propagation.js +102 -0
  49. package/dest/otel_resource.d.ts +3 -0
  50. package/dest/otel_resource.d.ts.map +1 -0
  51. package/dest/otel_resource.js +53 -0
  52. package/dest/prom_otel_adapter.d.ts +176 -0
  53. package/dest/prom_otel_adapter.d.ts.map +1 -0
  54. package/dest/prom_otel_adapter.js +292 -0
  55. package/dest/start.d.ts +7 -0
  56. package/dest/start.d.ts.map +1 -0
  57. package/dest/start.js +25 -0
  58. package/dest/telemetry.d.ts +149 -0
  59. package/dest/telemetry.d.ts.map +1 -0
  60. package/dest/telemetry.js +139 -0
  61. package/dest/vendor/attributes.d.ts +6 -0
  62. package/dest/vendor/attributes.d.ts.map +1 -0
  63. package/dest/vendor/attributes.js +6 -0
  64. package/dest/vendor/otel-pino-stream.d.ts +40 -0
  65. package/dest/vendor/otel-pino-stream.d.ts.map +1 -0
  66. package/dest/vendor/otel-pino-stream.js +229 -0
  67. package/dest/with_tracer.d.ts +33 -0
  68. package/dest/with_tracer.d.ts.map +1 -0
  69. package/dest/with_tracer.js +32 -0
  70. package/dest/wrappers/fetch.d.ts +16 -0
  71. package/dest/wrappers/fetch.d.ts.map +1 -0
  72. package/dest/wrappers/fetch.js +42 -0
  73. package/dest/wrappers/index.d.ts +3 -0
  74. package/dest/wrappers/index.d.ts.map +1 -0
  75. package/dest/wrappers/index.js +2 -0
  76. package/dest/wrappers/json_rpc_server.d.ts +4 -0
  77. package/dest/wrappers/json_rpc_server.d.ts.map +1 -0
  78. package/dest/wrappers/json_rpc_server.js +16 -0
  79. package/package.json +95 -0
  80. package/src/attributes.ts +174 -0
  81. package/src/bench.ts +168 -0
  82. package/src/config.ts +135 -0
  83. package/src/index.ts +11 -0
  84. package/src/json_rpc_server_metrics.ts +150 -0
  85. package/src/l1_metrics.ts +64 -0
  86. package/src/lmdb_metrics.ts +45 -0
  87. package/src/metric-utils.ts +75 -0
  88. package/src/metrics.ts +1802 -0
  89. package/src/monitored_batch_span_processor.ts +147 -0
  90. package/src/nodejs_metrics_monitor.ts +135 -0
  91. package/src/noop.ts +152 -0
  92. package/src/otel.ts +482 -0
  93. package/src/otel_filter_metric_exporter.ts +80 -0
  94. package/src/otel_logger_provider.ts +31 -0
  95. package/src/otel_propagation.ts +107 -0
  96. package/src/otel_resource.ts +71 -0
  97. package/src/prom_otel_adapter.ts +450 -0
  98. package/src/start.ts +42 -0
  99. package/src/telemetry.ts +348 -0
  100. package/src/vendor/attributes.ts +6 -0
  101. package/src/vendor/otel-pino-stream.ts +279 -0
  102. package/src/with_tracer.ts +35 -0
  103. package/src/wrappers/fetch.ts +50 -0
  104. package/src/wrappers/index.ts +2 -0
  105. package/src/wrappers/json_rpc_server.ts +26 -0
@@ -0,0 +1,1702 @@
1
+ /**
2
+ * @file Metric names used in Aztec.
3
+ * Metric names must be unique and not clash with {@link attributes.ts | Attribute names}.
4
+ * Prefix metric names with `aztec` and use dots `.` to separate namespaces.
5
+ *
6
+ * @see {@link https://opentelemetry.io/docs/specs/semconv/general/metrics/ | OpenTelemetry Metrics} for naming conventions.
7
+ */ import { ValueType } from '@opentelemetry/api';
8
+ export const JSON_RPC_SERVER_REQUEST_COUNT = {
9
+ name: 'aztec.json_rpc.server.request_count',
10
+ description: 'Number of completed JSON-RPC server requests',
11
+ valueType: ValueType.INT
12
+ };
13
+ export const JSON_RPC_SERVER_REQUEST_DURATION = {
14
+ name: 'aztec.json_rpc.server.request_duration',
15
+ description: 'JSON-RPC server request handler duration',
16
+ unit: 'ms',
17
+ valueType: ValueType.DOUBLE
18
+ };
19
+ export const JSON_RPC_SERVER_REQUEST_VALIDATION_DURATION = {
20
+ name: 'aztec.json_rpc.server.request_validation_duration',
21
+ description: 'JSON-RPC server request parameter validation duration',
22
+ unit: 'ms',
23
+ valueType: ValueType.DOUBLE
24
+ };
25
+ export const JSON_RPC_SERVER_REJECTED_REQUEST_COUNT = {
26
+ name: 'aztec.json_rpc.server.rejected_request_count',
27
+ description: 'Number of JSON-RPC requests rejected before handler dispatch',
28
+ valueType: ValueType.INT
29
+ };
30
+ export const JSON_RPC_SERVER_BATCH_COUNT = {
31
+ name: 'aztec.json_rpc.server.batch_count',
32
+ description: 'Number of JSON-RPC batches received',
33
+ valueType: ValueType.INT
34
+ };
35
+ export const JSON_RPC_SERVER_BATCH_DURATION = {
36
+ name: 'aztec.json_rpc.server.batch_duration',
37
+ description: 'JSON-RPC batch processing duration',
38
+ unit: 'ms',
39
+ valueType: ValueType.DOUBLE
40
+ };
41
+ export const JSON_RPC_SERVER_BATCH_SIZE = {
42
+ name: 'aztec.json_rpc.server.batch_size',
43
+ description: 'Number of requests in a JSON-RPC batch',
44
+ unit: 'requests',
45
+ valueType: ValueType.INT
46
+ };
47
+ export const BLOB_SINK_STORE_REQUESTS = {
48
+ name: 'aztec.blob_sink.store_request_count',
49
+ description: 'Number of blob store requests',
50
+ valueType: ValueType.INT
51
+ };
52
+ export const BLOB_SINK_RETRIEVE_REQUESTS = {
53
+ name: 'aztec.blob_sink.retrieve_request_count',
54
+ description: 'Number of blob retrieve requests',
55
+ valueType: ValueType.INT
56
+ };
57
+ export const BLOB_SINK_OBJECTS_IN_BLOB_STORE = {
58
+ name: 'aztec.blob_sink.objects_in_blob_store',
59
+ description: 'Number of objects in the blob store',
60
+ valueType: ValueType.INT
61
+ };
62
+ export const BLOB_SINK_BLOB_SIZE = {
63
+ name: 'aztec.blob_sink.blob_size',
64
+ description: 'Size of blobs',
65
+ unit: 'By',
66
+ valueType: ValueType.INT
67
+ };
68
+ export const BLOB_SINK_ARCHIVE_BLOB_REQUEST_COUNT = {
69
+ name: 'aztec.blob_sink.archive.block_request_count',
70
+ description: 'Number of archive blob requests',
71
+ valueType: ValueType.INT
72
+ };
73
+ export const BLOB_SINK_ARCHIVE_BLOCK_REQUEST_COUNT = {
74
+ name: 'aztec.blob_sink.archive.blob_request_count',
75
+ description: 'Number of archive block requests',
76
+ valueType: ValueType.INT
77
+ };
78
+ export const BLOB_SINK_ARCHIVE_BLOB_COUNT = {
79
+ name: 'aztec.blob_sink.archive.blob_count',
80
+ description: 'Number of blobs in archive',
81
+ valueType: ValueType.INT
82
+ };
83
+ export const CIRCUIT_SIMULATION_DURATION = {
84
+ name: 'aztec.circuit.simulation.duration',
85
+ description: 'Records how long it takes to simulate a circuit',
86
+ unit: 'ms',
87
+ valueType: ValueType.INT
88
+ };
89
+ export const CIRCUIT_SIMULATION_INPUT_SIZE = {
90
+ name: 'aztec.circuit.simulation.input_size',
91
+ description: 'Size of the input to the circuit simulation',
92
+ unit: 'By',
93
+ valueType: ValueType.INT
94
+ };
95
+ export const CIRCUIT_SIMULATION_OUTPUT_SIZE = {
96
+ name: 'aztec.circuit.simulation.output_size',
97
+ description: 'Size of the output of the circuit simulation',
98
+ unit: 'By',
99
+ valueType: ValueType.INT
100
+ };
101
+ export const CIRCUIT_WITNESS_GEN_DURATION = {
102
+ name: 'aztec.circuit.witness_generation.duration',
103
+ description: 'Records how long it takes to generate the partial witness for a circuit',
104
+ unit: 's',
105
+ valueType: ValueType.DOUBLE
106
+ };
107
+ export const CIRCUIT_WITNESS_GEN_INPUT_SIZE = {
108
+ name: 'aztec.circuit.witness_generation.input_size',
109
+ description: 'Records the size of the input to the witness generation',
110
+ unit: 'By',
111
+ valueType: ValueType.INT
112
+ };
113
+ export const CIRCUIT_WITNESS_GEN_OUTPUT_SIZE = {
114
+ name: 'aztec.circuit.witness_generation.output_size',
115
+ description: 'Records the size of the output of the witness generation',
116
+ unit: 'By',
117
+ valueType: ValueType.INT
118
+ };
119
+ export const CIRCUIT_PROVING_DURATION = {
120
+ name: 'aztec.circuit.proving.duration',
121
+ description: 'Records how long it takes to prove a circuit',
122
+ unit: 's',
123
+ valueType: ValueType.DOUBLE
124
+ };
125
+ export const CIRCUIT_PROVING_INPUT_SIZE = {
126
+ name: 'aztec.circuit.proving.input_size',
127
+ description: 'Size of the input to the circuit proving',
128
+ unit: 'By',
129
+ valueType: ValueType.INT
130
+ };
131
+ export const CIRCUIT_PROVING_PROOF_SIZE = {
132
+ name: 'aztec.circuit.proving.proof_size',
133
+ description: 'Records the size of the proof generated for a circuit',
134
+ unit: 'By',
135
+ valueType: ValueType.INT
136
+ };
137
+ export const CIRCUIT_PUBLIC_INPUTS_COUNT = {
138
+ name: 'aztec.circuit.public_inputs_count',
139
+ description: 'Records the number of public inputs in a circuit',
140
+ valueType: ValueType.INT
141
+ };
142
+ export const CIRCUIT_GATE_COUNT = {
143
+ name: 'aztec.circuit.gate_count',
144
+ description: 'Records the gate count of a circuit',
145
+ valueType: ValueType.INT
146
+ };
147
+ export const CIRCUIT_SIZE = {
148
+ name: 'aztec.circuit.size',
149
+ description: 'Records the size of the circuit in gates',
150
+ valueType: ValueType.INT
151
+ };
152
+ export const MEMPOOL_TX_COUNT = {
153
+ name: 'aztec.mempool.tx_count',
154
+ description: 'The current number of transactions in the mempool',
155
+ valueType: ValueType.INT
156
+ };
157
+ export const MEMPOOL_TX_SIZE = {
158
+ name: 'aztec.mempool.tx_size',
159
+ description: 'The size of transactions in the mempool',
160
+ unit: 'By',
161
+ valueType: ValueType.INT
162
+ };
163
+ export const MEMPOOL_TX_ADDED_COUNT = {
164
+ name: 'aztec.mempool.tx_added_count',
165
+ description: 'The number of transactions added to the mempool',
166
+ valueType: ValueType.INT
167
+ };
168
+ export const MEMPOOL_TX_MINED_DELAY = {
169
+ name: 'aztec.mempool.tx_mined_delay',
170
+ description: 'Delay (ms) from a transaction being received into the pool to being mined',
171
+ unit: 'ms',
172
+ valueType: ValueType.INT
173
+ };
174
+ export const MEMPOOL_TX_POOL_V2_EVICTED_COUNT = {
175
+ name: 'aztec.mempool.tx_pool_v2.evicted_count',
176
+ description: 'The number of transactions evicted from the tx pool',
177
+ valueType: ValueType.INT
178
+ };
179
+ export const MEMPOOL_TX_POOL_V2_IGNORED_COUNT = {
180
+ name: 'aztec.mempool.tx_pool_v2.ignored_count',
181
+ description: 'The number of transactions ignored in addPendingTxs',
182
+ valueType: ValueType.INT
183
+ };
184
+ export const MEMPOOL_TX_POOL_V2_REJECTED_COUNT = {
185
+ name: 'aztec.mempool.tx_pool_v2.rejected_count',
186
+ description: 'The number of transactions rejected in addPendingTxs',
187
+ valueType: ValueType.INT
188
+ };
189
+ export const MEMPOOL_TX_POOL_V2_SOFT_DELETED_HITS = {
190
+ name: 'aztec.mempool.tx_pool_v2.soft_deleted_hits',
191
+ description: 'The number of transactions found in the soft-deleted pool',
192
+ valueType: ValueType.INT
193
+ };
194
+ export const MEMPOOL_TX_POOL_V2_MISSING_ON_PROTECT = {
195
+ name: 'aztec.mempool.tx_pool_v2.missing_on_protect',
196
+ description: 'The number of truly missing transactions in protectTxs',
197
+ valueType: ValueType.INT
198
+ };
199
+ export const MEMPOOL_TX_POOL_V2_MISSING_PREVIOUSLY_EVICTED = {
200
+ name: 'aztec.mempool.tx_pool_v2.missing_previously_evicted',
201
+ description: 'The number of truly missing transactions in protectTxs that were previously evicted',
202
+ valueType: ValueType.INT
203
+ };
204
+ export const MEMPOOL_TX_POOL_V2_METADATA_MEMORY = {
205
+ name: 'aztec.mempool.tx_pool_v2.metadata_memory',
206
+ description: 'Estimated total memory consumed by in-memory transaction metadata',
207
+ unit: 'By',
208
+ valueType: ValueType.INT
209
+ };
210
+ export const MEMPOOL_TX_POOL_V2_QUEUE_WAIT = {
211
+ name: 'aztec.mempool.tx_pool_v2.queue_wait',
212
+ description: 'Time an operation waits in the tx pool serial queue before executing, keyed by mempool.operation',
213
+ unit: 'ms',
214
+ valueType: ValueType.INT
215
+ };
216
+ export const MEMPOOL_TX_POOL_V2_QUEUE_EXECUTION = {
217
+ name: 'aztec.mempool.tx_pool_v2.queue_execution',
218
+ description: 'Time an operation spends executing in the tx pool serial queue, keyed by mempool.operation',
219
+ unit: 'ms',
220
+ valueType: ValueType.INT
221
+ };
222
+ export const MEMPOOL_TX_POOL_V2_QUEUE_LENGTH = {
223
+ name: 'aztec.mempool.tx_pool_v2.queue_length',
224
+ description: 'Number of operations waiting in the tx pool serial queue',
225
+ valueType: ValueType.INT
226
+ };
227
+ export const MEMPOOL_TX_POOL_V2_DUPLICATE_ADD = {
228
+ name: 'aztec.mempool.tx_pool_v2.duplicate_add',
229
+ description: 'Transactions received via addPendingTxs that were already in the pool',
230
+ valueType: ValueType.INT
231
+ };
232
+ export const MEMPOOL_TX_POOL_V2_ALREADY_PROTECTED_ADD = {
233
+ name: 'aztec.mempool.tx_pool_v2.already_protected_add',
234
+ description: 'Transactions received via addPendingTxs that were already pre-protected',
235
+ valueType: ValueType.INT
236
+ };
237
+ export const DB_NUM_ITEMS = {
238
+ name: 'aztec.db.num_items',
239
+ description: 'LMDB Num Items',
240
+ valueType: ValueType.INT
241
+ };
242
+ export const DB_MAP_SIZE = {
243
+ name: 'aztec.db.map_size',
244
+ description: 'LMDB Map Size',
245
+ unit: 'By',
246
+ valueType: ValueType.INT
247
+ };
248
+ export const DB_PHYSICAL_FILE_SIZE = {
249
+ name: 'aztec.db.physical_file_size',
250
+ description: 'LMDB Physical File Size',
251
+ unit: 'By',
252
+ valueType: ValueType.INT
253
+ };
254
+ export const DB_USED_SIZE = {
255
+ name: 'aztec.db.used_size',
256
+ description: 'LMDB Used Size',
257
+ unit: 'By',
258
+ valueType: ValueType.INT
259
+ };
260
+ export const MEMPOOL_ATTESTATIONS_COUNT = {
261
+ name: 'aztec.mempool.attestations_count',
262
+ description: 'The current number of attestations in the mempool',
263
+ valueType: ValueType.INT
264
+ };
265
+ export const MEMPOOL_ATTESTATIONS_SIZE = {
266
+ name: 'aztec.mempool.attestations_size',
267
+ description: 'The size of attestations in the mempool',
268
+ unit: 'By',
269
+ valueType: ValueType.INT
270
+ };
271
+ export const MEMPOOL_ATTESTATIONS_ADDED_COUNT = {
272
+ name: 'aztec.mempool.attestations_added_count',
273
+ description: 'The number of attestations added to the mempool',
274
+ valueType: ValueType.INT
275
+ };
276
+ export const MEMPOOL_ATTESTATIONS_MINED_DELAY = {
277
+ name: 'aztec.mempool.attestations_mined_delay',
278
+ description: 'Delay between attestation added and evicted from the mempool',
279
+ unit: 'ms',
280
+ valueType: ValueType.INT
281
+ };
282
+ export const ARCHIVER_L1_BLOCK_HEIGHT = {
283
+ name: 'aztec.archiver.l1_block_height',
284
+ description: 'The height of the latest L1 block processed by the archiver',
285
+ valueType: ValueType.INT
286
+ };
287
+ export const ARCHIVER_BLOCK_HEIGHT = {
288
+ name: 'aztec.archiver.block_height',
289
+ description: 'The height of the latest block processed by the archiver',
290
+ valueType: ValueType.INT
291
+ };
292
+ export const ARCHIVER_CHECKPOINT_HEIGHT = {
293
+ name: 'aztec.archiver.checkpoint_height',
294
+ description: 'The height of the latest checkpoint processed by the archiver',
295
+ valueType: ValueType.INT
296
+ };
297
+ export const ARCHIVER_ROLLUP_PROOF_DELAY = {
298
+ name: 'aztec.archiver.rollup_proof_delay',
299
+ description: 'Time after a block is submitted until its proof is published',
300
+ unit: 'ms',
301
+ valueType: ValueType.INT
302
+ };
303
+ export const ARCHIVER_ROLLUP_PROOF_COUNT = {
304
+ name: 'aztec.archiver.rollup_proof_count',
305
+ description: 'Number of proofs submitted',
306
+ valueType: ValueType.INT
307
+ };
308
+ export const ARCHIVER_MANA_PER_BLOCK = {
309
+ name: 'aztec.archiver.block.mana_count',
310
+ description: 'The mana consumed by blocks',
311
+ unit: 'Mmana',
312
+ valueType: ValueType.DOUBLE
313
+ };
314
+ export const ARCHIVER_TXS_PER_BLOCK = {
315
+ name: 'aztec.archiver.block.tx_count',
316
+ description: 'The block tx count',
317
+ unit: 'tx',
318
+ valueType: ValueType.INT
319
+ };
320
+ export const ARCHIVER_SYNC_PER_BLOCK = {
321
+ name: 'aztec.archiver.block.sync_per_item_duration',
322
+ description: 'Duration to sync a block',
323
+ unit: 'ms',
324
+ valueType: ValueType.INT
325
+ };
326
+ export const ARCHIVER_SYNC_PER_CHECKPOINT = {
327
+ name: 'aztec.archiver.checkpoint.sync_per_item_duration',
328
+ description: 'Duration to sync a checkpoint',
329
+ unit: 'ms',
330
+ valueType: ValueType.INT
331
+ };
332
+ export const ARCHIVER_SYNC_BLOCK_COUNT = {
333
+ name: 'aztec.archiver.block.sync_count',
334
+ description: 'Number of blocks synced from L1',
335
+ valueType: ValueType.INT
336
+ };
337
+ export const ARCHIVER_SYNC_PER_MESSAGE = {
338
+ name: 'aztec.archiver.message.sync_per_item_duration',
339
+ description: 'Duration to sync a message',
340
+ unit: 'ms',
341
+ valueType: ValueType.INT
342
+ };
343
+ export const ARCHIVER_SYNC_MESSAGE_COUNT = {
344
+ name: 'aztec.archiver.message.sync_count',
345
+ description: 'Number of L1 to L2 messages synced',
346
+ valueType: ValueType.INT
347
+ };
348
+ export const ARCHIVER_PRUNE_DURATION = {
349
+ name: 'aztec.archiver.prune_duration',
350
+ description: 'Duration of a prune operation',
351
+ unit: 'ms',
352
+ valueType: ValueType.INT
353
+ };
354
+ export const ARCHIVER_PRUNE_COUNT = {
355
+ name: 'aztec.archiver.prune_count',
356
+ description: 'Number of prunes detected, dimensioned by prune_type: unproven (epoch prune of checkpoints that will not be proven), uncheckpointed (proposed blocks whose slot ended without a checkpoint), l1_conflict (proposed blocks conflicting with an L1 checkpoint), orphan (proposed blocks whose matching proposed checkpoint never arrived before the deadline), and l1_mismatch (the local checkpointed tip diverged from L1 — an L1 reorg or a pruned/missed-proof checkpoint — rewinding already-checkpointed blocks).',
357
+ valueType: ValueType.INT
358
+ };
359
+ export const ARCHIVER_TOTAL_TXS = {
360
+ name: 'aztec.archiver.tx_count',
361
+ description: 'The total number of transactions',
362
+ valueType: ValueType.INT
363
+ };
364
+ export const ARCHIVER_BLOCK_PROPOSAL_TX_TARGET_COUNT = {
365
+ name: 'aztec.archiver.block_proposal_tx_target_count',
366
+ description: 'Number of block proposals by tx target',
367
+ valueType: ValueType.INT
368
+ };
369
+ export const ARCHIVER_CHECKPOINT_L1_INCLUSION_DELAY = {
370
+ name: 'aztec.archiver.checkpoint_l1_inclusion_delay',
371
+ description: 'Seconds into the L2 slot when the checkpoint L1 tx was included',
372
+ unit: 's',
373
+ valueType: ValueType.INT
374
+ };
375
+ export const ARCHIVER_CHECKPOINT_PROMOTED_COUNT = {
376
+ name: 'aztec.archiver.checkpoint_promoted_count',
377
+ description: 'Number of checkpoints promoted from proposed (blob fetch skipped)',
378
+ valueType: ValueType.INT
379
+ };
380
+ export const NODE_RECEIVE_TX_DURATION = {
381
+ name: 'aztec.node.receive_tx.duration',
382
+ description: 'The duration of the receiveTx method',
383
+ unit: 'ms',
384
+ valueType: ValueType.INT
385
+ };
386
+ export const NODE_RECEIVE_TX_COUNT = {
387
+ name: 'aztec.node.receive_tx.count',
388
+ description: 'Number of transactions received',
389
+ valueType: ValueType.INT
390
+ };
391
+ export const NODE_SNAPSHOT_DURATION = {
392
+ name: 'aztec.node.snapshot_duration',
393
+ description: 'How long taking a snapshot takes',
394
+ unit: 'ms',
395
+ valueType: ValueType.INT
396
+ };
397
+ export const NODE_SNAPSHOT_ERROR_COUNT = {
398
+ name: 'aztec.node.snapshot_error_count',
399
+ description: 'How many snapshot errors have happened',
400
+ valueType: ValueType.INT
401
+ };
402
+ export const SEQUENCER_STATE_TRANSITION_BUFFER_DURATION = {
403
+ name: 'aztec.sequencer.state_transition_buffer.duration',
404
+ description: 'The time difference between when the sequencer needed to transition to a new state and when it actually did',
405
+ unit: 'ms',
406
+ valueType: ValueType.INT
407
+ };
408
+ export const SEQUENCER_STATE_DURATION = {
409
+ name: 'aztec.sequencer.state_duration',
410
+ description: 'Wall-clock time spent in each sequencer state, labelled by the state being left',
411
+ unit: 'ms',
412
+ valueType: ValueType.INT
413
+ };
414
+ export const SEQUENCER_BLOCK_BUILD_DURATION = {
415
+ name: 'aztec.sequencer.block.build_duration',
416
+ description: 'Duration to build a block',
417
+ unit: 'ms',
418
+ valueType: ValueType.INT
419
+ };
420
+ export const SEQUENCER_BLOCK_BUILD_MANA_PER_SECOND = {
421
+ name: 'aztec.sequencer.block.build_mana_per_second',
422
+ description: 'Mana per second when building a block',
423
+ unit: 'mana/s',
424
+ valueType: ValueType.INT
425
+ };
426
+ export const SEQUENCER_BLOCK_COUNT = {
427
+ name: 'aztec.sequencer.block.count',
428
+ description: 'Number of blocks built by this sequencer',
429
+ valueType: ValueType.INT
430
+ };
431
+ export const SEQUENCER_BLOCK_INTER_BLOCK_TIME = {
432
+ name: 'aztec.sequencer.block.inter_block_time',
433
+ description: 'Wall-clock time elapsed between consecutive blocks being built by this sequencer',
434
+ unit: 'ms',
435
+ valueType: ValueType.INT
436
+ };
437
+ export const SEQUENCER_CURRENT_SLOT_REWARDS = {
438
+ name: 'aztec.sequencer.current_slot_rewards',
439
+ description: 'The rewards earned per filled slot',
440
+ valueType: ValueType.DOUBLE
441
+ };
442
+ export const SEQUENCER_SLOT_COUNT = {
443
+ name: 'aztec.sequencer.slot.total_count',
444
+ description: 'The number of slots this sequencer was selected for',
445
+ valueType: ValueType.INT
446
+ };
447
+ export const SEQUENCER_FILLED_SLOT_COUNT = {
448
+ name: 'aztec.sequencer.slot.filled_count',
449
+ description: 'The number of slots this sequencer has filled',
450
+ valueType: ValueType.INT
451
+ };
452
+ export const SEQUENCER_CHECKPOINT_ATTESTATION_DELAY = {
453
+ name: 'aztec.sequencer.checkpoint.attestation_delay',
454
+ description: 'The time difference between checkpoint proposal and minimal attestation count reached',
455
+ unit: 'ms',
456
+ valueType: ValueType.INT
457
+ };
458
+ export const SEQUENCER_COLLECTED_ATTESTATIONS_COUNT = {
459
+ name: 'aztec.sequencer.attestations.collected_count',
460
+ description: 'The number of attestations collected for a checkpoint proposal',
461
+ valueType: ValueType.INT
462
+ };
463
+ export const SEQUENCER_REQUIRED_ATTESTATIONS_COUNT = {
464
+ name: 'aztec.sequencer.attestations.required_count',
465
+ description: 'The minimum number of attestations required to publish a checkpoint',
466
+ valueType: ValueType.INT
467
+ };
468
+ export const SEQUENCER_COLLECT_ATTESTATIONS_DURATION = {
469
+ name: 'aztec.sequencer.attestations.collect_duration',
470
+ description: 'The time spent collecting attestations from committee members',
471
+ unit: 'ms',
472
+ valueType: ValueType.INT
473
+ };
474
+ export const SEQUENCER_COLLECT_ATTESTATIONS_TIME_ALLOWANCE = {
475
+ name: 'aztec.sequencer.attestations.collect_allowance',
476
+ description: 'Maximum amount of time to collect attestations',
477
+ unit: 'ms',
478
+ valueType: ValueType.INT
479
+ };
480
+ export const SEQUENCER_BLOCK_PROPOSAL_FAILED_COUNT = {
481
+ name: 'aztec.sequencer.block.proposal_failed_count',
482
+ description: 'The number of times block proposal failed (including validation builds)',
483
+ valueType: ValueType.INT
484
+ };
485
+ export const SEQUENCER_CHECKPOINT_PROPOSAL_SUCCESS_COUNT = {
486
+ name: 'aztec.sequencer.checkpoint.proposal_success_count',
487
+ description: 'The number of times checkpoint proposal succeeded',
488
+ valueType: ValueType.INT
489
+ };
490
+ export const SEQUENCER_CHECKPOINT_PRECHECK_FAILED_COUNT = {
491
+ name: 'aztec.sequencer.checkpoint.precheck_failed_count',
492
+ description: 'The number of times checkpoint pre-build checks failed',
493
+ valueType: ValueType.INT
494
+ };
495
+ export const SEQUENCER_CHECKPOINT_PROPOSAL_FAILED_COUNT = {
496
+ name: 'aztec.sequencer.checkpoint.proposal_failed_count',
497
+ description: 'The number of times checkpoint proposal failed',
498
+ valueType: ValueType.INT
499
+ };
500
+ export const SEQUENCER_CHECKPOINT_BUILD_DURATION = {
501
+ name: 'aztec.sequencer.checkpoint.build_duration',
502
+ description: 'Total duration to build all blocks in a checkpoint',
503
+ unit: 'ms',
504
+ valueType: ValueType.INT
505
+ };
506
+ export const SEQUENCER_CHECKPOINT_START_TO_FIRST_BLOCK_DURATION = {
507
+ name: 'aztec.sequencer.checkpoint.start_to_first_block_duration',
508
+ description: 'Time from starting checkpoint work to the first block finishing build',
509
+ unit: 'ms',
510
+ valueType: ValueType.INT
511
+ };
512
+ export const SEQUENCER_CHECKPOINT_LAST_BLOCK_TO_BROADCAST_DURATION = {
513
+ name: 'aztec.sequencer.checkpoint.last_block_to_broadcast_duration',
514
+ description: 'Time from the final block finishing build to the checkpoint proposal being broadcast',
515
+ unit: 'ms',
516
+ valueType: ValueType.INT
517
+ };
518
+ export const SEQUENCER_PIPELINED_CHECKPOINT_BUILD_START_OFFSET_FROM_SLOT_BOUNDARY = {
519
+ name: 'aztec.sequencer.pipelined_checkpoint.build_start_offset_from_slot_boundary',
520
+ 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.',
521
+ unit: 'ms',
522
+ valueType: ValueType.INT
523
+ };
524
+ export const SEQUENCER_CHECKPOINT_BLOCK_COUNT = {
525
+ name: 'aztec.sequencer.checkpoint.block_count',
526
+ description: 'Number of blocks built in a checkpoint',
527
+ valueType: ValueType.INT
528
+ };
529
+ export const SEQUENCER_CHECKPOINT_TX_COUNT = {
530
+ name: 'aztec.sequencer.checkpoint.tx_count',
531
+ description: 'Total number of transactions across all blocks in a checkpoint',
532
+ unit: 'tx',
533
+ valueType: ValueType.INT
534
+ };
535
+ export const SEQUENCER_CHECKPOINT_TOTAL_MANA = {
536
+ name: 'aztec.sequencer.checkpoint.total_mana',
537
+ description: 'Total L2 mana used across all blocks in a checkpoint',
538
+ unit: 'mana',
539
+ valueType: ValueType.INT
540
+ };
541
+ export const SEQUENCER_SLASHING_ATTEMPTS_COUNT = {
542
+ name: 'aztec.sequencer.slashing.attempts_count',
543
+ description: 'The number of slashing action attempts',
544
+ valueType: ValueType.INT
545
+ };
546
+ export const SLASHER_ROUND_EXECUTED_COUNT = {
547
+ name: 'aztec.slasher.round.executed_count',
548
+ description: 'The number of slashing rounds executed',
549
+ valueType: ValueType.INT
550
+ };
551
+ export const SLASHER_OWN_VALIDATOR_TARGETED_COUNT = {
552
+ name: 'aztec.slasher.own_validator.targeted_count',
553
+ description: "The number of times one of the node's own validators was named as a slash target by an onchain vote, counted " + 'once per vote per validator. Votes cast while the node is offline or starting up are not counted, and L1 ' + 'reorgs can cause small drift within a round.',
554
+ valueType: ValueType.INT
555
+ };
556
+ export const SLASHER_OWN_VALIDATOR_CURRENT_ROUND_VOTES_MAX = {
557
+ name: 'aztec.slasher.own_validator.current_round_votes_max',
558
+ description: "Highest number of votes cast against any committee position held by the node's own validators in the current " + 'slashing round, to compare against aztec.slasher.quorum_size (the contract tallies quorum per position). ' + 'Resets to zero when a new round starts. Votes cast while the node is offline or starting up are not counted, ' + 'and L1 reorgs can cause small drift within a round.',
559
+ valueType: ValueType.INT
560
+ };
561
+ export const SLASHER_QUORUM_SIZE = {
562
+ name: 'aztec.slasher.quorum_size',
563
+ description: 'The number of votes a validator must receive in a round to be slashed',
564
+ valueType: ValueType.INT
565
+ };
566
+ export const SLASHER_OWN_VALIDATOR_SLASHED_COUNT = {
567
+ name: 'aztec.slasher.own_validator.slashed_count',
568
+ description: "The number of times one of the node's own validators was slashed, from executed Slashed events",
569
+ valueType: ValueType.INT
570
+ };
571
+ export const SLASHER_OWN_VALIDATOR_SLASHED_AMOUNT = {
572
+ name: 'aztec.slasher.own_validator.slashed_amount',
573
+ description: "Cumulative amount slashed from the node's own validators in whole staking-asset tokens, from executed " + 'Slashed events',
574
+ unit: 'tokens',
575
+ valueType: ValueType.DOUBLE
576
+ };
577
+ export const SEQUENCER_CHECKPOINT_SUCCESS_COUNT = {
578
+ name: 'aztec.sequencer.checkpoint.success_count',
579
+ description: 'The number of times checkpoint publishing succeeded',
580
+ valueType: ValueType.INT
581
+ };
582
+ export const SEQUENCER_PIPELINE_DEPTH = {
583
+ name: 'aztec.sequencer.pipeline.depth',
584
+ description: 'Current pipeline depth when builder pipelining is enabled',
585
+ valueType: ValueType.INT
586
+ };
587
+ export const SEQUENCER_PIPELINE_DISCARDS_COUNT = {
588
+ name: 'aztec.sequencer.pipeline.discards_count',
589
+ description: 'The number of times a pipeline was discarded',
590
+ valueType: ValueType.INT
591
+ };
592
+ export const SEQUENCER_PIPELINE_PARENT_CHECKPOINT_MISMATCH_COUNT = {
593
+ name: 'aztec.sequencer.pipeline.parent_checkpoint_mismatch_count',
594
+ description: 'The number of times a pipelined checkpoint was discarded because the parent did not match expectations',
595
+ valueType: ValueType.INT
596
+ };
597
+ // Fisherman fee analysis metrics
598
+ export const FISHERMAN_FEE_ANALYSIS_WOULD_BE_INCLUDED = {
599
+ name: 'aztec.fisherman.fee_analysis.would_be_included',
600
+ description: 'Whether the transaction would have been included in the block',
601
+ valueType: ValueType.INT
602
+ };
603
+ export const FISHERMAN_FEE_ANALYSIS_TIME_BEFORE_BLOCK = {
604
+ name: 'aztec.fisherman.fee_analysis.time_before_block',
605
+ description: 'Time in ms between fee analysis and block being mined',
606
+ unit: 'ms',
607
+ valueType: ValueType.INT
608
+ };
609
+ export const FISHERMAN_FEE_ANALYSIS_PENDING_BLOB_TX_COUNT = {
610
+ name: 'aztec.fisherman.fee_analysis.pending_blob_tx_count',
611
+ description: 'Number of blob transactions seen in the pending block',
612
+ valueType: ValueType.INT
613
+ };
614
+ export const FISHERMAN_FEE_ANALYSIS_INCLUDED_BLOB_TX_COUNT = {
615
+ name: 'aztec.fisherman.fee_analysis.included_blob_tx_count',
616
+ description: 'Number of blob transactions that got included in the mined block',
617
+ valueType: ValueType.INT
618
+ };
619
+ export const FISHERMAN_FEE_ANALYSIS_CALCULATED_PRIORITY_FEE = {
620
+ name: 'aztec.fisherman.fee_analysis.calculated_priority_fee',
621
+ description: 'Priority fee calculated by each strategy',
622
+ unit: 'gwei',
623
+ valueType: ValueType.DOUBLE
624
+ };
625
+ export const FISHERMAN_FEE_ANALYSIS_PRIORITY_FEE_DELTA = {
626
+ name: 'aztec.fisherman.fee_analysis.priority_fee_delta',
627
+ description: 'Difference between our priority fee and minimum included priority fee',
628
+ unit: 'gwei',
629
+ valueType: ValueType.DOUBLE
630
+ };
631
+ export const FISHERMAN_FEE_ANALYSIS_ESTIMATED_COST = {
632
+ name: 'aztec.fisherman.fee_analysis.estimated_cost',
633
+ description: 'Estimated total cost in ETH for the transaction with this strategy',
634
+ unit: 'eth',
635
+ valueType: ValueType.DOUBLE
636
+ };
637
+ export const FISHERMAN_FEE_ANALYSIS_ESTIMATED_OVERPAYMENT = {
638
+ name: 'aztec.fisherman.fee_analysis.estimated_overpayment',
639
+ description: 'Estimated overpayment in ETH vs minimum required for inclusion',
640
+ unit: 'eth',
641
+ valueType: ValueType.DOUBLE
642
+ };
643
+ export const FISHERMAN_FEE_ANALYSIS_MINED_BLOB_TX_PRIORITY_FEE = {
644
+ name: 'aztec.fisherman.fee_analysis.mined_blob_tx_priority_fee',
645
+ description: 'Priority fee per gas for blob transactions in mined blocks',
646
+ unit: 'gwei',
647
+ valueType: ValueType.DOUBLE
648
+ };
649
+ export const FISHERMAN_FEE_ANALYSIS_MINED_BLOB_TX_TOTAL_COST = {
650
+ name: 'aztec.fisherman.fee_analysis.mined_blob_tx_total_cost',
651
+ description: 'Total cost in ETH for blob transactions in mined blocks',
652
+ unit: 'eth',
653
+ valueType: ValueType.DOUBLE
654
+ };
655
+ export const FISHERMAN_FEE_ANALYSIS_PENDING_BLOB_COUNT = {
656
+ name: 'aztec.fisherman.fee_analysis.pending_blob_count',
657
+ description: 'Total number of blobs in pending blob transactions',
658
+ unit: 'blobs',
659
+ valueType: ValueType.INT
660
+ };
661
+ export const FISHERMAN_FEE_ANALYSIS_INCLUDED_BLOB_COUNT = {
662
+ name: 'aztec.fisherman.fee_analysis.included_blob_count',
663
+ description: 'Total number of blobs included in the mined block',
664
+ unit: 'blobs',
665
+ valueType: ValueType.INT
666
+ };
667
+ export const FISHERMAN_FEE_ANALYSIS_BLOCK_BLOBS_FULL = {
668
+ name: 'aztec.fisherman.fee_analysis.block_blobs_full',
669
+ description: 'Whether the mined block reached 100% blob capacity',
670
+ valueType: ValueType.INT
671
+ };
672
+ export const FISHERMAN_FEE_ANALYSIS_MAX_BLOB_CAPACITY = {
673
+ name: 'aztec.fisherman.fee_analysis.max_blob_capacity',
674
+ description: 'Maximum blob capacity for the analyzed block based on L1 upgrade schedule',
675
+ unit: 'blobs',
676
+ valueType: ValueType.INT
677
+ };
678
+ export const VALIDATOR_INVALID_ATTESTATION_RECEIVED_COUNT = {
679
+ name: 'aztec.validator.invalid_attestation_received_count',
680
+ description: 'Number of invalid attestations received',
681
+ valueType: ValueType.INT
682
+ };
683
+ export const L1_PUBLISHER_GAS_PRICE = {
684
+ name: 'aztec.l1_publisher.gas_price',
685
+ description: 'The gas price used for transactions',
686
+ unit: 'gwei',
687
+ valueType: ValueType.DOUBLE
688
+ };
689
+ export const L1_PUBLISHER_TX_COUNT = {
690
+ name: 'aztec.l1_publisher.tx_count',
691
+ description: 'The number of transactions processed'
692
+ };
693
+ export const L1_PUBLISHER_TX_DURATION = {
694
+ name: 'aztec.l1_publisher.tx_duration',
695
+ description: 'The duration of transaction processing',
696
+ unit: 'ms',
697
+ valueType: ValueType.INT
698
+ };
699
+ export const L1_PUBLISHER_TX_GAS = {
700
+ name: 'aztec.l1_publisher.tx_gas',
701
+ description: 'The gas consumed by transactions',
702
+ unit: 'gas',
703
+ valueType: ValueType.INT
704
+ };
705
+ export const L1_PUBLISHER_TX_CALLDATA_SIZE = {
706
+ name: 'aztec.l1_publisher.tx_calldata_size',
707
+ description: 'The size of the calldata in transactions',
708
+ unit: 'By',
709
+ valueType: ValueType.INT
710
+ };
711
+ export const L1_PUBLISHER_TX_CALLDATA_GAS = {
712
+ name: 'aztec.l1_publisher.tx_calldata_gas',
713
+ description: 'The gas consumed by the calldata in transactions',
714
+ unit: 'gas',
715
+ valueType: ValueType.INT
716
+ };
717
+ export const L1_PUBLISHER_TX_BLOBDATA_GAS_USED = {
718
+ name: 'aztec.l1_publisher.tx_blobdata_gas_used',
719
+ description: 'The amount of blob gas used in transactions',
720
+ unit: 'gas',
721
+ valueType: ValueType.INT
722
+ };
723
+ export const L1_PUBLISHER_TX_BLOBDATA_GAS_COST = {
724
+ name: 'aztec.l1_publisher.tx_blobdata_gas_cost',
725
+ description: 'The gas cost of blobs in transactions',
726
+ unit: 'gwei',
727
+ valueType: ValueType.INT
728
+ };
729
+ export const L1_PUBLISHER_BLOB_COUNT = {
730
+ name: 'aztec.l1_publisher.blob_count',
731
+ description: 'Number of blobs in L1 transactions',
732
+ unit: 'blobs',
733
+ valueType: ValueType.INT
734
+ };
735
+ export const L1_PUBLISHER_BLOB_INCLUSION_BLOCKS = {
736
+ name: 'aztec.l1_publisher.blob_inclusion_blocks',
737
+ description: 'Number of L1 blocks between blob tx submission and inclusion',
738
+ unit: 'blocks',
739
+ valueType: ValueType.INT
740
+ };
741
+ export const L1_PUBLISHER_BLOB_TX_SUCCESS = {
742
+ name: 'aztec.l1_publisher.blob_tx_success',
743
+ description: 'Number of successful L1 transactions with blobs'
744
+ };
745
+ export const L1_PUBLISHER_BLOB_TX_FAILURE = {
746
+ name: 'aztec.l1_publisher.blob_tx_failure',
747
+ description: 'Number of failed L1 transactions with blobs'
748
+ };
749
+ export const L1_PUBLISHER_BALANCE = {
750
+ name: 'aztec.l1_publisher.balance',
751
+ description: 'The balance of the sender address',
752
+ unit: 'eth',
753
+ valueType: ValueType.DOUBLE
754
+ };
755
+ export const L1_PUBLISHER_TX_TOTAL_FEE = {
756
+ name: 'aztec.l1_publisher.tx_total_fee',
757
+ description: 'How much L1 tx costs',
758
+ unit: 'eth',
759
+ valueType: ValueType.DOUBLE
760
+ };
761
+ export const PROVER_NODE_ESTIMATED_SUBMISSION_GAS = {
762
+ name: 'aztec.prover_node.estimated_submission.gas',
763
+ description: 'Estimated gas for a proof submission tx (proof publishing disabled, not actually sent)',
764
+ unit: 'gas',
765
+ valueType: ValueType.INT
766
+ };
767
+ export const PROVER_NODE_ESTIMATED_SUBMISSION_GAS_PRICE = {
768
+ name: 'aztec.prover_node.estimated_submission.gas_price',
769
+ description: 'Estimated effective gas price for a proof submission tx (proof publishing disabled, not actually sent)',
770
+ unit: 'gwei',
771
+ valueType: ValueType.DOUBLE
772
+ };
773
+ export const PROVER_NODE_ESTIMATED_SUBMISSION_TOTAL_FEE = {
774
+ name: 'aztec.prover_node.estimated_submission.total_fee',
775
+ description: 'Estimated total L1 fee for a proof submission tx (proof publishing disabled, not actually sent)',
776
+ unit: 'eth',
777
+ valueType: ValueType.DOUBLE
778
+ };
779
+ export const L1_BLOCK_HEIGHT = {
780
+ name: 'aztec.l1.block_height',
781
+ description: 'The current L1 block height',
782
+ valueType: ValueType.INT
783
+ };
784
+ export const L1_BALANCE_ETH = {
785
+ name: 'aztec.l1.balance',
786
+ description: 'ETH balance of an address',
787
+ unit: 'eth',
788
+ valueType: ValueType.DOUBLE
789
+ };
790
+ export const L1_GAS_PRICE_WEI = {
791
+ name: 'aztec.l1.gas_price',
792
+ description: 'Current L1 gas price',
793
+ unit: 'wei',
794
+ valueType: ValueType.INT
795
+ };
796
+ export const L1_BLOB_BASE_FEE_WEI = {
797
+ name: 'aztec.l1.blob_base_fee',
798
+ description: 'Current L1 blob base fee',
799
+ unit: 'wei',
800
+ valueType: ValueType.INT
801
+ };
802
+ export const L1_TX_MINED_DURATION = {
803
+ name: 'aztec.l1_tx.mined_duration',
804
+ description: 'Duration from L1 tx submission to mining',
805
+ unit: 'ms',
806
+ valueType: ValueType.INT
807
+ };
808
+ export const L1_TX_MINED_COUNT = {
809
+ name: 'aztec.l1_tx.mined_count',
810
+ description: 'Number of L1 transactions mined',
811
+ valueType: ValueType.INT
812
+ };
813
+ export const L1_TX_REVERTED_COUNT = {
814
+ name: 'aztec.l1_tx.reverted_count',
815
+ description: 'Number of L1 transactions reverted',
816
+ valueType: ValueType.INT
817
+ };
818
+ export const L1_TX_CANCELLED_COUNT = {
819
+ name: 'aztec.l1_tx.cancelled_count',
820
+ description: 'Number of L1 transactions cancelled',
821
+ valueType: ValueType.INT
822
+ };
823
+ export const L1_TX_NOT_MINED_COUNT = {
824
+ name: 'aztec.l1_tx.not_mined_count',
825
+ description: 'Number of L1 transactions not mined',
826
+ valueType: ValueType.INT
827
+ };
828
+ export const L1_TX_ATTEMPTS_UNTIL_MINED = {
829
+ name: 'aztec.l1_tx.attempts_until_mined',
830
+ description: 'Number of attempts until L1 tx was mined',
831
+ valueType: ValueType.INT
832
+ };
833
+ export const L1_TX_MAX_PRIORITY_FEE = {
834
+ name: 'aztec.l1_tx.max_priority_fee',
835
+ description: 'Max priority fee used for L1 tx',
836
+ unit: 'gwei',
837
+ valueType: ValueType.DOUBLE
838
+ };
839
+ export const L1_TX_MAX_FEE = {
840
+ name: 'aztec.l1_tx.max_fee',
841
+ description: 'Max fee used for L1 tx',
842
+ unit: 'gwei',
843
+ valueType: ValueType.DOUBLE
844
+ };
845
+ export const L1_TX_BLOB_FEE = {
846
+ name: 'aztec.l1_tx.blob_fee',
847
+ description: 'Blob fee used for L1 tx',
848
+ unit: 'gwei',
849
+ valueType: ValueType.DOUBLE
850
+ };
851
+ export const PEER_MANAGER_GOODBYES_SENT = {
852
+ name: 'aztec.peer_manager.goodbyes_sent',
853
+ description: 'Number of goodbyes sent to peers',
854
+ unit: 'peers',
855
+ valueType: ValueType.INT
856
+ };
857
+ export const PEER_MANAGER_GOODBYES_RECEIVED = {
858
+ name: 'aztec.peer_manager.goodbyes_received',
859
+ description: 'Number of goodbyes received from peers',
860
+ unit: 'peers',
861
+ valueType: ValueType.INT
862
+ };
863
+ export const PEER_MANAGER_PEER_COUNT = {
864
+ name: 'aztec.peer_manager.peer_count',
865
+ description: 'Number of peers',
866
+ unit: 'peers',
867
+ valueType: ValueType.INT
868
+ };
869
+ export const PEER_MANAGER_HEALTHY_PEER_COUNT = {
870
+ name: 'aztec.peer_manager.healthy_peer_count',
871
+ description: 'Number of healthy (non-protected, non-banned) peers',
872
+ unit: 'peers',
873
+ valueType: ValueType.INT
874
+ };
875
+ export const PEER_MANAGER_LOW_SCORE_DISCONNECTS = {
876
+ name: 'aztec.peer_manager.low_score_disconnects',
877
+ description: 'Number of peers disconnected due to low score',
878
+ unit: 'peers',
879
+ valueType: ValueType.INT
880
+ };
881
+ export const PEER_MANAGER_PEER_CONNECTION_DURATION = {
882
+ name: 'aztec.peer_manager.peer_connection_duration',
883
+ description: 'Time duration between peer connection and disconnection',
884
+ unit: 'ms',
885
+ valueType: ValueType.INT
886
+ };
887
+ export const P2P_PEER_STATE_COUNT = {
888
+ name: 'aztec.p2p.peer_state_count',
889
+ description: 'Number of peers in each state',
890
+ unit: 'peers',
891
+ valueType: ValueType.INT
892
+ };
893
+ export const P2P_REQ_RESP_SENT_REQUESTS = {
894
+ name: 'aztec.p2p.req_resp.sent_requests',
895
+ description: 'Number of requests sent to peers',
896
+ unit: 'requests',
897
+ valueType: ValueType.INT
898
+ };
899
+ export const P2P_REQ_RESP_RECEIVED_REQUESTS = {
900
+ name: 'aztec.p2p.req_resp.received_requests',
901
+ description: 'Number of requests received from peers',
902
+ unit: 'requests',
903
+ valueType: ValueType.INT
904
+ };
905
+ export const P2P_REQ_RESP_FAILED_OUTBOUND_REQUESTS = {
906
+ name: 'aztec.p2p.req_resp.failed_outbound_requests',
907
+ description: 'Number of failed outbound requests - nodes not getting valid responses',
908
+ unit: 'requests',
909
+ valueType: ValueType.INT
910
+ };
911
+ export const P2P_REQ_RESP_FAILED_INBOUND_REQUESTS = {
912
+ name: 'aztec.p2p.req_resp.failed_inbound_requests',
913
+ description: 'Number of failed inbound requests - node failing to respond to requests',
914
+ unit: 'requests',
915
+ valueType: ValueType.INT
916
+ };
917
+ export const P2P_GOSSIP_MESSAGE_VALIDATION_DURATION = {
918
+ name: 'aztec.p2p.gossip.message_validation_duration',
919
+ description: 'Duration to validate a gossip message',
920
+ unit: 'ms',
921
+ valueType: ValueType.INT
922
+ };
923
+ export const P2P_GOSSIP_MESSAGE_PREVALIDATION_COUNT = {
924
+ name: 'aztec.p2p.gossip.message_validation_count',
925
+ description: 'Number of gossip messages validated',
926
+ valueType: ValueType.INT
927
+ };
928
+ export const P2P_GOSSIP_MESSAGE_LATENCY = {
929
+ name: 'aztec.p2p.gossip.message_latency',
930
+ description: 'Latency of gossip messages',
931
+ unit: 'ms',
932
+ valueType: ValueType.INT
933
+ };
934
+ export const P2P_GOSSIP_TX_RECEIVED_COUNT = {
935
+ name: 'aztec.p2p.gossip.tx_received_count',
936
+ description: 'Number of transactions received via gossip',
937
+ valueType: ValueType.INT
938
+ };
939
+ export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MIN = {
940
+ name: 'aztec.p2p.gossip.agg_message_latency_min',
941
+ description: 'Minimum aggregated gossip message latency',
942
+ unit: 'ms',
943
+ valueType: ValueType.INT
944
+ };
945
+ export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MAX = {
946
+ name: 'aztec.p2p.gossip.agg_message_latency_max',
947
+ description: 'Maximum aggregated gossip message latency',
948
+ unit: 'ms',
949
+ valueType: ValueType.INT
950
+ };
951
+ export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P50 = {
952
+ name: 'aztec.p2p.gossip.agg_message_latency_p50',
953
+ description: 'P50 aggregated gossip message latency',
954
+ unit: 'ms',
955
+ valueType: ValueType.INT
956
+ };
957
+ export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P90 = {
958
+ name: 'aztec.p2p.gossip.agg_message_latency_p90',
959
+ description: 'P90 aggregated gossip message latency',
960
+ unit: 'ms',
961
+ valueType: ValueType.INT
962
+ };
963
+ export const P2P_GOSSIP_AGG_MESSAGE_LATENCY_AVG = {
964
+ name: 'aztec.p2p.gossip.agg_message_latency_avg',
965
+ description: 'Average aggregated gossip message latency',
966
+ unit: 'ms',
967
+ valueType: ValueType.INT
968
+ };
969
+ export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MIN = {
970
+ name: 'aztec.p2p.gossip.agg_message_validation_duration_min',
971
+ description: 'Minimum aggregated gossip message validation duration',
972
+ unit: 'ms',
973
+ valueType: ValueType.INT
974
+ };
975
+ export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MAX = {
976
+ name: 'aztec.p2p.gossip.agg_message_validation_duration_max',
977
+ description: 'Maximum aggregated gossip message validation duration',
978
+ unit: 'ms',
979
+ valueType: ValueType.INT
980
+ };
981
+ export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P50 = {
982
+ name: 'aztec.p2p.gossip.agg_message_validation_duration_p50',
983
+ description: 'P50 aggregated gossip message validation duration',
984
+ unit: 'ms',
985
+ valueType: ValueType.INT
986
+ };
987
+ export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P90 = {
988
+ name: 'aztec.p2p.gossip.agg_message_validation_duration_p90',
989
+ description: 'P90 aggregated gossip message validation duration',
990
+ unit: 'ms',
991
+ valueType: ValueType.INT
992
+ };
993
+ export const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_AVG = {
994
+ name: 'aztec.p2p.gossip.agg_message_validation_duration_avg',
995
+ description: 'Average aggregated gossip message validation duration',
996
+ unit: 'ms',
997
+ valueType: ValueType.INT
998
+ };
999
+ export const P2P_GOSSIP_SLOW_VALIDATION_COUNT = {
1000
+ name: 'aztec.p2p.gossip.slow_validation_count',
1001
+ description: 'Number of gossip validations that exceeded 75% of the mcache eviction window',
1002
+ valueType: ValueType.INT
1003
+ };
1004
+ export const P2P_GOSSIP_TX_VALIDATION_STAGE_DURATION = {
1005
+ name: 'aztec.p2p.gossip.tx_validation_stage_duration',
1006
+ description: 'Duration of each stage of gossiped tx validation, keyed by the tx_validation_stage attribute',
1007
+ unit: 'ms',
1008
+ valueType: ValueType.INT
1009
+ };
1010
+ export const PUBLIC_PROCESSOR_TX_DURATION = {
1011
+ name: 'aztec.public_processor.tx_duration',
1012
+ description: 'Duration to process a public transaction',
1013
+ unit: 'ms',
1014
+ valueType: ValueType.INT
1015
+ };
1016
+ export const PUBLIC_PROCESSOR_TX_COUNT = {
1017
+ name: 'aztec.public_processor.tx_count',
1018
+ description: 'Number of public transactions processed',
1019
+ valueType: ValueType.INT
1020
+ };
1021
+ export const PUBLIC_PROCESSOR_TX_PHASE_COUNT = {
1022
+ name: 'aztec.public_processor.tx_phase_count',
1023
+ description: 'Number of phases in public transaction processing',
1024
+ valueType: ValueType.INT
1025
+ };
1026
+ export const PUBLIC_PROCESSOR_TX_GAS = {
1027
+ name: 'aztec.public_processor.tx_gas',
1028
+ description: 'Gas consumed by public transaction',
1029
+ unit: 'gas',
1030
+ valueType: ValueType.INT
1031
+ };
1032
+ export const PUBLIC_PROCESSOR_PHASE_DURATION = {
1033
+ name: 'aztec.public_processor.phase_duration',
1034
+ description: 'Duration of public processing phase',
1035
+ unit: 'ms',
1036
+ valueType: ValueType.INT
1037
+ };
1038
+ export const PUBLIC_PROCESSOR_PHASE_COUNT = {
1039
+ name: 'aztec.public_processor.phase_count',
1040
+ description: 'Number of public processing phases',
1041
+ valueType: ValueType.INT
1042
+ };
1043
+ export const PUBLIC_PROCESSOR_DEPLOY_BYTECODE_SIZE = {
1044
+ name: 'aztec.public_processor.deploy_bytecode_size',
1045
+ description: 'Size of deployed bytecode',
1046
+ unit: 'By',
1047
+ valueType: ValueType.INT
1048
+ };
1049
+ export const PUBLIC_PROCESSOR_TOTAL_GAS = {
1050
+ name: 'aztec.public_processor.total_gas',
1051
+ description: 'Total gas consumed by public processor',
1052
+ unit: 'gas',
1053
+ valueType: ValueType.INT
1054
+ };
1055
+ export const PUBLIC_PROCESSOR_TOTAL_GAS_HISTOGRAM = {
1056
+ name: 'aztec.public_processor.total_gas_histogram',
1057
+ description: 'Histogram of total gas consumed by public processor',
1058
+ unit: 'gas',
1059
+ valueType: ValueType.INT
1060
+ };
1061
+ export const PUBLIC_PROCESSOR_GAS_RATE = {
1062
+ name: 'aztec.public_processor.gas_rate',
1063
+ description: 'Gas rate in public processor',
1064
+ unit: 'gas/s',
1065
+ valueType: ValueType.DOUBLE
1066
+ };
1067
+ export const PUBLIC_PROCESSOR_TREE_INSERTION = {
1068
+ name: 'aztec.public_processor.tree_insertion',
1069
+ description: 'Duration of tree insertion in public processor',
1070
+ unit: 'ms',
1071
+ valueType: ValueType.INT
1072
+ };
1073
+ export const PUBLIC_PROCESSOR_SILENTLY_SKIPPED_COUNT = {
1074
+ name: 'aztec.public_processor.silently_skipped_count',
1075
+ description: 'Public txs fully processed then skipped (e.g. blob-field limit); not counted as processed or failed',
1076
+ valueType: ValueType.INT
1077
+ };
1078
+ export const PUBLIC_PROCESSOR_SILENTLY_SKIPPED_DURATION = {
1079
+ name: 'aztec.public_processor.silently_skipped_duration',
1080
+ description: 'Wall-clock time spent processing txs that were then silently skipped',
1081
+ unit: 'ms',
1082
+ valueType: ValueType.INT
1083
+ };
1084
+ export const PUBLIC_EXECUTOR_PREFIX = 'aztec.public_executor.';
1085
+ export const PUBLIC_EXECUTOR_SIMULATION_COUNT = {
1086
+ name: 'aztec.public_executor.simulation_count',
1087
+ description: 'Number of functions executed',
1088
+ valueType: ValueType.INT
1089
+ };
1090
+ export const PUBLIC_EXECUTOR_SIMULATION_DURATION = {
1091
+ name: 'aztec.public_executor.simulation_duration',
1092
+ description: 'How long it takes to execute a function',
1093
+ unit: 'ms',
1094
+ valueType: ValueType.INT
1095
+ };
1096
+ export const PUBLIC_EXECUTOR_SIMULATION_MANA_PER_SECOND = {
1097
+ name: 'aztec.public_executor.simulation_mana_per_second',
1098
+ description: 'Mana used per second',
1099
+ unit: 'mana/s',
1100
+ valueType: ValueType.INT
1101
+ };
1102
+ export const PUBLIC_EXECUTOR_SIMULATION_MANA_USED = {
1103
+ name: 'aztec.public_executor.simulation_mana_used',
1104
+ description: 'Total mana used',
1105
+ unit: 'mana',
1106
+ valueType: ValueType.INT
1107
+ };
1108
+ export const PUBLIC_EXECUTOR_SIMULATION_TOTAL_INSTRUCTIONS = {
1109
+ name: 'aztec.public_executor.simulation_total_instructions',
1110
+ description: 'Total number of instructions executed',
1111
+ valueType: ValueType.INT
1112
+ };
1113
+ export const PUBLIC_EXECUTOR_TX_HASHING = {
1114
+ name: 'aztec.public_executor.tx_hashing',
1115
+ description: 'Tx hashing time',
1116
+ unit: 'ms',
1117
+ valueType: ValueType.INT
1118
+ };
1119
+ export const PUBLIC_EXECUTOR_PRIVATE_EFFECTS_INSERTION = {
1120
+ name: 'aztec.public_executor.private_effects_insertion',
1121
+ description: 'Private effects insertion time',
1122
+ unit: 'us',
1123
+ valueType: ValueType.INT
1124
+ };
1125
+ export const PUBLIC_EXECUTOR_SIMULATION_BYTECODE_SIZE = {
1126
+ name: 'aztec.public_executor.simulation_bytecode_size',
1127
+ description: 'Size of bytecode being executed',
1128
+ unit: 'By',
1129
+ valueType: ValueType.INT
1130
+ };
1131
+ export const PROVING_ORCHESTRATOR_BASE_ROLLUP_INPUTS_DURATION = {
1132
+ name: 'aztec.proving_orchestrator.base_rollup.inputs_duration',
1133
+ description: 'Duration to build base rollup inputs',
1134
+ unit: 'ms',
1135
+ valueType: ValueType.INT
1136
+ };
1137
+ export const PROVING_QUEUE_JOB_SIZE = {
1138
+ name: 'aztec.proving_queue.job_size',
1139
+ description: 'Size of proving jobs',
1140
+ unit: 'By',
1141
+ valueType: ValueType.INT
1142
+ };
1143
+ export const PROVING_QUEUE_SIZE = {
1144
+ name: 'aztec.proving_queue.size',
1145
+ description: 'Number of jobs in the proving queue',
1146
+ valueType: ValueType.INT
1147
+ };
1148
+ export const PROVING_QUEUE_TOTAL_JOBS = {
1149
+ name: 'aztec.proving_queue.enqueued_jobs_count',
1150
+ description: 'Total number of jobs enqueued',
1151
+ valueType: ValueType.INT
1152
+ };
1153
+ export const PROVING_QUEUE_CACHED_JOBS = {
1154
+ name: 'aztec.proving_queue.cached_jobs_count',
1155
+ description: 'Number of cached proving jobs',
1156
+ valueType: ValueType.INT
1157
+ };
1158
+ export const PROVING_QUEUE_ACTIVE_JOBS = {
1159
+ name: 'aztec.proving_queue.active_jobs_count',
1160
+ description: 'Number of active proving jobs',
1161
+ valueType: ValueType.INT
1162
+ };
1163
+ export const PROVING_QUEUE_RESOLVED_JOBS = {
1164
+ name: 'aztec.proving_queue.resolved_jobs_count',
1165
+ description: 'Number of resolved proving jobs',
1166
+ valueType: ValueType.INT
1167
+ };
1168
+ export const PROVING_QUEUE_REJECTED_JOBS = {
1169
+ name: 'aztec.proving_queue.rejected_jobs_count',
1170
+ description: 'Number of rejected proving jobs',
1171
+ valueType: ValueType.INT
1172
+ };
1173
+ export const PROVING_QUEUE_ABORTED_JOBS = {
1174
+ name: 'aztec.proving_queue.aborted_jobs_count',
1175
+ description: 'Number of aborted proving jobs',
1176
+ valueType: ValueType.INT
1177
+ };
1178
+ export const PROVING_QUEUE_RETRIED_JOBS = {
1179
+ name: 'aztec.proving_queue.retried_jobs_count',
1180
+ description: 'Number of retried proving jobs',
1181
+ valueType: ValueType.INT
1182
+ };
1183
+ export const PROVING_QUEUE_TIMED_OUT_JOBS = {
1184
+ name: 'aztec.proving_queue.timed_out_jobs_count',
1185
+ description: 'Number of timed out proving jobs',
1186
+ valueType: ValueType.INT
1187
+ };
1188
+ export const PROVING_QUEUE_JOB_WAIT = {
1189
+ name: 'aztec.proving_queue.job_wait',
1190
+ description: 'Records how long a job sits in the queue',
1191
+ unit: 'ms',
1192
+ valueType: ValueType.INT
1193
+ };
1194
+ export const PROVING_QUEUE_JOB_DURATION = {
1195
+ name: 'aztec.proving_queue.job_duration',
1196
+ description: 'Records how long a job takes to complete',
1197
+ unit: 'ms',
1198
+ valueType: ValueType.INT
1199
+ };
1200
+ export const PROVING_QUEUE_DB_NUM_ITEMS = {
1201
+ name: 'aztec.proving_queue.db.num_items',
1202
+ description: 'Number of items in the proving queue database',
1203
+ valueType: ValueType.INT
1204
+ };
1205
+ export const PROVING_QUEUE_DB_MAP_SIZE = {
1206
+ name: 'aztec.proving_queue.db.map_size',
1207
+ description: 'Map size of the proving queue database',
1208
+ unit: 'By',
1209
+ valueType: ValueType.INT
1210
+ };
1211
+ export const PROVING_QUEUE_DB_USED_SIZE = {
1212
+ name: 'aztec.proving_queue.db.used_size',
1213
+ description: 'Used size of the proving queue database',
1214
+ unit: 'By',
1215
+ valueType: ValueType.INT
1216
+ };
1217
+ export const PROVING_AGENT_IDLE = {
1218
+ name: 'aztec.proving_queue.agent.idle',
1219
+ description: 'Records how long an agent was idle',
1220
+ unit: 's',
1221
+ valueType: ValueType.DOUBLE
1222
+ };
1223
+ export const PROVER_NODE_JOB_DURATION = {
1224
+ name: 'aztec.prover_node.job_duration',
1225
+ description: 'Duration of proving job',
1226
+ unit: 's',
1227
+ valueType: ValueType.DOUBLE
1228
+ };
1229
+ export const PROVER_NODE_JOB_CHECKPOINTS = {
1230
+ name: 'aztec.prover_node.job_checkpoints',
1231
+ description: 'Number of checkpoints in a proven epoch',
1232
+ valueType: ValueType.INT
1233
+ };
1234
+ export const PROVER_NODE_JOB_BLOCKS = {
1235
+ name: 'aztec.prover_node.job_blocks',
1236
+ description: 'Number of blocks in a proven epoch',
1237
+ valueType: ValueType.INT
1238
+ };
1239
+ export const PROVER_NODE_JOB_TRANSACTIONS = {
1240
+ name: 'aztec.prover_node.job_transactions',
1241
+ description: 'Number of transactions in a proven epoch',
1242
+ valueType: ValueType.INT
1243
+ };
1244
+ export const PROVER_NODE_BLOB_PROCESSING_LAST_DURATION = {
1245
+ name: 'aztec.prover_node.blob_processing.last_duration',
1246
+ description: 'Duration of blob processing step in epoch proving job',
1247
+ unit: 'ms',
1248
+ valueType: ValueType.INT
1249
+ };
1250
+ export const PROVER_NODE_BLOCK_PROCESSING_DURATION = {
1251
+ name: 'aztec.prover_node.block_processing.duration',
1252
+ description: 'Duration of processing a single block in epoch proving job',
1253
+ unit: 'ms',
1254
+ valueType: ValueType.INT
1255
+ };
1256
+ export const PROVER_NODE_CHECKPOINT_PROCESSING_DURATION = {
1257
+ name: 'aztec.prover_node.checkpoint_processing.duration',
1258
+ description: 'Duration of processing a single checkpoint in epoch proving job',
1259
+ unit: 'ms',
1260
+ valueType: ValueType.INT
1261
+ };
1262
+ export const PROVER_NODE_CHECKPOINT_BLOCKS = {
1263
+ name: 'aztec.prover_node.checkpoint_blocks',
1264
+ description: 'Number of blocks in a proven checkpoint',
1265
+ valueType: ValueType.INT
1266
+ };
1267
+ export const PROVER_NODE_CHECKPOINT_TRANSACTIONS = {
1268
+ name: 'aztec.prover_node.checkpoint_transactions',
1269
+ description: 'Number of transactions in a proven checkpoint',
1270
+ valueType: ValueType.INT
1271
+ };
1272
+ export const PROVER_NODE_CHECKPOINT_PROVING_DURATION = {
1273
+ name: 'aztec.prover_node.checkpoint_proving.duration',
1274
+ description: 'Duration from the start of checkpoint processing to its block proofs being ready (excludes tx gathering)',
1275
+ unit: 'ms',
1276
+ valueType: ValueType.INT
1277
+ };
1278
+ export const PROVER_NODE_ACTIVE_CHECKPOINTS = {
1279
+ name: 'aztec.prover_node.active_checkpoints',
1280
+ description: 'Current number of canonical CheckpointProvers in the store (i.e. checkpoints currently being proven)',
1281
+ valueType: ValueType.INT
1282
+ };
1283
+ export const PROVER_NODE_ACTIVE_EPOCH_SESSIONS = {
1284
+ name: 'aztec.prover_node.active_epoch_sessions',
1285
+ description: 'Current number of live EpochSessions, broken down by kind (full|partial)',
1286
+ valueType: ValueType.INT
1287
+ };
1288
+ export const PROVER_NODE_REWARDS_TOTAL = {
1289
+ name: 'aztec.prover_node.rewards_total',
1290
+ description: 'The rewards earned (total)',
1291
+ valueType: ValueType.DOUBLE
1292
+ };
1293
+ export const PROVER_NODE_REWARDS_PER_EPOCH = {
1294
+ name: 'aztec.prover_node.rewards_per_epoch',
1295
+ description: 'The rewards earned',
1296
+ valueType: ValueType.DOUBLE
1297
+ };
1298
+ export const WORLD_STATE_FORK_DURATION = {
1299
+ name: 'aztec.world_state.fork.duration',
1300
+ description: 'Duration to fork world state',
1301
+ unit: 'ms',
1302
+ valueType: ValueType.INT
1303
+ };
1304
+ export const WORLD_STATE_SYNC_DURATION = {
1305
+ name: 'aztec.world_state.sync.duration',
1306
+ description: 'Duration to sync world state',
1307
+ unit: 'ms',
1308
+ valueType: ValueType.INT
1309
+ };
1310
+ export const WORLD_STATE_MERKLE_TREE_SIZE = {
1311
+ name: 'aztec.world_state.merkle_tree_size',
1312
+ description: 'Size of the merkle tree',
1313
+ valueType: ValueType.INT
1314
+ };
1315
+ export const WORLD_STATE_DB_SIZE = {
1316
+ name: 'aztec.world_state.db_size',
1317
+ description: 'Size of the world state database',
1318
+ unit: 'By',
1319
+ valueType: ValueType.INT
1320
+ };
1321
+ export const WORLD_STATE_DB_MAP_SIZE = {
1322
+ name: 'aztec.world_state.db_map_size',
1323
+ description: 'The current configured map size for each merkle tree',
1324
+ unit: 'By',
1325
+ valueType: ValueType.INT
1326
+ };
1327
+ export const WORLD_STATE_DB_PHYSICAL_SIZE = {
1328
+ name: 'aztec.world_state.db_physical_size',
1329
+ description: 'The current physical disk space used for each database',
1330
+ unit: 'By',
1331
+ valueType: ValueType.INT
1332
+ };
1333
+ export const WORLD_STATE_TREE_SIZE = {
1334
+ name: 'aztec.world_state.tree_size',
1335
+ description: 'The current number of leaves in each merkle tree',
1336
+ valueType: ValueType.INT
1337
+ };
1338
+ export const WORLD_STATE_UNFINALIZED_HEIGHT = {
1339
+ name: 'aztec.world_state.unfinalized_height',
1340
+ description: 'The unfinalized block height of each merkle tree',
1341
+ valueType: ValueType.INT
1342
+ };
1343
+ export const WORLD_STATE_FINALIZED_HEIGHT = {
1344
+ name: 'aztec.world_state.finalized_height',
1345
+ description: 'The finalized block height of each merkle tree',
1346
+ valueType: ValueType.INT
1347
+ };
1348
+ export const WORLD_STATE_OLDEST_BLOCK = {
1349
+ name: 'aztec.world_state.oldest_block',
1350
+ description: 'The oldest historical block of each merkle tree',
1351
+ valueType: ValueType.INT
1352
+ };
1353
+ export const WORLD_STATE_DB_USED_SIZE = {
1354
+ name: 'aztec.world_state.db_used_size',
1355
+ description: 'The current used database size for each db of each merkle tree',
1356
+ unit: 'By',
1357
+ valueType: ValueType.INT
1358
+ };
1359
+ export const WORLD_STATE_DB_NUM_ITEMS = {
1360
+ name: 'aztec.world_state.db_num_items',
1361
+ description: 'The current number of items in each database of each merkle tree',
1362
+ valueType: ValueType.INT
1363
+ };
1364
+ export const WORLD_STATE_REQUEST_TIME = {
1365
+ name: 'aztec.world_state.request_time',
1366
+ description: 'The round trip time of world state requests',
1367
+ unit: 'us',
1368
+ valueType: ValueType.INT
1369
+ };
1370
+ export const WORLD_STATE_CRITICAL_ERROR_COUNT = {
1371
+ name: 'aztec.world_state.critical_error_count',
1372
+ description: 'The number of critical errors in the world state',
1373
+ valueType: ValueType.INT
1374
+ };
1375
+ export const PROOF_VERIFIER_COUNT = {
1376
+ name: 'aztec.proof_verifier.count',
1377
+ description: 'Number of proofs verified',
1378
+ valueType: ValueType.INT
1379
+ };
1380
+ export const VALIDATOR_RE_EXECUTION_TIME = {
1381
+ name: 'aztec.validator.re_execution_time',
1382
+ description: 'The time taken to re-execute a transaction',
1383
+ unit: 'ms',
1384
+ valueType: ValueType.INT
1385
+ };
1386
+ export const VALIDATOR_RE_EXECUTION_MANA = {
1387
+ name: 'aztec.validator.re_execution_mana',
1388
+ description: 'The mana consumed by blocks',
1389
+ unit: 'Mmana',
1390
+ valueType: ValueType.DOUBLE
1391
+ };
1392
+ export const VALIDATOR_RE_EXECUTION_TX_COUNT = {
1393
+ name: 'aztec.validator.re_execution_tx_count',
1394
+ description: 'The number of txs in a block proposal',
1395
+ unit: 'tx',
1396
+ valueType: ValueType.INT
1397
+ };
1398
+ export const VALIDATOR_CHECKPOINT_PROPOSAL_TO_PIPELINED_STATE_DURATION = {
1399
+ name: 'aztec.validator.checkpoint_proposal_to_pipelined_state_duration',
1400
+ description: 'Time from receiving a checkpoint proposal to setting proposed checkpoint state for pipelining',
1401
+ unit: 'ms',
1402
+ valueType: ValueType.INT
1403
+ };
1404
+ export const VALIDATOR_CHECKPOINT_PROPOSAL_RECEIVE_OFFSET_FROM_NEXT_SLOT_BOUNDARY = {
1405
+ name: 'aztec.validator.checkpoint.proposal_receive_offset_from_next_slot_boundary',
1406
+ 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.',
1407
+ unit: 'ms',
1408
+ valueType: ValueType.INT
1409
+ };
1410
+ export const VALIDATOR_FAILED_REEXECUTION_COUNT = {
1411
+ name: 'aztec.validator.failed_reexecution_count',
1412
+ description: 'The number of failed re-executions',
1413
+ valueType: ValueType.INT
1414
+ };
1415
+ export const VALIDATOR_ATTESTATION_SUCCESS_COUNT = {
1416
+ name: 'aztec.validator.attestation_success_count',
1417
+ description: 'The number of successful attestations',
1418
+ valueType: ValueType.INT
1419
+ };
1420
+ export const VALIDATOR_ATTESTATION_FAILED_BAD_PROPOSAL_COUNT = {
1421
+ name: 'aztec.validator.attestation_failed_bad_proposal_count',
1422
+ description: 'The number of failed attestations due to invalid block proposals',
1423
+ valueType: ValueType.INT
1424
+ };
1425
+ export const VALIDATOR_ATTESTATION_FAILED_NODE_ISSUE_COUNT = {
1426
+ name: 'aztec.validator.attestation_failed_node_issue_count',
1427
+ description: 'The number of failed attestations due to node issues (timeout, missing data, etc.)',
1428
+ valueType: ValueType.INT
1429
+ };
1430
+ export const VALIDATOR_CURRENT_EPOCH = {
1431
+ name: 'aztec.validator.current_epoch',
1432
+ description: 'The current epoch number, reflecting total epochs elapsed since genesis',
1433
+ valueType: ValueType.INT
1434
+ };
1435
+ export const VALIDATOR_ATTESTED_EPOCH_COUNT = {
1436
+ name: 'aztec.validator.attested_epoch_count',
1437
+ description: 'The number of epochs in which this node successfully submitted at least one attestation',
1438
+ valueType: ValueType.INT
1439
+ };
1440
+ export const NODEJS_EVENT_LOOP_DELAY_MIN = {
1441
+ name: 'nodejs.eventloop.delay.min',
1442
+ description: 'Minimum delay of the event loop',
1443
+ unit: 'ns',
1444
+ valueType: ValueType.INT
1445
+ };
1446
+ export const NODEJS_EVENT_LOOP_DELAY_MEAN = {
1447
+ name: 'nodejs.eventloop.delay.mean',
1448
+ description: 'Mean delay of the event loop',
1449
+ unit: 'ns',
1450
+ valueType: ValueType.INT
1451
+ };
1452
+ export const NODEJS_EVENT_LOOP_DELAY_MAX = {
1453
+ name: 'nodejs.eventloop.delay.max',
1454
+ description: 'Max delay of the event loop',
1455
+ unit: 'ns',
1456
+ valueType: ValueType.INT
1457
+ };
1458
+ export const NODEJS_EVENT_LOOP_DELAY_STDDEV = {
1459
+ name: 'nodejs.eventloop.delay.stddev',
1460
+ description: 'Stddev delay of the event loop',
1461
+ unit: 'ns',
1462
+ valueType: ValueType.INT
1463
+ };
1464
+ export const NODEJS_EVENT_LOOP_DELAY_P50 = {
1465
+ name: 'nodejs.eventloop.delay.p50',
1466
+ description: 'P50 delay of the event loop',
1467
+ unit: 'ns',
1468
+ valueType: ValueType.INT
1469
+ };
1470
+ export const NODEJS_EVENT_LOOP_DELAY_P90 = {
1471
+ name: 'nodejs.eventloop.delay.p90',
1472
+ description: 'P90 delay of the event loop',
1473
+ unit: 'ns',
1474
+ valueType: ValueType.INT
1475
+ };
1476
+ export const NODEJS_EVENT_LOOP_DELAY_P99 = {
1477
+ name: 'nodejs.eventloop.delay.p99',
1478
+ description: 'P99 delay of the event loop',
1479
+ unit: 'ns',
1480
+ valueType: ValueType.INT
1481
+ };
1482
+ export const NODEJS_EVENT_LOOP_UTILIZATION = {
1483
+ name: 'nodejs.eventloop.utilization',
1484
+ description: 'How busy is the event loop',
1485
+ valueType: ValueType.DOUBLE
1486
+ };
1487
+ export const NODEJS_EVENT_LOOP_TIME = {
1488
+ name: 'nodejs.eventloop.time',
1489
+ description: 'How much time the event loop has spent in a given state',
1490
+ unit: 'ms',
1491
+ valueType: ValueType.INT
1492
+ };
1493
+ export const NODEJS_MEMORY_HEAP_USAGE = {
1494
+ name: 'nodejs.memory.v8_heap.usage',
1495
+ description: 'Memory used by the V8 heap',
1496
+ unit: 'By'
1497
+ };
1498
+ export const NODEJS_MEMORY_HEAP_TOTAL = {
1499
+ name: 'nodejs.memory.v8_heap.total',
1500
+ description: 'The max size the V8 heap can grow to',
1501
+ unit: 'By'
1502
+ };
1503
+ export const NODEJS_MEMORY_NATIVE_USAGE = {
1504
+ name: 'nodejs.memory.native.usage',
1505
+ description: 'Memory allocated for native C++ objects',
1506
+ unit: 'By'
1507
+ };
1508
+ export const NODEJS_MEMORY_BUFFER_USAGE = {
1509
+ name: 'nodejs.memory.array_buffer.usage',
1510
+ description: 'Memory allocated for buffers (includes native memory used)',
1511
+ unit: 'By'
1512
+ };
1513
+ export const TX_PROVIDER_TXS_FROM_PROPOSALS_COUNT = {
1514
+ name: 'aztec.tx_collector.txs_from_proposal_count',
1515
+ description: 'The number of txs taken from block proposals',
1516
+ valueType: ValueType.INT
1517
+ };
1518
+ export const TX_PROVIDER_TXS_FROM_MEMPOOL_COUNT = {
1519
+ name: 'aztec.tx_collector.txs_from_mempool_count',
1520
+ description: 'The number of txs taken from the local mempool',
1521
+ valueType: ValueType.INT
1522
+ };
1523
+ export const TX_PROVIDER_TXS_FROM_P2P_COUNT = {
1524
+ name: 'aztec.tx_collector.txs_from_p2p_count',
1525
+ description: 'The number of txs taken from the p2p network',
1526
+ valueType: ValueType.INT
1527
+ };
1528
+ export const TX_PROVIDER_MISSING_TXS_COUNT = {
1529
+ name: 'aztec.tx_collector.missing_txs_count',
1530
+ description: 'The number of txs not found anywhere',
1531
+ valueType: ValueType.INT
1532
+ };
1533
+ export const TX_PROVIDER_P2P_TXS_REQUESTED_FRACTION = {
1534
+ name: 'aztec.tx_collector.txs_requested_fraction',
1535
+ description: 'The fraction of transaction requested from peers',
1536
+ valueType: ValueType.DOUBLE
1537
+ };
1538
+ export const TX_PROVIDER_P2P_TXS_REQUEST_DELAY = {
1539
+ name: 'aztec.tx_collector.txs_requested_delay',
1540
+ description: 'The time it took to request missing transactions from p2p',
1541
+ unit: 'ms',
1542
+ valueType: ValueType.INT
1543
+ };
1544
+ export const TX_COLLECTOR_COUNT = {
1545
+ name: 'aztec.tx_collector.tx_count',
1546
+ description: 'The number of txs collected',
1547
+ valueType: ValueType.INT
1548
+ };
1549
+ export const TX_COLLECTOR_DURATION_PER_REQUEST = {
1550
+ name: 'aztec.tx_collector.duration_per_request',
1551
+ description: 'Total duration of an individual tx collection request',
1552
+ unit: 'ms',
1553
+ valueType: ValueType.INT
1554
+ };
1555
+ export const TX_COLLECTOR_DURATION_PER_TX = {
1556
+ name: 'aztec.tx_collector.duration_per_tx',
1557
+ description: 'Average duration per tx of an individual tx collection request',
1558
+ unit: 'ms',
1559
+ valueType: ValueType.INT
1560
+ };
1561
+ export const TX_FILE_STORE_UPLOADS_SUCCESS = {
1562
+ name: 'aztec.p2p.tx_file_store.uploads_success',
1563
+ description: 'Number of successful tx uploads to file storage',
1564
+ valueType: ValueType.INT
1565
+ };
1566
+ export const TX_FILE_STORE_UPLOADS_FAILED = {
1567
+ name: 'aztec.p2p.tx_file_store.uploads_failed',
1568
+ description: 'Number of failed tx uploads to file storage',
1569
+ valueType: ValueType.INT
1570
+ };
1571
+ export const TX_FILE_STORE_UPLOADS_SKIPPED = {
1572
+ name: 'aztec.p2p.tx_file_store.uploads_skipped',
1573
+ description: 'Number of tx uploads skipped (duplicates)',
1574
+ valueType: ValueType.INT
1575
+ };
1576
+ export const TX_FILE_STORE_UPLOAD_DURATION = {
1577
+ name: 'aztec.p2p.tx_file_store.upload_duration',
1578
+ description: 'Duration to upload a tx to file storage',
1579
+ unit: 'ms',
1580
+ valueType: ValueType.INT
1581
+ };
1582
+ export const TX_FILE_STORE_QUEUE_SIZE = {
1583
+ name: 'aztec.p2p.tx_file_store.queue_size',
1584
+ description: 'Number of txs pending upload',
1585
+ valueType: ValueType.INT
1586
+ };
1587
+ export const TX_FILE_STORE_DOWNLOADS_SUCCESS = {
1588
+ name: 'aztec.p2p.tx_file_store.downloads_success',
1589
+ description: 'Number of successful tx downloads from file storage',
1590
+ valueType: ValueType.INT
1591
+ };
1592
+ export const TX_FILE_STORE_DOWNLOADS_FAILED = {
1593
+ name: 'aztec.p2p.tx_file_store.downloads_failed',
1594
+ description: 'Number of failed tx downloads from file storage',
1595
+ valueType: ValueType.INT
1596
+ };
1597
+ export const TX_FILE_STORE_DOWNLOAD_DURATION = {
1598
+ name: 'aztec.p2p.tx_file_store.download_duration',
1599
+ description: 'Duration to download a tx from file storage',
1600
+ unit: 'ms',
1601
+ valueType: ValueType.INT
1602
+ };
1603
+ export const TX_FILE_STORE_DOWNLOAD_SIZE = {
1604
+ name: 'aztec.p2p.tx_file_store.download_size',
1605
+ description: 'Size of a downloaded tx from file storage',
1606
+ unit: 'By',
1607
+ valueType: ValueType.INT
1608
+ };
1609
+ export const IVC_VERIFIER_TIME = {
1610
+ name: 'aztec.ivc_verifier.time',
1611
+ description: 'Duration to verify chonk proofs',
1612
+ unit: 'ms',
1613
+ valueType: ValueType.INT
1614
+ };
1615
+ export const IVC_VERIFIER_TOTAL_TIME = {
1616
+ name: 'aztec.ivc_verifier.total_time',
1617
+ description: 'Total duration to verify chonk proofs, including serde',
1618
+ unit: 'ms',
1619
+ valueType: ValueType.INT
1620
+ };
1621
+ export const IVC_VERIFIER_FAILURE_COUNT = {
1622
+ name: 'aztec.ivc_verifier.failure_count',
1623
+ description: 'Count of failed IVC proof verifications',
1624
+ valueType: ValueType.INT
1625
+ };
1626
+ export const IVC_VERIFIER_AGG_DURATION_MIN = {
1627
+ name: 'aztec.ivc_verifier.agg_duration_min',
1628
+ description: 'MIN ivc verification',
1629
+ unit: 'ms',
1630
+ valueType: ValueType.DOUBLE
1631
+ };
1632
+ export const IVC_VERIFIER_AGG_DURATION_MAX = {
1633
+ name: 'aztec.ivc_verifier.agg_duration_max',
1634
+ description: 'MAX ivc verification',
1635
+ unit: 'ms',
1636
+ valueType: ValueType.DOUBLE
1637
+ };
1638
+ export const IVC_VERIFIER_AGG_DURATION_P50 = {
1639
+ name: 'aztec.ivc_verifier.agg_duration_p50',
1640
+ description: 'P50 ivc verification',
1641
+ unit: 'ms',
1642
+ valueType: ValueType.DOUBLE
1643
+ };
1644
+ export const IVC_VERIFIER_AGG_DURATION_P90 = {
1645
+ name: 'aztec.ivc_verifier.agg_duration_p90',
1646
+ description: 'P90 ivc verification',
1647
+ unit: 'ms',
1648
+ valueType: ValueType.DOUBLE
1649
+ };
1650
+ export const IVC_VERIFIER_AGG_DURATION_AVG = {
1651
+ name: 'aztec.ivc_verifier.agg_duration_avg',
1652
+ description: 'AVG ivc verification',
1653
+ unit: 'ms',
1654
+ valueType: ValueType.DOUBLE
1655
+ };
1656
+ // HA Signer metrics
1657
+ export const HA_SIGNER_SIGNING_DURATION = {
1658
+ name: 'aztec.ha_signer.signing_duration',
1659
+ description: 'End-to-end duration for signing with HA protection (lock + sign + record)',
1660
+ unit: 'ms',
1661
+ valueType: ValueType.INT
1662
+ };
1663
+ export const HA_SIGNER_SIGNING_SUCCESS_COUNT = {
1664
+ name: 'aztec.ha_signer.signing_success_count',
1665
+ description: 'Count of successful signing operations',
1666
+ valueType: ValueType.INT
1667
+ };
1668
+ export const HA_SIGNER_DUTY_ALREADY_SIGNED_COUNT = {
1669
+ name: 'aztec.ha_signer.duty_already_signed_count',
1670
+ description: 'Count of DutyAlreadySignedError (expected in HA; another node signed first)',
1671
+ valueType: ValueType.INT
1672
+ };
1673
+ export const HA_SIGNER_SLASHING_PROTECTION_COUNT = {
1674
+ name: 'aztec.ha_signer.slashing_protection_count',
1675
+ description: 'Count of SlashingProtectionError (attempted to sign different data)',
1676
+ valueType: ValueType.INT
1677
+ };
1678
+ export const HA_SIGNER_SIGNING_ERROR_COUNT = {
1679
+ name: 'aztec.ha_signer.signing_error_count',
1680
+ description: 'Count of signing function failures (lock deleted for retry)',
1681
+ valueType: ValueType.INT
1682
+ };
1683
+ export const HA_SIGNER_LOCK_ACQUIRED_COUNT = {
1684
+ name: 'aztec.ha_signer.lock_acquired_count',
1685
+ description: 'Count of lock acquisitions (new lock acquired vs existing record found)',
1686
+ valueType: ValueType.INT
1687
+ };
1688
+ export const HA_SIGNER_CLEANUP_STUCK_DUTIES_COUNT = {
1689
+ name: 'aztec.ha_signer.cleanup_stuck_duties_count',
1690
+ description: 'Number of stuck duties cleaned up per cleanup run',
1691
+ valueType: ValueType.INT
1692
+ };
1693
+ export const HA_SIGNER_CLEANUP_OLD_DUTIES_COUNT = {
1694
+ name: 'aztec.ha_signer.cleanup_old_duties_count',
1695
+ description: 'Number of old duties cleaned up',
1696
+ valueType: ValueType.INT
1697
+ };
1698
+ export const HA_SIGNER_CLEANUP_OUTDATED_ROLLUP_DUTIES_COUNT = {
1699
+ name: 'aztec.ha_signer.cleanup_outdated_rollup_duties_count',
1700
+ description: 'Number of duties cleaned due to rollup upgrade',
1701
+ valueType: ValueType.INT
1702
+ };