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

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 (90) hide show
  1. package/dest/attributes.d.ts +33 -9
  2. package/dest/attributes.d.ts.map +1 -1
  3. package/dest/attributes.js +22 -8
  4. package/dest/bench.d.ts +6 -1
  5. package/dest/bench.d.ts.map +1 -1
  6. package/dest/bench.js +31 -14
  7. package/dest/config.d.ts +7 -2
  8. package/dest/config.d.ts.map +1 -1
  9. package/dest/config.js +29 -1
  10. package/dest/index.d.ts +2 -1
  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 +54 -0
  16. package/dest/lmdb_metrics.d.ts +5 -3
  17. package/dest/lmdb_metrics.d.ts.map +1 -1
  18. package/dest/lmdb_metrics.js +7 -15
  19. package/dest/metric-utils.d.ts +24 -0
  20. package/dest/metric-utils.d.ts.map +1 -0
  21. package/dest/metric-utils.js +59 -0
  22. package/dest/metrics.d.ts +247 -122
  23. package/dest/metrics.d.ts.map +1 -1
  24. package/dest/metrics.js +1239 -120
  25. package/dest/nodejs_metrics_monitor.d.ts +19 -0
  26. package/dest/nodejs_metrics_monitor.d.ts.map +1 -0
  27. package/dest/nodejs_metrics_monitor.js +115 -0
  28. package/dest/noop.d.ts +9 -4
  29. package/dest/noop.d.ts.map +1 -1
  30. package/dest/noop.js +34 -1
  31. package/dest/otel.d.ts +13 -7
  32. package/dest/otel.d.ts.map +1 -1
  33. package/dest/otel.js +142 -21
  34. package/dest/otel_filter_metric_exporter.d.ts +12 -4
  35. package/dest/otel_filter_metric_exporter.d.ts.map +1 -1
  36. package/dest/otel_filter_metric_exporter.js +38 -4
  37. package/dest/otel_logger_provider.d.ts +1 -1
  38. package/dest/otel_propagation.d.ts +1 -1
  39. package/dest/otel_resource.d.ts +1 -1
  40. package/dest/otel_resource.d.ts.map +1 -1
  41. package/dest/otel_resource.js +43 -2
  42. package/dest/prom_otel_adapter.d.ts +61 -12
  43. package/dest/prom_otel_adapter.d.ts.map +1 -1
  44. package/dest/prom_otel_adapter.js +157 -48
  45. package/dest/start.d.ts +3 -2
  46. package/dest/start.d.ts.map +1 -1
  47. package/dest/start.js +8 -7
  48. package/dest/telemetry.d.ts +63 -34
  49. package/dest/telemetry.d.ts.map +1 -1
  50. package/dest/telemetry.js +47 -24
  51. package/dest/vendor/attributes.d.ts +1 -1
  52. package/dest/vendor/otel-pino-stream.d.ts +1 -2
  53. package/dest/vendor/otel-pino-stream.d.ts.map +1 -1
  54. package/dest/vendor/otel-pino-stream.js +2 -2
  55. package/dest/with_tracer.d.ts +1 -1
  56. package/dest/with_tracer.d.ts.map +1 -1
  57. package/dest/wrappers/fetch.d.ts +2 -2
  58. package/dest/wrappers/fetch.d.ts.map +1 -1
  59. package/dest/wrappers/fetch.js +7 -5
  60. package/dest/wrappers/index.d.ts +1 -1
  61. package/dest/wrappers/json_rpc_server.d.ts +2 -2
  62. package/dest/wrappers/json_rpc_server.d.ts.map +1 -1
  63. package/dest/wrappers/l2_block_stream.d.ts +4 -3
  64. package/dest/wrappers/l2_block_stream.d.ts.map +1 -1
  65. package/dest/wrappers/l2_block_stream.js +385 -11
  66. package/package.json +21 -15
  67. package/src/attributes.ts +42 -11
  68. package/src/bench.ts +37 -15
  69. package/src/config.ts +54 -2
  70. package/src/index.ts +1 -0
  71. package/src/l1_metrics.ts +65 -0
  72. package/src/lmdb_metrics.ts +24 -24
  73. package/src/metric-utils.ts +75 -0
  74. package/src/metrics.ts +1313 -145
  75. package/src/nodejs_metrics_monitor.ts +135 -0
  76. package/src/noop.ts +65 -4
  77. package/src/otel.ts +155 -26
  78. package/src/otel_filter_metric_exporter.ts +47 -5
  79. package/src/otel_resource.ts +57 -2
  80. package/src/prom_otel_adapter.ts +195 -70
  81. package/src/start.ts +12 -8
  82. package/src/telemetry.ts +153 -76
  83. package/src/vendor/otel-pino-stream.ts +1 -4
  84. package/src/wrappers/fetch.ts +24 -31
  85. package/src/wrappers/json_rpc_server.ts +1 -1
  86. package/src/wrappers/l2_block_stream.ts +6 -2
  87. package/dest/event_loop_monitor.d.ts +0 -18
  88. package/dest/event_loop_monitor.d.ts.map +0 -1
  89. package/dest/event_loop_monitor.js +0 -93
  90. package/src/event_loop_monitor.ts +0 -119
@@ -13,31 +13,34 @@
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";
42
+ /** The checkpoint number */
43
+ export declare const CHECKPOINT_NUMBER = "aztec.checkpoint.number";
41
44
  /** The parent's block number */
42
45
  export declare const BLOCK_PARENT = "aztec.block.parent";
43
46
  /** How many txs are being processed to build this block */
@@ -64,6 +67,8 @@ export declare const ERROR_TYPE = "aztec.error_type";
64
67
  export declare const L1_TX_TYPE = "aztec.l1.tx_type";
65
68
  /** The L1 address of the entity that sent a transaction to L1 */
66
69
  export declare const L1_SENDER = "aztec.l1.sender";
70
+ /** The L1 address receiving rewards */
71
+ export declare const COINBASE = "aztec.coinbase";
67
72
  /** The phase of the transaction */
68
73
  export declare const TX_PHASE_NAME = "aztec.tx.phase_name";
69
74
  /** The reason for disconnecting a peer */
@@ -72,20 +77,27 @@ export declare const P2P_GOODBYE_REASON = "aztec.p2p.goodbye.reason";
72
77
  export declare const PROVING_JOB_TYPE = "aztec.proving.job_type";
73
78
  /** The proving job id */
74
79
  export declare const PROVING_JOB_ID = "aztec.proving.job_id";
80
+ /** Merkle tree name */
75
81
  export declare const MERKLE_TREE_NAME = "aztec.merkle_tree.name";
76
82
  /** The prover-id in a root rollup proof. */
77
83
  export declare const ROLLUP_PROVER_ID = "aztec.rollup.prover_id";
78
84
  /** Whether the proof submission was timed out (delayed more than 20 min) */
79
85
  export declare const PROOF_TIMED_OUT = "aztec.proof.timed_out";
86
+ /** Status of the validator (eg proposer, in-committee, none) */
87
+ export declare const VALIDATOR_STATUS = "aztec.validator_status";
80
88
  export declare const P2P_ID = "aztec.p2p.id";
81
89
  export declare const P2P_REQ_RESP_PROTOCOL = "aztec.p2p.req_resp.protocol";
82
90
  export declare const P2P_REQ_RESP_BATCH_REQUESTS_COUNT = "aztec.p2p.req_resp.batch_requests_count";
91
+ /** The state of a peer (Healthy, Disconnect, Banned) */
92
+ export declare const P2P_PEER_SCORE_STATE = "aztec.p2p.peer_score_state";
83
93
  export declare const POOL_NAME = "aztec.pool.name";
94
+ export declare const PEER_ID = "aztec.p2p.peer_id";
84
95
  export declare const SEQUENCER_STATE = "aztec.sequencer.state";
85
96
  export declare const SIMULATOR_PHASE = "aztec.simulator.phase";
86
97
  export declare const TARGET_ADDRESS = "aztec.address.target";
87
98
  export declare const SENDER_ADDRESS = "aztec.address.sender";
88
99
  export declare const MANA_USED = "aztec.mana.used";
100
+ export declare const TOTAL_INSTRUCTIONS = "aztec.total_instructions";
89
101
  /** Whether a sync process is the initial run, which is usually slower than iterative ones. */
90
102
  export declare const INITIAL_SYNC = "aztec.initial_sync";
91
103
  /** Identifier for the tables in a world state DB */
@@ -96,4 +108,16 @@ export declare const REVERTIBILITY = "aztec.revertibility";
96
108
  export declare const GAS_DIMENSION = "aztec.gas_dimension";
97
109
  export declare const WORLD_STATE_REQUEST_TYPE = "aztec.world_state_request";
98
110
  export declare const NODEJS_EVENT_LOOP_STATE = "nodejs.eventloop.state";
99
- //# sourceMappingURL=attributes.d.ts.map
111
+ export declare const TOPIC_NAME = "aztec.gossip.topic_name";
112
+ export declare const TX_COLLECTION_METHOD = "aztec.tx_collection.method";
113
+ /** Scope of L1 transaction (sequencer, prover, or other) */
114
+ export declare const L1_TX_SCOPE = "aztec.l1_tx.scope";
115
+ /** Generic error type attribute */
116
+ export declare const IS_COMMITTEE_MEMBER = "aztec.is_committee_member";
117
+ /** Fisherman fee analysis strategy identifier */
118
+ export declare const FISHERMAN_FEE_STRATEGY_ID = "aztec.fisherman.strategy_id";
119
+ /** The L1 transaction target for block proposal */
120
+ export declare const L1_BLOCK_PROPOSAL_TX_TARGET = "aztec.l1.block_proposal_tx_target";
121
+ /** Whether tracing methods were used to extract block proposal data */
122
+ export declare const L1_BLOCK_PROPOSAL_USED_TRACE = "aztec.l1.block_proposal_used_trace";
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXR0cmlidXRlcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2F0dHJpYnV0ZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxrQ0FBa0M7QUFDbEMsZUFBTyxNQUFNLGlCQUFpQiw2QkFBNkIsQ0FBQztBQUM1RCxlQUFPLE1BQU0seUJBQXlCLDhCQUE4QixDQUFDO0FBRXJFLG1DQUFtQztBQUNuQyxlQUFPLE1BQU0sWUFBWSx1QkFBdUIsQ0FBQztBQUVqRCxlQUFPLE1BQU0sZUFBZSxvQkFBb0IsQ0FBQztBQUNqRCxlQUFPLE1BQU0sb0JBQW9CLHlCQUF5QixDQUFDO0FBQzNELGVBQU8sTUFBTSxvQkFBb0IseUJBQXlCLENBQUM7QUFDM0QsZUFBTyxNQUFNLHNCQUFzQiwyQkFBMkIsQ0FBQztBQUUvRDs7O0dBR0c7QUFDSCxlQUFPLE1BQU0scUJBQXFCLHdDQUF3QyxDQUFDO0FBRTNFOztHQUVHO0FBQ0gsZUFBTyxNQUFNLGdCQUFnQixtQ0FBbUMsQ0FBQztBQUVqRSx3QkFBd0I7QUFDeEIsZUFBTyxNQUFNLGFBQWEsd0JBQXdCLENBQUM7QUFDbkQsdUJBQXVCO0FBQ3ZCLGVBQU8sTUFBTSxZQUFZLHVCQUF1QixDQUFDO0FBQ2pELHdCQUF3QjtBQUN4QixlQUFPLE1BQU0sVUFBVSxxQkFBcUIsQ0FBQztBQUM3QyxzQkFBc0I7QUFDdEIsZUFBTyxNQUFNLFdBQVcsc0JBQXNCLENBQUM7QUFDL0MsNEJBQTRCO0FBQzVCLGVBQU8sTUFBTSxpQkFBaUIsNEJBQTRCLENBQUM7QUFDM0QsZ0NBQWdDO0FBQ2hDLGVBQU8sTUFBTSxZQUFZLHVCQUF1QixDQUFDO0FBQ2pELDJEQUEyRDtBQUMzRCxlQUFPLE1BQU0seUJBQXlCLG9DQUFvQyxDQUFDO0FBQzNFLHNEQUFzRDtBQUN0RCxlQUFPLE1BQU0sZUFBZSwwQkFBMEIsQ0FBQztBQUN2RCxxQkFBcUI7QUFDckIsZUFBTyxNQUFNLFVBQVUs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
@@ -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,23 +12,25 @@
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';
33
+ /** The checkpoint number */ export const CHECKPOINT_NUMBER = 'aztec.checkpoint.number';
32
34
  /** The parent's block number */ export const BLOCK_PARENT = 'aztec.block.parent';
33
35
  /** How many txs are being processed to build this block */ export const BLOCK_CANDIDATE_TXS_COUNT = 'aztec.block.candidate_txs_count';
34
36
  /** How many actual txs were included in this block */ export const BLOCK_TXS_COUNT = 'aztec.block.txs_count';
@@ -42,22 +44,27 @@
42
44
  /** Generic error type attribute */ export const ERROR_TYPE = 'aztec.error_type';
43
45
  /** The type of the transaction */ export const L1_TX_TYPE = 'aztec.l1.tx_type';
44
46
  /** The L1 address of the entity that sent a transaction to L1 */ export const L1_SENDER = 'aztec.l1.sender';
47
+ /** The L1 address receiving rewards */ export const COINBASE = 'aztec.coinbase';
45
48
  /** The phase of the transaction */ export const TX_PHASE_NAME = 'aztec.tx.phase_name';
46
49
  /** The reason for disconnecting a peer */ export const P2P_GOODBYE_REASON = 'aztec.p2p.goodbye.reason';
47
50
  /** The proving job type */ export const PROVING_JOB_TYPE = 'aztec.proving.job_type';
48
51
  /** The proving job id */ export const PROVING_JOB_ID = 'aztec.proving.job_id';
49
- export const MERKLE_TREE_NAME = 'aztec.merkle_tree.name';
52
+ /** Merkle tree name */ export const MERKLE_TREE_NAME = 'aztec.merkle_tree.name';
50
53
  /** The prover-id in a root rollup proof. */ export const ROLLUP_PROVER_ID = 'aztec.rollup.prover_id';
51
54
  /** Whether the proof submission was timed out (delayed more than 20 min) */ export const PROOF_TIMED_OUT = 'aztec.proof.timed_out';
55
+ /** Status of the validator (eg proposer, in-committee, none) */ export const VALIDATOR_STATUS = 'aztec.validator_status';
52
56
  export const P2P_ID = 'aztec.p2p.id';
53
57
  export const P2P_REQ_RESP_PROTOCOL = 'aztec.p2p.req_resp.protocol';
54
58
  export const P2P_REQ_RESP_BATCH_REQUESTS_COUNT = 'aztec.p2p.req_resp.batch_requests_count';
59
+ /** The state of a peer (Healthy, Disconnect, Banned) */ export const P2P_PEER_SCORE_STATE = 'aztec.p2p.peer_score_state';
55
60
  export const POOL_NAME = 'aztec.pool.name';
61
+ export const PEER_ID = 'aztec.p2p.peer_id';
56
62
  export const SEQUENCER_STATE = 'aztec.sequencer.state';
57
63
  export const SIMULATOR_PHASE = 'aztec.simulator.phase';
58
64
  export const TARGET_ADDRESS = 'aztec.address.target';
59
65
  export const SENDER_ADDRESS = 'aztec.address.sender';
60
66
  export const MANA_USED = 'aztec.mana.used';
67
+ export const TOTAL_INSTRUCTIONS = 'aztec.total_instructions';
61
68
  /** Whether a sync process is the initial run, which is usually slower than iterative ones. */ export const INITIAL_SYNC = 'aztec.initial_sync';
62
69
  /** Identifier for the tables in a world state DB */ export const WS_DB_DATA_TYPE = 'aztec.world_state.db_type';
63
70
  /** Identifier for component database (e.g. archiver, tx pool) */ export const DB_DATA_TYPE = 'aztec.db_type';
@@ -65,3 +72,10 @@ export const REVERTIBILITY = 'aztec.revertibility';
65
72
  export const GAS_DIMENSION = 'aztec.gas_dimension';
66
73
  export const WORLD_STATE_REQUEST_TYPE = 'aztec.world_state_request';
67
74
  export const NODEJS_EVENT_LOOP_STATE = 'nodejs.eventloop.state';
75
+ export const TOPIC_NAME = 'aztec.gossip.topic_name';
76
+ export const TX_COLLECTION_METHOD = 'aztec.tx_collection.method';
77
+ /** Scope of L1 transaction (sequencer, prover, or other) */ export const L1_TX_SCOPE = 'aztec.l1_tx.scope';
78
+ /** Generic error type attribute */ export const IS_COMMITTEE_MEMBER = 'aztec.is_committee_member';
79
+ /** Fisherman fee analysis strategy identifier */ export const FISHERMAN_FEE_STRATEGY_ID = 'aztec.fisherman.strategy_id';
80
+ /** The L1 transaction target for block proposal */ export const L1_BLOCK_PROPOSAL_TX_TARGET = 'aztec.l1.block_proposal_tx_target';
81
+ /** Whether tracing methods were used to extract block proposal data */ export const L1_BLOCK_PROPOSAL_USED_TRACE = 'aztec.l1.block_proposal_used_trace';
package/dest/bench.d.ts CHANGED
@@ -13,11 +13,16 @@ 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>;
19
22
  flush(): Promise<void>;
20
23
  isEnabled(): boolean;
24
+ getTraceContext(): string | undefined;
25
+ extractPropagatedContext(): undefined;
21
26
  getMeters(): BenchmarkMetricsType;
22
27
  clear(): void;
23
28
  }
@@ -26,4 +31,4 @@ export type BenchmarkDataPoint = {
26
31
  attributes?: AttributesType;
27
32
  context?: Context;
28
33
  };
29
- //# sourceMappingURL=bench.d.ts.map
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2guZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iZW5jaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBMkIsT0FBTyxFQUE2QixTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUlqSCxPQUFPLEtBQUssRUFDVixjQUFjLEVBR2QsS0FBSyxFQUdMLGVBQWUsRUFDZixNQUFNLEVBRVAsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxNQUFNLENBQUM7UUFDYixJQUFJLEVBQUUsT0FBTyxHQUFHLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDeEMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNkLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztRQUN0QixNQUFNLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztLQUM5QixFQUFFLENBQUM7Q0FDTCxFQUFFLENBQUM7QUFFSixxQkFBYSx3QkFBeUIsWUFBVyxlQUFlO0lBQzlELE9BQU8sQ0FBQyxNQUFNLENBQTRCO0lBRTFDLGNBR0M7SUFFRCwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFHO0lBQ3hELDZCQUE2QixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUc7SUFFeEQsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSyxDQUk1QjtJQUVELFNBQVMsSUFBSSxNQUFNLENBRWxCO0lBRUQsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFcEI7SUFFRCxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVyQjtJQUVELFNBQVMsWUFFUjtJQUVELGVBQWUsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUVwQztJQUVELHdCQUF3QixjQUV2QjtJQUVELFNBQVMsSUFBSSxvQkFBb0IsQ0FFaEM7SUFFRCxLQUFLLFNBRUo7Q0FDRjtBQW9ERCxNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQUMsVUFBVSxDQUFDLEVBQUUsY0FBYyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQUUsQ0FBQyJ9
@@ -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;AAIjH,OAAO,KAAK,EACV,cAAc,EAGd,KAAK,EAGL,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,cAGC;IAED,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,CAAG;IACxD,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAG;IAExD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAI5B;IAED,SAAS,IAAI,MAAM,CAElB;IAED,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAEpB;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErB;IAED,SAAS,YAER;IAED,eAAe,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED,wBAAwB,cAEvB;IAED,SAAS,IAAI,oBAAoB,CAEhC;IAED,KAAK,SAEJ;CACF;AAoDD,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);
@@ -18,6 +25,12 @@ export class BenchmarkTelemetryClient {
18
25
  isEnabled() {
19
26
  return true;
20
27
  }
28
+ getTraceContext() {
29
+ return undefined;
30
+ }
31
+ extractPropagatedContext() {
32
+ return undefined;
33
+ }
21
34
  getMeters() {
22
35
  return this.meters;
23
36
  }
@@ -35,25 +48,29 @@ class InMemoryPlainMeter {
35
48
  clear() {
36
49
  this.metrics.forEach((metric)=>metric.clear());
37
50
  }
38
- createGauge(name, options) {
39
- return this.createMetric('gauge', name, options);
51
+ createGauge(metric) {
52
+ return this.createMetric('gauge', metric);
40
53
  }
41
- createObservableGauge(name, options) {
42
- return this.createMetric('gauge', name, options);
54
+ createObservableGauge(metric) {
55
+ return this.createMetric('gauge', metric);
43
56
  }
44
- createHistogram(name, options) {
45
- return this.createMetric('histogram', name, options);
57
+ createHistogram(metric, _extraOptions) {
58
+ return this.createMetric('histogram', metric);
46
59
  }
47
- createUpDownCounter(name, options) {
48
- return this.createMetric('counter', name, options);
60
+ createUpDownCounter(metric) {
61
+ return this.createMetric('counter', metric);
49
62
  }
50
- createObservableUpDownCounter(name, options) {
51
- return this.createMetric('counter', name, options);
63
+ createObservableUpDownCounter(metric) {
64
+ return this.createMetric('counter', metric);
52
65
  }
53
- createMetric(type, name, options) {
54
- const metric = new InMemoryPlainMetric(type, name, options);
55
- this.metrics.push(metric);
56
- return metric;
66
+ createMetric(type, metric) {
67
+ const m = new InMemoryPlainMetric(type, metric.name, {
68
+ description: metric.description,
69
+ unit: metric.unit,
70
+ valueType: metric.valueType
71
+ });
72
+ this.metrics.push(m);
73
+ return m;
57
74
  }
58
75
  addBatchObservableCallback(_callback, _observables) {}
59
76
  removeBatchObservableCallback(_callback, _observables) {}
package/dest/config.d.ts CHANGED
@@ -1,12 +1,17 @@
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[];
13
+ otelIncludeMetrics: string[];
9
14
  }
10
15
  export declare const telemetryClientConfigMappings: ConfigMappingsType<TelemetryClientConfig>;
11
16
  export declare function getConfigEnvVars(): TelemetryClientConfig;
12
- //# sourceMappingURL=config.d.ts.map
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLGtCQUFrQixFQUE4QyxNQUFNLDBCQUEwQixDQUFDO0FBRS9HLE1BQU0sV0FBVyxxQkFBcUI7SUFDcEMsbUJBQW1CLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDMUIseUJBQXlCLENBQUMsRUFBRSxHQUFHLENBQUM7SUFDaEMsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDL0IsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO0lBQzdCLHdCQUF3QixFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ25DLGtCQUFrQixDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ3pCLGdCQUFnQixDQUFDLEVBQUUsR0FBRyxDQUFDO0lBQ3ZCLHFCQUFxQixFQUFFLE1BQU0sQ0FBQztJQUM5QixtQkFBbUIsRUFBRSxNQUFNLENBQUM7SUFDNUIsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDN0Isa0JBQWtCLEVBQUUsTUFBTSxFQUFFLENBQUM7Q0FDOUI7QUFFRCxlQUFPLE1BQU0sNkJBQTZCLEVBQUUsa0JBQWtCLENBQUMscUJBQXFCLENBdUZuRixDQUFDO0FBRUYsd0JBQWdCLGdCQUFnQixJQUFJLHFCQUFxQixDQUV4RCJ9
@@ -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;IAC7B,kBAAkB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAED,eAAO,MAAM,6BAA6B,EAAE,kBAAkB,CAAC,qBAAqB,CAuFnF,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,34 @@ 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
+ otelIncludeMetrics: {
37
+ env: 'OTEL_INCLUDE_METRICS',
38
+ description: 'A list of metric prefixes to include in export (ignored if OTEL_EXCLUDE_METRICS is set)',
39
+ parseEnv: (val)=>val ? val.split(',').map((s)=>s.trim()).filter((s)=>s.length > 0) : [],
40
+ defaultValue: []
41
+ },
42
+ publicMetricsCollectorUrl: {
43
+ env: 'PUBLIC_OTEL_EXPORTER_OTLP_METRICS_ENDPOINT',
44
+ description: 'A URL to publish a subset of metrics for public consumption',
45
+ parseEnv: (val)=>val && new URL(val)
46
+ },
47
+ publicMetricsCollectFrom: {
48
+ env: 'PUBLIC_OTEL_COLLECT_FROM',
49
+ description: 'The role types to collect metrics from',
50
+ parseEnv: (val)=>val ? val.split(',').map((s)=>s.trim()).filter((s)=>s.length > 0) : [],
51
+ defaultValue: []
52
+ },
53
+ publicIncludeMetrics: {
54
+ env: 'PUBLIC_OTEL_INCLUDE_METRICS',
55
+ description: 'A list of metric prefixes to publicly export',
56
+ parseEnv: (val)=>val ? val.split(',').map((s)=>s.trim()).filter((s)=>s.length > 0) : [],
57
+ defaultValue: []
58
+ },
59
+ publicMetricsOptOut: {
60
+ env: 'PUBLIC_OTEL_OPT_OUT',
61
+ description: 'Whether to opt out of sharing optional telemetry',
62
+ ...booleanConfigHelper(true)
35
63
  }
36
64
  };
37
65
  export function getConfigEnvVars() {
package/dest/index.d.ts CHANGED
@@ -4,7 +4,8 @@ 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';
10
- //# sourceMappingURL=index.d.ts.map
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLE9BQU8sS0FBSyxPQUFPLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsdUJBQXVCLENBQUMifQ==
@@ -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=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2wxX21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUFFLEtBQUssaUJBQWlCLEVBQVksS0FBSyxhQUFhLEVBQUUsS0FBSyxZQUFZLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFJeEgsT0FBTyxLQUFLLEVBQXlCLEtBQUssRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRixxQkFBYSxTQUFTO0lBUWxCLE9BQU8sQ0FBQyxLQUFLO0lBQ2IsT0FBTyxDQUFDLE1BQU07SUFSaEIsT0FBTyxDQUFDLGFBQWEsQ0FBa0I7SUFDdkMsT0FBTyxDQUFDLFlBQVksQ0FBa0I7SUFDdEMsT0FBTyxDQUFDLFdBQVcsQ0FBa0I7SUFDckMsT0FBTyxDQUFDLGNBQWMsQ0FBa0I7SUFDeEMsT0FBTyxDQUFDLFNBQVMsQ0FBUTtJQUV6QixZQUNVLEtBQUssRUFBRSxLQUFLLEVBQ1osTUFBTSxFQUFFLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2RSxTQUFTLEVBQUUsVUFBVSxFQUFFLEVBUXhCO0lBRUQsS0FBSyxTQUVKO0lBRUQsSUFBSSxTQUVIO0lBRUQsT0FBTyxDQUFDLE9BQU8sQ0EyQmI7Q0FDSCJ9
@@ -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,KAAK,EAAyB,KAAK,EAAmB,MAAM,gBAAgB,CAAC;AAEpF,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;IAEzB,YACU,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,YAAY,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,EAAE,KAAK,CAAC,EACvE,SAAS,EAAE,UAAU,EAAE,EAQxB;IAED,KAAK,SAEJ;IAED,IAAI,SAEH;IAED,OAAO,CAAC,OAAO,CA2Bb;CACH"}
@@ -0,0 +1,54 @@
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
+ export class L1Metrics {
5
+ meter;
6
+ client;
7
+ l1BlockHeight;
8
+ l1BalanceEth;
9
+ gasPriceWei;
10
+ blobBaseFeeWei;
11
+ addresses;
12
+ constructor(meter, client, addresses){
13
+ this.meter = meter;
14
+ this.client = client;
15
+ this.observe = async (observer)=>{
16
+ const blockNumber = await this.client.getBlockNumber();
17
+ const ethBalances = await Promise.all(this.addresses.map((address)=>this.client.getBalance({
18
+ address,
19
+ blockNumber
20
+ })));
21
+ const gasPrice = await this.client.getGasPrice();
22
+ const blobFee = await this.client.getBlobBaseFee();
23
+ observer.observe(this.l1BlockHeight, Number(blockNumber));
24
+ observer.observe(this.gasPriceWei, Number(gasPrice));
25
+ observer.observe(this.blobBaseFeeWei, Number(blobFee));
26
+ for(let i = 0; i < ethBalances.length; i++){
27
+ const wei = ethBalances[i];
28
+ const address = this.addresses[i];
29
+ const eth = parseFloat(formatEther(wei, 'wei'));
30
+ observer.observe(this.l1BalanceEth, eth, {
31
+ [L1_SENDER]: address
32
+ });
33
+ }
34
+ };
35
+ this.l1BlockHeight = meter.createObservableGauge(L1_BLOCK_HEIGHT);
36
+ this.l1BalanceEth = meter.createObservableGauge(L1_BALANCE_ETH);
37
+ this.gasPriceWei = meter.createObservableGauge(L1_GAS_PRICE_WEI);
38
+ this.blobBaseFeeWei = meter.createObservableGauge(L1_BLOB_BASE_FEE_WEI);
39
+ this.addresses = addresses.map((addr)=>addr.toString());
40
+ }
41
+ start() {
42
+ this.meter.addBatchObservableCallback(this.observe, [
43
+ this.l1BalanceEth,
44
+ this.l1BlockHeight
45
+ ]);
46
+ }
47
+ stop() {
48
+ this.meter.removeBatchObservableCallback(this.observe, [
49
+ this.l1BalanceEth,
50
+ this.l1BlockHeight
51
+ ]);
52
+ }
53
+ observe;
54
+ }
@@ -1,6 +1,7 @@
1
- import { type Meter } from './telemetry.js';
1
+ import 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?: Partial<Record<"aztec.address.sender" | "aztec.address.target" | "aztec.block.archive" | "aztec.block.candidate_txs_count" | "aztec.block.hash" | "aztec.block.number" | "aztec.block.parent" | "aztec.block.proposer" | "aztec.block.size" | "aztec.block.txs_count" | "aztec.checkpoint.number" | "aztec.circuit.app_circuit_name" | "aztec.circuit.protocol_circuit_name" | "aztec.coinbase" | "aztec.db_type" | "aztec.epoch.number" | "aztec.epoch.size" | "aztec.error_type" | "aztec.fisherman.strategy_id" | "aztec.gas_dimension" | "aztec.gossip.topic_name" | "aztec.initial_sync" | "aztec.is_committee_member" | "aztec.l1.block_proposal_tx_target" | "aztec.l1.block_proposal_used_trace" | "aztec.l1.sender" | "aztec.l1.tx_type" | "aztec.l1_tx.scope" | "aztec.mana.used" | "aztec.merkle_tree.name" | "aztec.network_name" | "aztec.node_role" | "aztec.ok" | "aztec.p2p.goodbye.reason" | "aztec.p2p.id" | "aztec.p2p.peer_id" | "aztec.p2p.peer_score_state" | "aztec.p2p.req_resp.batch_requests_count" | "aztec.p2p.req_resp.protocol" | "aztec.pool.name" | "aztec.proof.timed_out" | "aztec.proving.job_id" | "aztec.proving.job_type" | "aztec.registry_address" | "aztec.revertibility" | "aztec.rollup.prover_id" | "aztec.rollup_address" | "aztec.rollup_version" | "aztec.sequencer.state" | "aztec.simulator.phase" | "aztec.slot.number" | "aztec.status" | "aztec.total_instructions" | "aztec.tx.hash" | "aztec.tx.phase_name" | "aztec.tx_collection.method" | "aztec.validator_status" | "aztec.world_state.db_type" | "aztec.world_state_request" | "http.header.request.host" | "http.response.status_code" | "nodejs.eventloop.state", import("@opentelemetry/api").AttributeValue>> | undefined, getStats?: LmdbStatsCallback | undefined);
14
16
  private recordDBMetrics;
15
17
  }
16
- //# sourceMappingURL=lmdb_metrics.d.ts.map
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG1kYl9tZXRyaWNzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbG1kYl9tZXRyaWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sS0FBSyxFQUF5QyxLQUFLLEVBQW1CLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEcsTUFBTSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sT0FBTyxDQUFDO0lBQzVDLFdBQVcsRUFBRSxNQUFNLENBQUM7SUFDcEIsZ0JBQWdCLEVBQUUsTUFBTSxDQUFDO0lBQ3pCLFFBQVEsRUFBRSxNQUFNLENBQUM7SUFDakIsVUFBVSxFQUFFLE1BQU0sQ0FBQztDQUNwQixDQUFDLENBQUM7QUFFSCxxQkFBYSxXQUFXO0lBUXBCLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDbkIsT0FBTyxDQUFDLFFBQVEsQ0FBQztJQVJuQixPQUFPLENBQUMsU0FBUyxDQUFrQjtJQUNuQyxPQUFPLENBQUMsa0JBQWtCLENBQWtCO0lBQzVDLE9BQU8sQ0FBQyxVQUFVLENBQWtCO0lBQ3BDLE9BQU8sQ0FBQyxVQUFVLENBQWtCO0lBRXBDLFlBQ0UsS0FBSyxFQUFFLEtBQUssRUFDSixVQUFVLENBQUMsMG9EQUFnQixFQUMzQixRQUFRLENBQUMsK0JBQW1CLEVBYXJDO0lBRUQsT0FBTyxDQUFDLGVBQWUsQ0FTckI7Q0FDSCJ9
@@ -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,KAAK,EAAyC,KAAK,EAAmB,MAAM,gBAAgB,CAAC;AAEpG,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;IAEpC,YACE,KAAK,EAAE,KAAK,EACJ,UAAU,CAAC,0oDAAgB,EAC3B,QAAQ,CAAC,+BAAmB,EAarC;IAED,OAAO,CAAC,eAAe,CASrB;CACH"}
@@ -1,9 +1,9 @@
1
1
  import * as Metrics from './metrics.js';
2
- import { ValueType } from './telemetry.js';
3
2
  export class LmdbMetrics {
4
3
  attributes;
5
4
  getStats;
6
5
  dbMapSize;
6
+ dbPhysicalFileSize;
7
7
  dbUsedSize;
8
8
  dbNumItems;
9
9
  constructor(meter, attributes, getStats){
@@ -15,25 +15,17 @@ export class LmdbMetrics {
15
15
  }
16
16
  const metrics = await this.getStats();
17
17
  observable.observe(this.dbMapSize, metrics.mappingSize, this.attributes);
18
+ observable.observe(this.dbPhysicalFileSize, metrics.physicalFileSize, this.attributes);
18
19
  observable.observe(this.dbNumItems, metrics.numItems, this.attributes);
19
20
  observable.observe(this.dbUsedSize, metrics.actualSize, this.attributes);
20
21
  };
21
- this.dbMapSize = meter.createObservableGauge(Metrics.DB_MAP_SIZE, {
22
- description: 'LMDB Map Size',
23
- valueType: ValueType.INT,
24
- unit: 'By'
25
- });
26
- this.dbUsedSize = meter.createObservableGauge(Metrics.DB_USED_SIZE, {
27
- description: 'LMDB Used Size',
28
- valueType: ValueType.INT,
29
- unit: 'By'
30
- });
31
- this.dbNumItems = meter.createObservableGauge(Metrics.DB_NUM_ITEMS, {
32
- description: 'LMDB Num Items',
33
- valueType: ValueType.INT
34
- });
22
+ this.dbMapSize = meter.createObservableGauge(Metrics.DB_MAP_SIZE);
23
+ this.dbPhysicalFileSize = meter.createObservableGauge(Metrics.DB_PHYSICAL_FILE_SIZE);
24
+ this.dbUsedSize = meter.createObservableGauge(Metrics.DB_USED_SIZE);
25
+ this.dbNumItems = meter.createObservableGauge(Metrics.DB_NUM_ITEMS);
35
26
  meter.addBatchObservableCallback(this.recordDBMetrics, [
36
27
  this.dbMapSize,
28
+ this.dbPhysicalFileSize,
37
29
  this.dbUsedSize,
38
30
  this.dbNumItems
39
31
  ]);
@@ -0,0 +1,24 @@
1
+ import type { AttributeValue, MetricOptions } from '@opentelemetry/api';
2
+ import type { MetricDefinition } from './metrics.js';
3
+ import type { AllowedAttributeNames, Meter, MetricAttributesType, UpDownCounter } from './telemetry.js';
4
+ /** Extracts OpenTelemetry MetricOptions from a MetricDefinition */
5
+ export declare function toMetricOptions(def: MetricDefinition): MetricOptions;
6
+ /** A mapping of attribute keys to their possible values */
7
+ export type AttributeValuesMap = Partial<Record<AllowedAttributeNames, AttributeValue[]>>;
8
+ /**
9
+ * Expands an attribute values map into all combinations of attribute objects.
10
+ * Example: { status: ['ok', 'fail'], type: ['a', 'b'] } =>
11
+ * [{ status: 'ok', type: 'a' }, { status: 'ok', type: 'b' }, { status: 'fail', type: 'a' }, { status: 'fail', type: 'b' }]
12
+ */
13
+ export declare function expandAttributeCombinations(attrMap: AttributeValuesMap): MetricAttributesType[];
14
+ /**
15
+ * Creates an UpDownCounter and initializes it to 0.
16
+ * @param meter - The meter to create the counter on
17
+ * @param metric - The metric definition
18
+ * @param attributes - Optional attributes for initialization. Can be:
19
+ * - AttributeValuesMap: mapping of attribute keys to arrays of possible values (generates cartesian product)
20
+ * - MetricAttributesType[]: explicit array of attribute objects
21
+ * - undefined: initializes without attributes
22
+ */
23
+ export declare function createUpDownCounterWithDefault(meter: Meter, metric: MetricDefinition, attributes?: AttributeValuesMap | MetricAttributesType[] | undefined): UpDownCounter;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0cmljLXV0aWxzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbWV0cmljLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV4RSxPQUFPLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUNyRCxPQUFPLEtBQUssRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsb0JBQW9CLEVBQUUsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEcsbUVBQW1FO0FBQ25FLHdCQUFnQixlQUFlLENBQUMsR0FBRyxFQUFFLGdCQUFnQixHQUFHLGFBQWEsQ0FNcEU7QUFFRCwyREFBMkQ7QUFDM0QsTUFBTSxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMscUJBQXFCLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBRTFGOzs7O0dBSUc7QUFDSCx3QkFBZ0IsMkJBQTJCLENBQUMsT0FBTyxFQUFFLGtCQUFrQixHQUFHLG9CQUFvQixFQUFFLENBc0IvRjtBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsd0JBQWdCLDhCQUE4QixDQUM1QyxLQUFLLEVBQUUsS0FBSyxFQUNaLE1BQU0sRUFBRSxnQkFBZ0IsRUFDeEIsVUFBVSxHQUFFLGtCQUFrQixHQUFHLG9CQUFvQixFQUFFLEdBQUcsU0FBcUIsR0FDOUUsYUFBYSxDQWVmIn0=
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metric-utils.d.ts","sourceRoot":"","sources":["../src/metric-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAExG,mEAAmE;AACnE,wBAAgB,eAAe,CAAC,GAAG,EAAE,gBAAgB,GAAG,aAAa,CAMpE;AAED,2DAA2D;AAC3D,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,qBAAqB,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;AAE1F;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,kBAAkB,GAAG,oBAAoB,EAAE,CAsB/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,gBAAgB,EACxB,UAAU,GAAE,kBAAkB,GAAG,oBAAoB,EAAE,GAAG,SAAqB,GAC9E,aAAa,CAef"}