@aztec/telemetry-client 0.0.0-test.1 → 0.0.1-commit.b655e406

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 (73) hide show
  1. package/dest/attributes.d.ts +21 -8
  2. package/dest/attributes.d.ts.map +1 -1
  3. package/dest/attributes.js +16 -8
  4. package/dest/bench.d.ts +3 -0
  5. package/dest/bench.d.ts.map +1 -1
  6. package/dest/bench.js +7 -0
  7. package/dest/config.d.ts +5 -1
  8. package/dest/config.d.ts.map +1 -1
  9. package/dest/config.js +23 -1
  10. package/dest/index.d.ts +1 -0
  11. package/dest/index.d.ts.map +1 -1
  12. package/dest/index.js +1 -0
  13. package/dest/l1_metrics.d.ts +17 -0
  14. package/dest/l1_metrics.d.ts.map +1 -0
  15. package/dest/l1_metrics.js +70 -0
  16. package/dest/lmdb_metrics.d.ts +4 -2
  17. package/dest/lmdb_metrics.d.ts.map +1 -1
  18. package/dest/lmdb_metrics.js +8 -0
  19. package/dest/metrics.d.ts +87 -12
  20. package/dest/metrics.d.ts.map +1 -1
  21. package/dest/metrics.js +88 -13
  22. package/dest/{event_loop_monitor.d.ts → nodejs_metrics_monitor.d.ts} +5 -2
  23. package/dest/nodejs_metrics_monitor.d.ts.map +1 -0
  24. package/dest/{event_loop_monitor.js → nodejs_metrics_monitor.js} +55 -12
  25. package/dest/noop.d.ts +3 -1
  26. package/dest/noop.d.ts.map +1 -1
  27. package/dest/noop.js +2 -0
  28. package/dest/otel.d.ts +8 -4
  29. package/dest/otel.d.ts.map +1 -1
  30. package/dest/otel.js +79 -19
  31. package/dest/otel_filter_metric_exporter.d.ts +11 -3
  32. package/dest/otel_filter_metric_exporter.d.ts.map +1 -1
  33. package/dest/otel_filter_metric_exporter.js +38 -4
  34. package/dest/otel_resource.d.ts.map +1 -1
  35. package/dest/otel_resource.js +31 -2
  36. package/dest/prom_otel_adapter.d.ts +57 -8
  37. package/dest/prom_otel_adapter.d.ts.map +1 -1
  38. package/dest/prom_otel_adapter.js +143 -43
  39. package/dest/start.js +4 -4
  40. package/dest/telemetry.d.ts +28 -11
  41. package/dest/telemetry.d.ts.map +1 -1
  42. package/dest/telemetry.js +1 -1
  43. package/dest/vendor/otel-pino-stream.d.ts +0 -1
  44. package/dest/vendor/otel-pino-stream.d.ts.map +1 -1
  45. package/dest/vendor/otel-pino-stream.js +2 -2
  46. package/dest/wrappers/fetch.d.ts +1 -1
  47. package/dest/wrappers/fetch.d.ts.map +1 -1
  48. package/dest/wrappers/fetch.js +7 -5
  49. package/dest/wrappers/json_rpc_server.d.ts +1 -1
  50. package/dest/wrappers/json_rpc_server.d.ts.map +1 -1
  51. package/dest/wrappers/l2_block_stream.d.ts +1 -1
  52. package/dest/wrappers/l2_block_stream.d.ts.map +1 -1
  53. package/package.json +16 -13
  54. package/src/attributes.ts +27 -11
  55. package/src/bench.ts +15 -5
  56. package/src/config.ts +41 -2
  57. package/src/index.ts +1 -0
  58. package/src/l1_metrics.ts +80 -0
  59. package/src/lmdb_metrics.ts +24 -3
  60. package/src/metrics.ts +106 -12
  61. package/src/{event_loop_monitor.ts → nodejs_metrics_monitor.ts} +59 -10
  62. package/src/noop.ts +4 -1
  63. package/src/otel.ts +66 -21
  64. package/src/otel_filter_metric_exporter.ts +47 -5
  65. package/src/otel_resource.ts +40 -2
  66. package/src/prom_otel_adapter.ts +191 -59
  67. package/src/start.ts +4 -4
  68. package/src/telemetry.ts +50 -12
  69. package/src/vendor/otel-pino-stream.ts +1 -4
  70. package/src/wrappers/fetch.ts +24 -31
  71. package/src/wrappers/json_rpc_server.ts +1 -1
  72. package/src/wrappers/l2_block_stream.ts +1 -1
  73. package/dest/event_loop_monitor.d.ts.map +0 -1
@@ -13,29 +13,30 @@
13
13
  * @example If `aztec.circuit.name` has been defined as an attribute then `aztec.circuit` alone can not be re-used for a metric or attribute because it is already a namespace.
14
14
  * @see {@link https://opentelemetry.io/docs/specs/semconv/general/attribute-naming/}
15
15
  */
16
+ /** The host of an HTTP request */
17
+ export declare const HTTP_REQUEST_HOST = "http.header.request.host";
18
+ export declare const HTTP_RESPONSE_STATUS_CODE = "http.response.status_code";
16
19
  /** The Aztec network identifier */
17
20
  export declare const NETWORK_NAME = "aztec.network_name";
21
+ export declare const AZTEC_NODE_ROLE = "aztec.node_role";
22
+ export declare const AZTEC_ROLLUP_VERSION = "aztec.rollup_version";
23
+ export declare const AZTEC_ROLLUP_ADDRESS = "aztec.rollup_address";
24
+ export declare const AZTEC_REGISTRY_ADDRESS = "aztec.registry_address";
18
25
  /**
19
26
  * The name of the protocol circuit being run (e.g. public-kernel-setup or base-rollup)
20
27
  * @see {@link @aztec/stdlib/stats:CircuitName}
21
28
  */
22
29
  export declare const PROTOCOL_CIRCUIT_NAME = "aztec.circuit.protocol_circuit_name";
23
- /**
24
- * The type of protocol circuit being run: server or client
25
- */
26
- export declare const PROTOCOL_CIRCUIT_TYPE = "aztec.circuit.protocol_circuit_type";
27
30
  /**
28
31
  * For an app circuit, the contract:function being run (e.g. Token:transfer)
29
32
  */
30
33
  export declare const APP_CIRCUIT_NAME = "aztec.circuit.app_circuit_name";
31
- /**
32
- * The type of app circuit being run: server or client
33
- */
34
- export declare const APP_CIRCUIT_TYPE = "aztec.circuit.app_circuit_type";
35
34
  /** The block archive */
36
35
  export declare const BLOCK_ARCHIVE = "aztec.block.archive";
37
36
  /** The block number */
38
37
  export declare const BLOCK_NUMBER = "aztec.block.number";
38
+ /** The L2 block hash */
39
+ export declare const BLOCK_HASH = "aztec.block.hash";
39
40
  /** The slot number */
40
41
  export declare const SLOT_NUMBER = "aztec.slot.number";
41
42
  /** The parent's block number */
@@ -64,6 +65,8 @@ export declare const ERROR_TYPE = "aztec.error_type";
64
65
  export declare const L1_TX_TYPE = "aztec.l1.tx_type";
65
66
  /** The L1 address of the entity that sent a transaction to L1 */
66
67
  export declare const L1_SENDER = "aztec.l1.sender";
68
+ /** The L1 address receiving rewards */
69
+ export declare const COINBASE = "aztec.coinbase";
67
70
  /** The phase of the transaction */
68
71
  export declare const TX_PHASE_NAME = "aztec.tx.phase_name";
69
72
  /** The reason for disconnecting a peer */
@@ -72,11 +75,14 @@ export declare const P2P_GOODBYE_REASON = "aztec.p2p.goodbye.reason";
72
75
  export declare const PROVING_JOB_TYPE = "aztec.proving.job_type";
73
76
  /** The proving job id */
74
77
  export declare const PROVING_JOB_ID = "aztec.proving.job_id";
78
+ /** Merkle tree name */
75
79
  export declare const MERKLE_TREE_NAME = "aztec.merkle_tree.name";
76
80
  /** The prover-id in a root rollup proof. */
77
81
  export declare const ROLLUP_PROVER_ID = "aztec.rollup.prover_id";
78
82
  /** Whether the proof submission was timed out (delayed more than 20 min) */
79
83
  export declare const PROOF_TIMED_OUT = "aztec.proof.timed_out";
84
+ /** Status of the validator (eg proposer, in-committee, none) */
85
+ export declare const VALIDATOR_STATUS = "aztec.validator_status";
80
86
  export declare const P2P_ID = "aztec.p2p.id";
81
87
  export declare const P2P_REQ_RESP_PROTOCOL = "aztec.p2p.req_resp.protocol";
82
88
  export declare const P2P_REQ_RESP_BATCH_REQUESTS_COUNT = "aztec.p2p.req_resp.batch_requests_count";
@@ -86,6 +92,7 @@ export declare const SIMULATOR_PHASE = "aztec.simulator.phase";
86
92
  export declare const TARGET_ADDRESS = "aztec.address.target";
87
93
  export declare const SENDER_ADDRESS = "aztec.address.sender";
88
94
  export declare const MANA_USED = "aztec.mana.used";
95
+ export declare const TOTAL_INSTRUCTIONS = "aztec.total_instructions";
89
96
  /** Whether a sync process is the initial run, which is usually slower than iterative ones. */
90
97
  export declare const INITIAL_SYNC = "aztec.initial_sync";
91
98
  /** Identifier for the tables in a world state DB */
@@ -96,4 +103,10 @@ export declare const REVERTIBILITY = "aztec.revertibility";
96
103
  export declare const GAS_DIMENSION = "aztec.gas_dimension";
97
104
  export declare const WORLD_STATE_REQUEST_TYPE = "aztec.world_state_request";
98
105
  export declare const NODEJS_EVENT_LOOP_STATE = "nodejs.eventloop.state";
106
+ export declare const TOPIC_NAME = "aztec.gossip.topic_name";
107
+ export declare const TX_COLLECTION_METHOD = "aztec.tx_collection.method";
108
+ /** Scope of L1 transaction (sequencer, prover, or other) */
109
+ export declare const L1_TX_SCOPE = "aztec.l1_tx.scope";
110
+ /** Generic error type attribute */
111
+ export declare const IS_COMMITTEE_MEMBER = "aztec.is_committee_member";
99
112
  //# sourceMappingURL=attributes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,mCAAmC;AACnC,eAAO,MAAM,YAAY,uBAAuB,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,qBAAqB,wCAAwC,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,gBAAgB,mCAAmC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,gBAAgB,mCAAmC,CAAC;AAEjE,wBAAwB;AACxB,eAAO,MAAM,aAAa,wBAAwB,CAAC;AACnD,uBAAuB;AACvB,eAAO,MAAM,YAAY,uBAAuB,CAAC;AACjD,sBAAsB;AACtB,eAAO,MAAM,WAAW,sBAAsB,CAAC;AAC/C,gCAAgC;AAChC,eAAO,MAAM,YAAY,uBAAuB,CAAC;AACjD,2DAA2D;AAC3D,eAAO,MAAM,yBAAyB,oCAAoC,CAAC;AAC3E,sDAAsD;AACtD,eAAO,MAAM,eAAe,0BAA0B,CAAC;AACvD,qBAAqB;AACrB,eAAO,MAAM,UAAU,qBAAqB,CAAC;AAC7C,iDAAiD;AACjD,eAAO,MAAM,UAAU,qBAAqB,CAAC;AAC7C,8BAA8B;AAC9B,eAAO,MAAM,cAAc,yBAAyB,CAAC;AACrD,uBAAuB;AACvB,eAAO,MAAM,YAAY,uBAAuB,CAAC;AACjD,kBAAkB;AAClB,eAAO,MAAM,OAAO,kBAAkB,CAAC;AACvC,8EAA8E;AAC9E,eAAO,MAAM,EAAE,aAAa,CAAC;AAC7B,+BAA+B;AAC/B,eAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,mCAAmC;AACnC,eAAO,MAAM,UAAU,qBAAqB,CAAC;AAC7C,kCAAkC;AAClC,eAAO,MAAM,UAAU,qBAAqB,CAAC;AAC7C,iEAAiE;AACjE,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAC3C,mCAAmC;AACnC,eAAO,MAAM,aAAa,wBAAwB,CAAC;AACnD,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAC7D,2BAA2B;AAC3B,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AACzD,yBAAyB;AACzB,eAAO,MAAM,cAAc,yBAAyB,CAAC;AAErD,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AACzD,4CAA4C;AAC5C,eAAO,MAAM,gBAAgB,2BAA2B,CAAC;AACzD,4EAA4E;AAC5E,eAAO,MAAM,eAAe,0BAA0B,CAAC;AAEvD,eAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AACnE,eAAO,MAAM,iCAAiC,4CAA4C,CAAC;AAC3F,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAE3C,eAAO,MAAM,eAAe,0BAA0B,CAAC;AAEvD,eAAO,MAAM,eAAe,0BAA0B,CAAC;AACvD,eAAO,MAAM,cAAc,yBAAyB,CAAC;AACrD,eAAO,MAAM,cAAc,yBAAyB,CAAC;AACrD,eAAO,MAAM,SAAS,oBAAoB,CAAC;AAE3C,8FAA8F;AAC9F,eAAO,MAAM,YAAY,uBAAuB,CAAC;AAEjD,oDAAoD;AACpD,eAAO,MAAM,eAAe,8BAA8B,CAAC;AAE3D,iEAAiE;AACjE,eAAO,MAAM,YAAY,kBAAkB,CAAC;AAE5C,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAEnD,eAAO,MAAM,aAAa,wBAAwB,CAAC;AAEnD,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AAEpE,eAAO,MAAM,uBAAuB,2BAA2B,CAAC"}
1
+ {"version":3,"file":"attributes.d.ts","sourceRoot":"","sources":["../src/attributes.ts"],"names":[],"mappings":"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"}
@@ -12,22 +12,23 @@
12
12
  * @note Attributes and metric names exist in a hierarchy of namespaces. If a name has been used as a namespace, then it can not be used as a name for an attribute or metric.
13
13
  * @example If `aztec.circuit.name` has been defined as an attribute then `aztec.circuit` alone can not be re-used for a metric or attribute because it is already a namespace.
14
14
  * @see {@link https://opentelemetry.io/docs/specs/semconv/general/attribute-naming/}
15
- */ /** The Aztec network identifier */ export const NETWORK_NAME = 'aztec.network_name';
15
+ */ /** The host of an HTTP request */ export const HTTP_REQUEST_HOST = 'http.header.request.host';
16
+ export const HTTP_RESPONSE_STATUS_CODE = 'http.response.status_code';
17
+ /** The Aztec network identifier */ export const NETWORK_NAME = 'aztec.network_name';
18
+ export const AZTEC_NODE_ROLE = 'aztec.node_role';
19
+ export const AZTEC_ROLLUP_VERSION = 'aztec.rollup_version';
20
+ export const AZTEC_ROLLUP_ADDRESS = 'aztec.rollup_address';
21
+ export const AZTEC_REGISTRY_ADDRESS = 'aztec.registry_address';
16
22
  /**
17
23
  * The name of the protocol circuit being run (e.g. public-kernel-setup or base-rollup)
18
24
  * @see {@link @aztec/stdlib/stats:CircuitName}
19
25
  */ export const PROTOCOL_CIRCUIT_NAME = 'aztec.circuit.protocol_circuit_name';
20
- /**
21
- * The type of protocol circuit being run: server or client
22
- */ export const PROTOCOL_CIRCUIT_TYPE = 'aztec.circuit.protocol_circuit_type';
23
26
  /**
24
27
  * For an app circuit, the contract:function being run (e.g. Token:transfer)
25
28
  */ export const APP_CIRCUIT_NAME = 'aztec.circuit.app_circuit_name';
26
- /**
27
- * The type of app circuit being run: server or client
28
- */ export const APP_CIRCUIT_TYPE = 'aztec.circuit.app_circuit_type';
29
29
  /** The block archive */ export const BLOCK_ARCHIVE = 'aztec.block.archive';
30
30
  /** The block number */ export const BLOCK_NUMBER = 'aztec.block.number';
31
+ /** The L2 block hash */ export const BLOCK_HASH = 'aztec.block.hash';
31
32
  /** The slot number */ export const SLOT_NUMBER = 'aztec.slot.number';
32
33
  /** The parent's block number */ export const BLOCK_PARENT = 'aztec.block.parent';
33
34
  /** How many txs are being processed to build this block */ export const BLOCK_CANDIDATE_TXS_COUNT = 'aztec.block.candidate_txs_count';
@@ -42,13 +43,15 @@
42
43
  /** Generic error type attribute */ export const ERROR_TYPE = 'aztec.error_type';
43
44
  /** The type of the transaction */ export const L1_TX_TYPE = 'aztec.l1.tx_type';
44
45
  /** The L1 address of the entity that sent a transaction to L1 */ export const L1_SENDER = 'aztec.l1.sender';
46
+ /** The L1 address receiving rewards */ export const COINBASE = 'aztec.coinbase';
45
47
  /** The phase of the transaction */ export const TX_PHASE_NAME = 'aztec.tx.phase_name';
46
48
  /** The reason for disconnecting a peer */ export const P2P_GOODBYE_REASON = 'aztec.p2p.goodbye.reason';
47
49
  /** The proving job type */ export const PROVING_JOB_TYPE = 'aztec.proving.job_type';
48
50
  /** The proving job id */ export const PROVING_JOB_ID = 'aztec.proving.job_id';
49
- export const MERKLE_TREE_NAME = 'aztec.merkle_tree.name';
51
+ /** Merkle tree name */ export const MERKLE_TREE_NAME = 'aztec.merkle_tree.name';
50
52
  /** The prover-id in a root rollup proof. */ export const ROLLUP_PROVER_ID = 'aztec.rollup.prover_id';
51
53
  /** Whether the proof submission was timed out (delayed more than 20 min) */ export const PROOF_TIMED_OUT = 'aztec.proof.timed_out';
54
+ /** Status of the validator (eg proposer, in-committee, none) */ export const VALIDATOR_STATUS = 'aztec.validator_status';
52
55
  export const P2P_ID = 'aztec.p2p.id';
53
56
  export const P2P_REQ_RESP_PROTOCOL = 'aztec.p2p.req_resp.protocol';
54
57
  export const P2P_REQ_RESP_BATCH_REQUESTS_COUNT = 'aztec.p2p.req_resp.batch_requests_count';
@@ -58,6 +61,7 @@ export const SIMULATOR_PHASE = 'aztec.simulator.phase';
58
61
  export const TARGET_ADDRESS = 'aztec.address.target';
59
62
  export const SENDER_ADDRESS = 'aztec.address.sender';
60
63
  export const MANA_USED = 'aztec.mana.used';
64
+ export const TOTAL_INSTRUCTIONS = 'aztec.total_instructions';
61
65
  /** Whether a sync process is the initial run, which is usually slower than iterative ones. */ export const INITIAL_SYNC = 'aztec.initial_sync';
62
66
  /** Identifier for the tables in a world state DB */ export const WS_DB_DATA_TYPE = 'aztec.world_state.db_type';
63
67
  /** Identifier for component database (e.g. archiver, tx pool) */ export const DB_DATA_TYPE = 'aztec.db_type';
@@ -65,3 +69,7 @@ export const REVERTIBILITY = 'aztec.revertibility';
65
69
  export const GAS_DIMENSION = 'aztec.gas_dimension';
66
70
  export const WORLD_STATE_REQUEST_TYPE = 'aztec.world_state_request';
67
71
  export const NODEJS_EVENT_LOOP_STATE = 'nodejs.eventloop.state';
72
+ export const TOPIC_NAME = 'aztec.gossip.topic_name';
73
+ export const TX_COLLECTION_METHOD = 'aztec.tx_collection.method';
74
+ /** Scope of L1 transaction (sequencer, prover, or other) */ export const L1_TX_SCOPE = 'aztec.l1_tx.scope';
75
+ /** Generic error type attribute */ export const IS_COMMITTEE_MEMBER = 'aztec.is_committee_member';
package/dest/bench.d.ts CHANGED
@@ -13,6 +13,9 @@ export type BenchmarkMetricsType = {
13
13
  }[];
14
14
  export declare class BenchmarkTelemetryClient implements TelemetryClient {
15
15
  private meters;
16
+ constructor();
17
+ setExportedPublicTelemetry(_prefixes: string[]): void;
18
+ setPublicTelemetryCollectFrom(_roles: string[]): void;
16
19
  getMeter(name: string): Meter;
17
20
  getTracer(): Tracer;
18
21
  stop(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"bench.d.ts","sourceRoot":"","sources":["../src/bench.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,OAAO,EAA6B,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGjH,OAAO,KAAK,EACV,cAAc,EAGd,KAAK,EAIL,eAAe,EACf,MAAM,EAEP,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,MAAM,EAAE,kBAAkB,EAAE,CAAC;KAC9B,EAAE,CAAC;CACL,EAAE,CAAC;AAEJ,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,OAAO,CAAC,MAAM,CAA4B;IAE1C,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAM7B,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS;IAIT,SAAS,IAAI,oBAAoB;IAIjC,KAAK;CAGN;AAgDD,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"bench.d.ts","sourceRoot":"","sources":["../src/bench.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAA2B,OAAO,EAA6B,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGjH,OAAO,KAAK,EACV,cAAc,EAGd,KAAK,EAIL,eAAe,EACf,MAAM,EAEP,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,WAAW,CAAC;QACxC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,SAAS,CAAC;QACtB,MAAM,EAAE,kBAAkB,EAAE,CAAC;KAC9B,EAAE,CAAC;CACL,EAAE,CAAC;AAEJ,qBAAa,wBAAyB,YAAW,eAAe;IAC9D,OAAO,CAAC,MAAM,CAA4B;;IAO1C,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IACrD,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAErD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;IAM7B,SAAS,IAAI,MAAM;IAInB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS;IAIT,SAAS,IAAI,oBAAoB;IAIjC,KAAK;CAGN;AAgDD,MAAM,MAAM,kBAAkB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC"}
package/dest/bench.js CHANGED
@@ -1,6 +1,13 @@
1
+ import { createLogger } from '@aztec/foundation/log';
1
2
  import { NoopTracer } from './noop.js';
2
3
  export class BenchmarkTelemetryClient {
3
4
  meters = [];
5
+ constructor(){
6
+ const log = createLogger('telemetry:client');
7
+ log.info(`Using benchmark telemetry client`);
8
+ }
9
+ setExportedPublicTelemetry(_prefixes) {}
10
+ setPublicTelemetryCollectFrom(_roles) {}
4
11
  getMeter(name) {
5
12
  const meter = new InMemoryPlainMeter(name);
6
13
  this.meters.push(meter);
package/dest/config.d.ts CHANGED
@@ -1,11 +1,15 @@
1
1
  import { type ConfigMappingsType } from '@aztec/foundation/config';
2
2
  export interface TelemetryClientConfig {
3
3
  metricsCollectorUrl?: URL;
4
+ publicMetricsCollectorUrl?: URL;
5
+ publicIncludeMetrics: string[];
6
+ publicMetricsOptOut: boolean;
7
+ publicMetricsCollectFrom: string[];
4
8
  tracesCollectorUrl?: URL;
5
9
  logsCollectorUrl?: URL;
6
10
  otelCollectIntervalMs: number;
7
11
  otelExportTimeoutMs: number;
8
- otelExcludeMetrics?: string[];
12
+ otelExcludeMetrics: string[];
9
13
  }
10
14
  export declare const telemetryClientConfigMappings: ConfigMappingsType<TelemetryClientConfig>;
11
15
  export declare function getConfigEnvVars(): TelemetryClientConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAAyB,MAAM,0BAA0B,CAAC;AAE1F,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,CAwCnF,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,qBAAqB,CAExD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,kBAAkB,EAA8C,MAAM,0BAA0B,CAAC;AAE/G,MAAM,WAAW,qBAAqB;IACpC,mBAAmB,CAAC,EAAE,GAAG,CAAC;IAC1B,yBAAyB,CAAC,EAAE,GAAG,CAAC;IAChC,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,kBAAkB,CAAC,EAAE,GAAG,CAAC;IACzB,gBAAgB,CAAC,EAAE,GAAG,CAAC;IACvB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,CA2EnF,CAAC;AAEF,wBAAgB,gBAAgB,IAAI,qBAAqB,CAExD"}
package/dest/config.js CHANGED
@@ -1,4 +1,4 @@
1
- import { getConfigFromMappings } from '@aztec/foundation/config';
1
+ import { booleanConfigHelper, getConfigFromMappings } from '@aztec/foundation/config';
2
2
  export const telemetryClientConfigMappings = {
3
3
  metricsCollectorUrl: {
4
4
  env: 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT',
@@ -32,6 +32,28 @@ export const telemetryClientConfigMappings = {
32
32
  description: 'A list of metric prefixes to exclude from export',
33
33
  parseEnv: (val)=>val ? val.split(',').map((s)=>s.trim()).filter((s)=>s.length > 0) : [],
34
34
  defaultValue: []
35
+ },
36
+ publicMetricsCollectorUrl: {
37
+ env: 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT',
38
+ description: 'A URL to publish a subset of metrics for public consumption',
39
+ parseEnv: (val)=>val && new URL(val)
40
+ },
41
+ publicMetricsCollectFrom: {
42
+ env: 'PUBLIC_OTEL_COLLECT_FROM',
43
+ description: 'The role types to collect metrics from',
44
+ parseEnv: (val)=>val ? val.split(',').map((s)=>s.trim()).filter((s)=>s.length > 0) : [],
45
+ defaultValue: []
46
+ },
47
+ publicIncludeMetrics: {
48
+ env: 'PUBLIC_OTEL_INCLUDE_METRICS',
49
+ description: 'A list of metric prefixes to publicly export',
50
+ parseEnv: (val)=>val ? val.split(',').map((s)=>s.trim()).filter((s)=>s.length > 0) : [],
51
+ defaultValue: []
52
+ },
53
+ publicMetricsOptOut: {
54
+ env: 'PUBLIC_OTEL_OPT_OUT',
55
+ description: 'Whether to opt out of sharing optional telemetry',
56
+ ...booleanConfigHelper(false)
35
57
  }
36
58
  };
37
59
  export function getConfigEnvVars() {
package/dest/index.d.ts CHANGED
@@ -4,6 +4,7 @@ export * as Attributes from './attributes.js';
4
4
  export * from './with_tracer.js';
5
5
  export * from './prom_otel_adapter.js';
6
6
  export * from './lmdb_metrics.js';
7
+ export * from './l1_metrics.js';
7
8
  export * from './wrappers/index.js';
8
9
  export * from './start.js';
9
10
  export * from './otel_propagation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC"}
package/dest/index.js CHANGED
@@ -4,6 +4,7 @@ export * as Attributes from './attributes.js';
4
4
  export * from './with_tracer.js';
5
5
  export * from './prom_otel_adapter.js';
6
6
  export * from './lmdb_metrics.js';
7
+ export * from './l1_metrics.js';
7
8
  export * from './wrappers/index.js';
8
9
  export * from './start.js';
9
10
  export * from './otel_propagation.js';
@@ -0,0 +1,17 @@
1
+ import type { EthAddress } from '@aztec/foundation/eth-address';
2
+ import { type Chain, type FallbackTransport, type HttpTransport, type PublicClient } from 'viem';
3
+ import { type Meter } from './telemetry.js';
4
+ export declare class L1Metrics {
5
+ private meter;
6
+ private client;
7
+ private l1BlockHeight;
8
+ private l1BalanceEth;
9
+ private gasPriceWei;
10
+ private blobBaseFeeWei;
11
+ private addresses;
12
+ constructor(meter: Meter, client: PublicClient<FallbackTransport<HttpTransport[]>, Chain>, addresses: EthAddress[]);
13
+ start(): void;
14
+ stop(): void;
15
+ private observe;
16
+ }
17
+ //# sourceMappingURL=l1_metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"l1_metrics.d.ts","sourceRoot":"","sources":["../src/l1_metrics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAEhE,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,iBAAiB,EAAY,KAAK,aAAa,EAAE,KAAK,YAAY,EAAe,MAAM,MAAM,CAAC;AAIxH,OAAO,EAA8B,KAAK,KAAK,EAAmC,MAAM,gBAAgB,CAAC;AAEzG,qBAAa,SAAS;IAQlB,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,MAAM;IARhB,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,SAAS,CAAQ;gBAGf,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,EACvE,SAAS,EAAE,UAAU,EAAE;IAyBzB,KAAK;IAIL,IAAI;IAIJ,OAAO,CAAC,OAAO,CA2Bb;CACH"}
@@ -0,0 +1,70 @@
1
+ import { formatEther } from 'viem';
2
+ import { L1_SENDER } from './attributes.js';
3
+ import { L1_BALANCE_ETH, L1_BLOB_BASE_FEE_WEI, L1_BLOCK_HEIGHT, L1_GAS_PRICE_WEI } from './metrics.js';
4
+ import { ValueType } from './telemetry.js';
5
+ export class L1Metrics {
6
+ meter;
7
+ client;
8
+ l1BlockHeight;
9
+ l1BalanceEth;
10
+ gasPriceWei;
11
+ blobBaseFeeWei;
12
+ addresses;
13
+ constructor(meter, client, addresses){
14
+ this.meter = meter;
15
+ this.client = client;
16
+ this.observe = async (observer)=>{
17
+ const blockNumber = await this.client.getBlockNumber();
18
+ const ethBalances = await Promise.all(this.addresses.map((address)=>this.client.getBalance({
19
+ address,
20
+ blockNumber
21
+ })));
22
+ const gasPrice = await this.client.getGasPrice();
23
+ const blobFee = await this.client.getBlobBaseFee();
24
+ observer.observe(this.l1BlockHeight, Number(blockNumber));
25
+ observer.observe(this.gasPriceWei, Number(gasPrice));
26
+ observer.observe(this.blobBaseFeeWei, Number(blobFee));
27
+ for(let i = 0; i < ethBalances.length; i++){
28
+ const wei = ethBalances[i];
29
+ const address = this.addresses[i];
30
+ const eth = parseFloat(formatEther(wei, 'wei'));
31
+ observer.observe(this.l1BalanceEth, eth, {
32
+ [L1_SENDER]: address
33
+ });
34
+ }
35
+ };
36
+ this.l1BlockHeight = meter.createObservableGauge(L1_BLOCK_HEIGHT, {
37
+ description: 'The latest L1 block seen',
38
+ valueType: ValueType.INT
39
+ });
40
+ this.l1BalanceEth = meter.createObservableGauge(L1_BALANCE_ETH, {
41
+ description: 'Eth balance of an address',
42
+ unit: 'eth',
43
+ valueType: ValueType.DOUBLE
44
+ });
45
+ this.gasPriceWei = meter.createObservableGauge(L1_GAS_PRICE_WEI, {
46
+ description: 'L1 gas price',
47
+ unit: 'wei',
48
+ valueType: ValueType.DOUBLE
49
+ });
50
+ this.blobBaseFeeWei = meter.createObservableGauge(L1_BLOB_BASE_FEE_WEI, {
51
+ description: 'L1 blob fee',
52
+ unit: 'wei',
53
+ valueType: ValueType.DOUBLE
54
+ });
55
+ this.addresses = addresses.map((addr)=>addr.toString());
56
+ }
57
+ start() {
58
+ this.meter.addBatchObservableCallback(this.observe, [
59
+ this.l1BalanceEth,
60
+ this.l1BlockHeight
61
+ ]);
62
+ }
63
+ stop() {
64
+ this.meter.removeBatchObservableCallback(this.observe, [
65
+ this.l1BalanceEth,
66
+ this.l1BlockHeight
67
+ ]);
68
+ }
69
+ observe;
70
+ }
@@ -1,6 +1,7 @@
1
- import { type Meter } from './telemetry.js';
1
+ import { type AttributesType, type Meter } from './telemetry.js';
2
2
  export type LmdbStatsCallback = () => Promise<{
3
3
  mappingSize: number;
4
+ physicalFileSize: number;
4
5
  numItems: number;
5
6
  actualSize: number;
6
7
  }>;
@@ -8,9 +9,10 @@ export declare class LmdbMetrics {
8
9
  private attributes?;
9
10
  private getStats?;
10
11
  private dbMapSize;
12
+ private dbPhysicalFileSize;
11
13
  private dbUsedSize;
12
14
  private dbNumItems;
13
- constructor(meter: Meter, attributes?: Partial<Record<"aztec.network_name" | "aztec.circuit.protocol_circuit_name" | "aztec.circuit.protocol_circuit_type" | "aztec.circuit.app_circuit_name" | "aztec.circuit.app_circuit_type" | "aztec.block.archive" | "aztec.block.number" | "aztec.slot.number" | "aztec.block.parent" | "aztec.block.candidate_txs_count" | "aztec.block.txs_count" | "aztec.block.size" | "aztec.epoch.size" | "aztec.block.proposer" | "aztec.epoch.number" | "aztec.tx.hash" | "aztec.ok" | "aztec.status" | "aztec.error_type" | "aztec.l1.tx_type" | "aztec.l1.sender" | "aztec.tx.phase_name" | "aztec.p2p.goodbye.reason" | "aztec.proving.job_type" | "aztec.proving.job_id" | "aztec.merkle_tree.name" | "aztec.rollup.prover_id" | "aztec.proof.timed_out" | "aztec.p2p.id" | "aztec.p2p.req_resp.protocol" | "aztec.p2p.req_resp.batch_requests_count" | "aztec.pool.name" | "aztec.sequencer.state" | "aztec.simulator.phase" | "aztec.address.target" | "aztec.address.sender" | "aztec.mana.used" | "aztec.initial_sync" | "aztec.world_state.db_type" | "aztec.db_type" | "aztec.revertibility" | "aztec.gas_dimension" | "aztec.world_state_request" | "nodejs.eventloop.state", import("@opentelemetry/api").AttributeValue>> | undefined, getStats?: LmdbStatsCallback | undefined);
15
+ constructor(meter: Meter, attributes?: AttributesType | undefined, getStats?: LmdbStatsCallback | undefined);
14
16
  private recordDBMetrics;
15
17
  }
16
18
  //# sourceMappingURL=lmdb_metrics.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lmdb_metrics.d.ts","sourceRoot":"","sources":["../src/lmdb_metrics.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,KAAK,EAGX,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE7G,qBAAa,WAAW;IAKI,OAAO,CAAC,UAAU,CAAC;IAAkB,OAAO,CAAC,QAAQ,CAAC;IAJhF,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,UAAU,CAAkB;gBAExB,KAAK,EAAE,KAAK,EAAU,UAAU,CAAC,4qCAAgB,EAAU,QAAQ,CAAC,+BAAmB;IAmBnG,OAAO,CAAC,eAAe,CAQrB;CACH"}
1
+ {"version":3,"file":"lmdb_metrics.d.ts","sourceRoot":"","sources":["../src/lmdb_metrics.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,KAAK,EAGX,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,qBAAa,WAAW;IAQpB,OAAO,CAAC,UAAU,CAAC;IACnB,OAAO,CAAC,QAAQ,CAAC;IARnB,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,kBAAkB,CAAkB;IAC5C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,UAAU,CAAkB;gBAGlC,KAAK,EAAE,KAAK,EACJ,UAAU,CAAC,EAAE,cAAc,YAAA,EAC3B,QAAQ,CAAC,EAAE,iBAAiB,YAAA;IA8BtC,OAAO,CAAC,eAAe,CASrB;CACH"}
@@ -4,6 +4,7 @@ export class LmdbMetrics {
4
4
  attributes;
5
5
  getStats;
6
6
  dbMapSize;
7
+ dbPhysicalFileSize;
7
8
  dbUsedSize;
8
9
  dbNumItems;
9
10
  constructor(meter, attributes, getStats){
@@ -15,6 +16,7 @@ export class LmdbMetrics {
15
16
  }
16
17
  const metrics = await this.getStats();
17
18
  observable.observe(this.dbMapSize, metrics.mappingSize, this.attributes);
19
+ observable.observe(this.dbPhysicalFileSize, metrics.physicalFileSize, this.attributes);
18
20
  observable.observe(this.dbNumItems, metrics.numItems, this.attributes);
19
21
  observable.observe(this.dbUsedSize, metrics.actualSize, this.attributes);
20
22
  };
@@ -23,6 +25,11 @@ export class LmdbMetrics {
23
25
  valueType: ValueType.INT,
24
26
  unit: 'By'
25
27
  });
28
+ this.dbPhysicalFileSize = meter.createObservableGauge(Metrics.DB_PHYSICAL_FILE_SIZE, {
29
+ description: 'LMDB Physical File Size',
30
+ valueType: ValueType.INT,
31
+ unit: 'By'
32
+ });
26
33
  this.dbUsedSize = meter.createObservableGauge(Metrics.DB_USED_SIZE, {
27
34
  description: 'LMDB Used Size',
28
35
  valueType: ValueType.INT,
@@ -34,6 +41,7 @@ export class LmdbMetrics {
34
41
  });
35
42
  meter.addBatchObservableCallback(this.recordDBMetrics, [
36
43
  this.dbMapSize,
44
+ this.dbPhysicalFileSize,
37
45
  this.dbUsedSize,
38
46
  this.dbNumItems
39
47
  ]);
package/dest/metrics.d.ts CHANGED
@@ -5,8 +5,13 @@
5
5
  *
6
6
  * @see {@link https://opentelemetry.io/docs/specs/semconv/general/metrics/ | OpenTelemetry Metrics} for naming conventions.
7
7
  */
8
+ export declare const BLOB_SINK_STORE_REQUESTS = "aztec.blob_sink.store_request_count";
9
+ export declare const BLOB_SINK_RETRIEVE_REQUESTS = "aztec.blob_sink.retrieve_request_count";
8
10
  export declare const BLOB_SINK_OBJECTS_IN_BLOB_STORE = "aztec.blob_sink.objects_in_blob_store";
9
11
  export declare const BLOB_SINK_BLOB_SIZE = "aztec.blob_sink.blob_size";
12
+ export declare const BLOB_SINK_ARCHIVE_BLOB_REQUEST_COUNT = "aztec.blob_sink.archive.block_request_count";
13
+ export declare const BLOB_SINK_ARCHIVE_BLOCK_REQUEST_COUNT = "aztec.blob_sink.archive.blob_request_count";
14
+ export declare const BLOB_SINK_ARCHIVE_BLOB_COUNT = "aztec.blob_sink.archive.blob_count";
10
15
  /** How long it takes to simulate a circuit */
11
16
  export declare const CIRCUIT_SIMULATION_DURATION = "aztec.circuit.simulation.duration";
12
17
  export declare const CIRCUIT_SIMULATION_INPUT_SIZE = "aztec.circuit.simulation.input_size";
@@ -24,28 +29,38 @@ export declare const MEMPOOL_TX_COUNT = "aztec.mempool.tx_count";
24
29
  export declare const MEMPOOL_TX_SIZE = "aztec.mempool.tx_size";
25
30
  export declare const DB_NUM_ITEMS = "aztec.db.num_items";
26
31
  export declare const DB_MAP_SIZE = "aztec.db.map_size";
32
+ export declare const DB_PHYSICAL_FILE_SIZE = "aztec.db.physical_file_size";
27
33
  export declare const DB_USED_SIZE = "aztec.db.used_size";
28
34
  export declare const MEMPOOL_ATTESTATIONS_COUNT = "aztec.mempool.attestations_count";
29
35
  export declare const MEMPOOL_ATTESTATIONS_SIZE = "aztec.mempool.attestations_size";
30
- export declare const ARCHIVER_SYNC_DURATION = "aztec.archiver.sync_duration";
31
- export declare const ARCHIVER_L1_BLOCKS_SYNCED = "aztec.archiver.l1_blocks_synced";
32
36
  export declare const ARCHIVER_L1_BLOCK_HEIGHT = "aztec.archiver.l1_block_height";
33
37
  export declare const ARCHIVER_BLOCK_HEIGHT = "aztec.archiver.block_height";
34
- export declare const ARCHIVER_TX_COUNT = "aztec.archiver.tx_count";
35
38
  export declare const ARCHIVER_ROLLUP_PROOF_DELAY = "aztec.archiver.rollup_proof_delay";
36
39
  export declare const ARCHIVER_ROLLUP_PROOF_COUNT = "aztec.archiver.rollup_proof_count";
40
+ export declare const ARCHIVER_MANA_PER_BLOCK = "aztec.archiver.block.mana_count";
41
+ export declare const ARCHIVER_TXS_PER_BLOCK = "aztec.archiver.block.tx_count";
42
+ export declare const ARCHIVER_SYNC_PER_BLOCK = "aztec.archiver.block.sync_per_item_duration";
43
+ export declare const ARCHIVER_SYNC_BLOCK_COUNT = "aztec.archiver.block.sync_count";
44
+ export declare const ARCHIVER_SYNC_PER_MESSAGE = "aztec.archiver.message.sync_per_item_duration";
45
+ export declare const ARCHIVER_SYNC_MESSAGE_COUNT = "aztec.archiver.message.sync_count";
46
+ export declare const ARCHIVER_PRUNE_DURATION = "aztec.archiver.prune_duration";
37
47
  export declare const ARCHIVER_PRUNE_COUNT = "aztec.archiver.prune_count";
48
+ export declare const ARCHIVER_TOTAL_TXS = "aztec.archiver.tx_count";
38
49
  export declare const NODE_RECEIVE_TX_DURATION = "aztec.node.receive_tx.duration";
39
50
  export declare const NODE_RECEIVE_TX_COUNT = "aztec.node.receive_tx.count";
51
+ export declare const NODE_SNAPSHOT_DURATION = "aztec.node.snapshot_duration";
52
+ export declare const NODE_SNAPSHOT_ERROR_COUNT = "aztec.node.snapshot_error_count";
40
53
  export declare const SEQUENCER_STATE_TRANSITION_BUFFER_DURATION = "aztec.sequencer.state_transition_buffer.duration";
41
54
  export declare const SEQUENCER_BLOCK_BUILD_DURATION = "aztec.sequencer.block.build_duration";
42
55
  export declare const SEQUENCER_BLOCK_BUILD_MANA_PER_SECOND = "aztec.sequencer.block.build_mana_per_second";
43
56
  export declare const SEQUENCER_BLOCK_COUNT = "aztec.sequencer.block.count";
44
- export declare const SEQUENCER_CURRENT_STATE = "aztec.sequencer.current.state";
45
- export declare const SEQUENCER_CURRENT_BLOCK_NUMBER = "aztec.sequencer.current.block_number";
46
- export declare const SEQUENCER_CURRENT_BLOCK_SIZE = "aztec.sequencer.current.block_size";
47
- export declare const SEQUENCER_TIME_TO_COLLECT_ATTESTATIONS = "aztec.sequencer.time_to_collect_attestations";
48
- export declare const SEQUENCER_BLOCK_BUILD_INSERTION_TIME = "aztec.sequencer.block_builder_tree_insertion_duration";
57
+ export declare const SEQUENCER_CURRENT_BLOCK_REWARDS = "aztec.sequencer.current_block_rewards";
58
+ export declare const SEQUENCER_SLOT_COUNT = "aztec.sequencer.slot.total_count";
59
+ export declare const SEQUENCER_FILLED_SLOT_COUNT = "aztec.sequencer.slot.filled_count";
60
+ export declare const SEQUENCER_COLLECTED_ATTESTATIONS_COUNT = "aztec.sequencer.attestations.collected_count";
61
+ export declare const SEQUENCER_REQUIRED_ATTESTATIONS_COUNT = "aztec.sequencer.attestations.required_count";
62
+ export declare const SEQUENCER_COLLECT_ATTESTATIONS_DURATION = "aztec.sequencer.attestations.collect_duration";
63
+ export declare const SEQUENCER_COLLECT_ATTESTATIONS_TIME_ALLOWANCE = "aztec.sequencer.attestations.collect_allowance";
49
64
  export declare const L1_PUBLISHER_GAS_PRICE = "aztec.l1_publisher.gas_price";
50
65
  export declare const L1_PUBLISHER_TX_COUNT = "aztec.l1_publisher.tx_count";
51
66
  export declare const L1_PUBLISHER_TX_DURATION = "aztec.l1_publisher.tx_duration";
@@ -59,12 +74,40 @@ export declare const L1_PUBLISHER_BLOB_INCLUSION_BLOCKS = "aztec.l1_publisher.bl
59
74
  export declare const L1_PUBLISHER_BLOB_TX_SUCCESS = "aztec.l1_publisher.blob_tx_success";
60
75
  export declare const L1_PUBLISHER_BLOB_TX_FAILURE = "aztec.l1_publisher.blob_tx_failure";
61
76
  export declare const L1_PUBLISHER_BALANCE = "aztec.l1_publisher.balance";
77
+ export declare const L1_PUBLISHER_TX_TOTAL_FEE = "aztec.l1_publisher.tx_total_fee";
78
+ export declare const L1_BLOCK_HEIGHT = "aztec.l1.block_height";
79
+ export declare const L1_BALANCE_ETH = "aztec.l1.balance";
80
+ export declare const L1_GAS_PRICE_WEI = "aztec.l1.gas_price";
81
+ export declare const L1_BLOB_BASE_FEE_WEI = "aztec.l1.blob_base_fee";
82
+ export declare const L1_TX_MINED_DURATION = "aztec.l1_tx.mined_duration";
83
+ export declare const L1_TX_MINED_COUNT = "aztec.l1_tx.mined_count";
84
+ export declare const L1_TX_REVERTED_COUNT = "aztec.l1_tx.reverted_count";
85
+ export declare const L1_TX_CANCELLED_COUNT = "aztec.l1_tx.cancelled_count";
86
+ export declare const L1_TX_NOT_MINED_COUNT = "aztec.l1_tx.not_mined_count";
87
+ export declare const L1_TX_ATTEMPTS_UNTIL_MINED = "aztec.l1_tx.attempts_until_mined";
88
+ export declare const L1_TX_MAX_PRIORITY_FEE = "aztec.l1_tx.max_priority_fee";
89
+ export declare const L1_TX_MAX_FEE = "aztec.l1_tx.max_fee";
90
+ export declare const L1_TX_BLOB_FEE = "aztec.l1_tx.blob_fee";
62
91
  export declare const PEER_MANAGER_GOODBYES_SENT = "aztec.peer_manager.goodbyes_sent";
63
92
  export declare const PEER_MANAGER_GOODBYES_RECEIVED = "aztec.peer_manager.goodbyes_received";
93
+ export declare const PEER_MANAGER_PEER_COUNT = "aztec.peer_manager.peer_count";
64
94
  export declare const P2P_REQ_RESP_SENT_REQUESTS = "aztec.p2p.req_resp.sent_requests";
65
95
  export declare const P2P_REQ_RESP_RECEIVED_REQUESTS = "aztec.p2p.req_resp.received_requests";
66
96
  export declare const P2P_REQ_RESP_FAILED_OUTBOUND_REQUESTS = "aztec.p2p.req_resp.failed_outbound_requests";
67
97
  export declare const P2P_REQ_RESP_FAILED_INBOUND_REQUESTS = "aztec.p2p.req_resp.failed_inbound_requests";
98
+ export declare const P2P_GOSSIP_MESSAGE_VALIDATION_DURATION = "aztec.p2p.gossip.message_validation_duration";
99
+ export declare const P2P_GOSSIP_MESSAGE_PREVALIDATION_COUNT = "aztec.p2p.gossip.message_validation_count";
100
+ export declare const P2P_GOSSIP_MESSAGE_LATENCY = "aztec.p2p.gossip.message_latency";
101
+ export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MIN = "aztec.p2p.gossip.agg_message_latency_min";
102
+ export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_MAX = "aztec.p2p.gossip.agg_message_latency_max";
103
+ export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P50 = "aztec.p2p.gossip.agg_message_latency_p50";
104
+ export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_P90 = "aztec.p2p.gossip.agg_message_latency_p90";
105
+ export declare const P2P_GOSSIP_AGG_MESSAGE_LATENCY_AVG = "aztec.p2p.gossip.agg_message_latency_avg";
106
+ export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MIN = "aztec.p2p.gossip.agg_message_validation_duration_min";
107
+ export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_MAX = "aztec.p2p.gossip.agg_message_validation_duration_max";
108
+ export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P50 = "aztec.p2p.gossip.agg_message_validation_duration_p50";
109
+ export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_P90 = "aztec.p2p.gossip.agg_message_validation_duration_p90";
110
+ export declare const P2P_GOSSIP_AGG_MESSAGE_VALIDATION_DURATION_AVG = "aztec.p2p.gossip.agg_message_validation_duration_avg";
68
111
  export declare const PUBLIC_PROCESSOR_TX_DURATION = "aztec.public_processor.tx_duration";
69
112
  export declare const PUBLIC_PROCESSOR_TX_COUNT = "aztec.public_processor.tx_count";
70
113
  export declare const PUBLIC_PROCESSOR_TX_PHASE_COUNT = "aztec.public_processor.tx_phase_count";
@@ -76,12 +119,17 @@ export declare const PUBLIC_PROCESSOR_TOTAL_GAS = "aztec.public_processor.total_
76
119
  export declare const PUBLIC_PROCESSOR_TOTAL_GAS_HISTOGRAM = "aztec.public_processor.total_gas_histogram";
77
120
  export declare const PUBLIC_PROCESSOR_GAS_RATE = "aztec.public_processor.gas_rate";
78
121
  export declare const PUBLIC_PROCESSOR_TREE_INSERTION = "aztec.public_processor.tree_insertion";
122
+ export declare const PUBLIC_EXECUTOR_PREFIX = "aztec.public_executor.";
79
123
  export declare const PUBLIC_EXECUTOR_SIMULATION_COUNT = "aztec.public_executor.simulation_count";
80
124
  export declare const PUBLIC_EXECUTOR_SIMULATION_DURATION = "aztec.public_executor.simulation_duration";
81
125
  export declare const PUBLIC_EXECUTOR_SIMULATION_MANA_PER_SECOND = "aztec.public_executor.simulation_mana_per_second";
82
- export declare const PUBLIC_EXECUTION_SIMULATION_BYTECODE_SIZE = "aztec.public_executor.simulation_bytecode_size";
83
- export declare const PUBLIC_EXECUTION_PRIVATE_EFFECTS_INSERTION = "aztec.public_executor.private_effects_insertion";
126
+ export declare const PUBLIC_EXECUTOR_SIMULATION_MANA_USED = "aztec.public_executor.simulation_mana_used";
127
+ export declare const PUBLIC_EXECUTOR_SIMULATION_TOTAL_INSTRUCTIONS = "aztec.public_executor.simulation_total_instructions";
128
+ export declare const PUBLIC_EXECUTOR_TX_HASHING = "aztec.public_executor.tx_hashing";
129
+ export declare const PUBLIC_EXECUTOR_PRIVATE_EFFECTS_INSERTION = "aztec.public_executor.private_effects_insertion";
130
+ export declare const PUBLIC_EXECUTOR_SIMULATION_BYTECODE_SIZE = "aztec.public_executor.simulation_bytecode_size";
84
131
  export declare const PROVING_ORCHESTRATOR_BASE_ROLLUP_INPUTS_DURATION = "aztec.proving_orchestrator.base_rollup.inputs_duration";
132
+ export declare const PROVING_ORCHESTRATOR_AVM_FALLBACK_COUNT = "aztec.proving_orchestrator.avm.fallback_count";
85
133
  export declare const PROVING_QUEUE_JOB_SIZE = "aztec.proving_queue.job_size";
86
134
  export declare const PROVING_QUEUE_SIZE = "aztec.proving_queue.size";
87
135
  export declare const PROVING_QUEUE_TOTAL_JOBS = "aztec.proving_queue.enqueued_jobs_count";
@@ -101,14 +149,17 @@ export declare const PROVER_NODE_EXECUTION_DURATION = "aztec.prover_node.executi
101
149
  export declare const PROVER_NODE_JOB_DURATION = "aztec.prover_node.job_duration";
102
150
  export declare const PROVER_NODE_JOB_BLOCKS = "aztec.prover_node.job_blocks";
103
151
  export declare const PROVER_NODE_JOB_TRANSACTIONS = "aztec.prover_node.job_transactions";
152
+ export declare const PROVER_NODE_REWARDS_TOTAL = "aztec.prover_node.rewards_total";
153
+ export declare const PROVER_NODE_REWARDS_PER_EPOCH = "aztec.prover_node.rewards_per_epoch";
104
154
  export declare const WORLD_STATE_FORK_DURATION = "aztec.world_state.fork.duration";
105
155
  export declare const WORLD_STATE_SYNC_DURATION = "aztec.world_state.sync.duration";
106
156
  export declare const WORLD_STATE_MERKLE_TREE_SIZE = "aztec.world_state.merkle_tree_size";
107
157
  export declare const WORLD_STATE_DB_SIZE = "aztec.world_state.db_size";
108
158
  export declare const WORLD_STATE_DB_MAP_SIZE = "aztec.world_state.db_map_size";
159
+ export declare const WORLD_STATE_DB_PHYSICAL_SIZE = "aztec.world_state.db_physical_size";
109
160
  export declare const WORLD_STATE_TREE_SIZE = "aztec.world_state.tree_size";
110
- export declare const WORLD_STATE_UNFINALISED_HEIGHT = "aztec.world_state.unfinalised_height";
111
- export declare const WORLD_STATE_FINALISED_HEIGHT = "aztec.world_state.finalised_height";
161
+ export declare const WORLD_STATE_UNFINALIZED_HEIGHT = "aztec.world_state.unfinalized_height";
162
+ export declare const WORLD_STATE_FINALIZED_HEIGHT = "aztec.world_state.finalized_height";
112
163
  export declare const WORLD_STATE_OLDEST_BLOCK = "aztec.world_state.oldest_block";
113
164
  export declare const WORLD_STATE_DB_USED_SIZE = "aztec.world_state.db_used_size";
114
165
  export declare const WORLD_STATE_DB_NUM_ITEMS = "aztec.world_state.db_num_items";
@@ -116,7 +167,12 @@ export declare const WORLD_STATE_REQUEST_TIME = "aztec.world_state.request_time"
116
167
  export declare const WORLD_STATE_CRITICAL_ERROR_COUNT = "aztec.world_state.critical_error_count";
117
168
  export declare const PROOF_VERIFIER_COUNT = "aztec.proof_verifier.count";
118
169
  export declare const VALIDATOR_RE_EXECUTION_TIME = "aztec.validator.re_execution_time";
170
+ export declare const VALIDATOR_RE_EXECUTION_MANA = "aztec.validator.re_execution_mana";
171
+ export declare const VALIDATOR_RE_EXECUTION_TX_COUNT = "aztec.validator.re_execution_tx_count";
119
172
  export declare const VALIDATOR_FAILED_REEXECUTION_COUNT = "aztec.validator.failed_reexecution_count";
173
+ export declare const VALIDATOR_ATTESTATION_SUCCESS_COUNT = "aztec.validator.attestation_success_count";
174
+ export declare const VALIDATOR_ATTESTATION_FAILED_BAD_PROPOSAL_COUNT = "aztec.validator.attestation_failed_bad_proposal_count";
175
+ export declare const VALIDATOR_ATTESTATION_FAILED_NODE_ISSUE_COUNT = "aztec.validator.attestation_failed_node_issue_count";
120
176
  export declare const NODEJS_EVENT_LOOP_DELAY_MIN = "nodejs.eventloop.delay.min";
121
177
  export declare const NODEJS_EVENT_LOOP_DELAY_MEAN = "nodejs.eventloop.delay.mean";
122
178
  export declare const NODEJS_EVENT_LOOP_DELAY_MAX = "nodejs.eventloop.delay.max";
@@ -126,4 +182,23 @@ export declare const NODEJS_EVENT_LOOP_DELAY_P90 = "nodejs.eventloop.delay.p90";
126
182
  export declare const NODEJS_EVENT_LOOP_DELAY_P99 = "nodejs.eventloop.delay.p99";
127
183
  export declare const NODEJS_EVENT_LOOP_UTILIZATION = "nodejs.eventloop.utilization";
128
184
  export declare const NODEJS_EVENT_LOOP_TIME = "nodejs.eventloop.time";
185
+ export declare const NODEJS_MEMORY_HEAP_USAGE = "nodejs.memory.v8_heap.usage";
186
+ export declare const NODEJS_MEMORY_HEAP_TOTAL = "nodejs.memory.v8_heap.total";
187
+ export declare const NODEJS_MEMORY_NATIVE_USAGE = "nodejs.memory.native.usage";
188
+ export declare const NODEJS_MEMORY_BUFFER_USAGE = "nodejs.memory.array_buffer.usage";
189
+ export declare const TX_PROVIDER_TXS_FROM_PROPOSALS_COUNT = "aztec.tx_collector.txs_from_proposal_count";
190
+ export declare const TX_PROVIDER_TXS_FROM_MEMPOOL_COUNT = "aztec.tx_collector.txs_from_mempool_count";
191
+ export declare const TX_PROVIDER_TXS_FROM_P2P_COUNT = "aztec.tx_collector.txs_from_p2p_count";
192
+ export declare const TX_PROVIDER_MISSING_TXS_COUNT = "aztec.tx_collector.missing_txs_count";
193
+ export declare const TX_COLLECTOR_COUNT = "aztec.tx_collector.tx_count";
194
+ export declare const TX_COLLECTOR_DURATION_PER_REQUEST = "aztec.tx_collector.duration_per_request";
195
+ export declare const TX_COLLECTOR_DURATION_PER_TX = "aztec.tx_collector.duration_per_tx";
196
+ export declare const IVC_VERIFIER_TIME = "aztec.ivc_verifier.time";
197
+ export declare const IVC_VERIFIER_TOTAL_TIME = "aztec.ivc_verifier.total_time";
198
+ export declare const IVC_VERIFIER_FAILURE_COUNT = "aztec.ivc_verifier.failure_count";
199
+ export declare const IVC_VERIFIER_AGG_DURATION_MIN = "aztec.ivc_verifier.agg_duration_min";
200
+ export declare const IVC_VERIFIER_AGG_DURATION_MAX = "aztec.ivc_verifier.agg_duration_max";
201
+ export declare const IVC_VERIFIER_AGG_DURATION_P50 = "aztec.ivc_verifier.agg_duration_p50";
202
+ export declare const IVC_VERIFIER_AGG_DURATION_P90 = "aztec.ivc_verifier.agg_duration_p90";
203
+ export declare const IVC_VERIFIER_AGG_DURATION_AVG = "aztec.ivc_verifier.agg_duration_avg";
129
204
  //# sourceMappingURL=metrics.d.ts.map