@aztec/telemetry-client 0.76.4 → 0.77.0-testnet-ignition.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/attributes.d.ts +3 -1
- package/dest/attributes.d.ts.map +1 -1
- package/dest/attributes.js +31 -61
- package/dest/bench.d.ts +5 -5
- package/dest/bench.d.ts.map +1 -1
- package/dest/bench.js +28 -15
- package/dest/config.d.ts +0 -6
- package/dest/config.d.ts.map +1 -1
- package/dest/config.js +11 -44
- package/dest/event_loop_monitor.js +29 -19
- package/dest/index.d.ts +2 -1
- package/dest/index.d.ts.map +1 -1
- package/dest/index.js +2 -2
- package/dest/lmdb_metrics.d.ts +1 -1
- package/dest/lmdb_metrics.d.ts.map +1 -1
- package/dest/lmdb_metrics.js +21 -12
- package/dest/metrics.d.ts +10 -5
- package/dest/metrics.d.ts.map +1 -1
- package/dest/metrics.js +12 -10
- package/dest/noop.d.ts +1 -1
- package/dest/noop.d.ts.map +1 -1
- package/dest/noop.js +3 -6
- package/dest/otel.d.ts +4 -6
- package/dest/otel.d.ts.map +1 -1
- package/dest/otel.js +191 -90
- package/dest/otel_filter_metric_exporter.d.ts +2 -2
- package/dest/otel_filter_metric_exporter.d.ts.map +1 -1
- package/dest/otel_filter_metric_exporter.js +8 -6
- package/dest/otel_logger_provider.d.ts +1 -1
- package/dest/otel_logger_provider.d.ts.map +1 -1
- package/dest/otel_logger_provider.js +6 -7
- package/dest/otel_propagation.js +18 -12
- package/dest/otel_resource.d.ts.map +1 -1
- package/dest/otel_resource.js +3 -8
- package/dest/prom_otel_adapter.d.ts +2 -2
- package/dest/prom_otel_adapter.d.ts.map +1 -1
- package/dest/prom_otel_adapter.js +50 -53
- package/dest/start.d.ts +2 -2
- package/dest/start.d.ts.map +1 -1
- package/dest/start.js +3 -5
- package/dest/telemetry.d.ts +25 -25
- package/dest/telemetry.d.ts.map +1 -1
- package/dest/telemetry.js +25 -39
- package/dest/vendor/attributes.js +0 -1
- package/dest/vendor/otel-pino-stream.js +33 -49
- package/dest/with_tracer.d.ts +1 -1
- package/dest/with_tracer.d.ts.map +1 -1
- package/dest/with_tracer.js +3 -4
- package/dest/wrappers/fetch.d.ts +1 -1
- package/dest/wrappers/fetch.d.ts.map +1 -1
- package/dest/wrappers/fetch.js +15 -14
- package/dest/wrappers/index.js +0 -1
- package/dest/wrappers/json_rpc_server.d.ts +1 -1
- package/dest/wrappers/json_rpc_server.d.ts.map +1 -1
- package/dest/wrappers/json_rpc_server.js +4 -2
- package/dest/wrappers/l2_block_stream.d.ts +1 -1
- package/dest/wrappers/l2_block_stream.d.ts.map +1 -1
- package/dest/wrappers/l2_block_stream.js +24 -32
- package/package.json +5 -8
- package/src/attributes.ts +3 -1
- package/src/bench.ts +26 -32
- package/src/config.ts +1 -34
- package/src/event_loop_monitor.ts +3 -3
- package/src/index.ts +2 -1
- package/src/lmdb_metrics.ts +6 -6
- package/src/metrics.ts +10 -5
- package/src/noop.ts +1 -1
- package/src/otel.ts +53 -66
- package/src/otel_filter_metric_exporter.ts +2 -2
- package/src/otel_logger_provider.ts +1 -1
- package/src/otel_resource.ts +1 -11
- package/src/prom_otel_adapter.ts +8 -8
- package/src/start.ts +4 -4
- package/src/telemetry.ts +28 -28
- package/src/with_tracer.ts +1 -1
- package/src/wrappers/fetch.ts +1 -1
- package/src/wrappers/json_rpc_server.ts +1 -1
- package/src/wrappers/l2_block_stream.ts +2 -2
- package/dest/aztec_resource_detector.d.ts +0 -10
- package/dest/aztec_resource_detector.d.ts.map +0 -1
- package/dest/aztec_resource_detector.js +0 -20
- package/dest/histogram_utils.d.ts +0 -36
- package/dest/histogram_utils.d.ts.map +0 -1
- package/dest/histogram_utils.js +0 -50
- package/src/aztec_resource_detector.ts +0 -28
- package/src/histogram_utils.ts +0 -50
|
@@ -15,15 +15,12 @@
|
|
|
15
15
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
import { SeverityNumber, logs } from '@opentelemetry/api-logs';
|
|
18
|
+
*/ import { SeverityNumber, logs } from '@opentelemetry/api-logs';
|
|
20
19
|
import { millisToHrTime } from '@opentelemetry/core';
|
|
21
20
|
import { Writable } from 'stream';
|
|
22
21
|
import { registerOtelLoggerProvider } from '../otel_logger_provider.js';
|
|
23
22
|
import { getOtelResource } from '../otel_resource.js';
|
|
24
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
25
|
-
/* eslint-disable camelcase */
|
|
26
|
-
// This block is a copy (modulo code style and TypeScript types) of the Pino
|
|
23
|
+
/* eslint-disable @typescript-eslint/ban-types */ /* eslint-disable camelcase */ // This block is a copy (modulo code style and TypeScript types) of the Pino
|
|
27
24
|
// code that defines log level value and names. This file is part of
|
|
28
25
|
// *instrumenting* Pino, so we want to avoid a dependency on the library.
|
|
29
26
|
const DEFAULT_LEVELS = {
|
|
@@ -32,7 +29,7 @@ const DEFAULT_LEVELS = {
|
|
|
32
29
|
info: 30,
|
|
33
30
|
warn: 40,
|
|
34
31
|
error: 50,
|
|
35
|
-
fatal: 60
|
|
32
|
+
fatal: 60
|
|
36
33
|
};
|
|
37
34
|
const OTEL_SEV_NUM_FROM_PINO_LEVEL = {
|
|
38
35
|
[DEFAULT_LEVELS.trace]: SeverityNumber.TRACE,
|
|
@@ -40,7 +37,7 @@ const OTEL_SEV_NUM_FROM_PINO_LEVEL = {
|
|
|
40
37
|
[DEFAULT_LEVELS.info]: SeverityNumber.INFO,
|
|
41
38
|
[DEFAULT_LEVELS.warn]: SeverityNumber.WARN,
|
|
42
39
|
[DEFAULT_LEVELS.error]: SeverityNumber.ERROR,
|
|
43
|
-
[DEFAULT_LEVELS.fatal]: SeverityNumber.FATAL
|
|
40
|
+
[DEFAULT_LEVELS.fatal]: SeverityNumber.FATAL
|
|
44
41
|
};
|
|
45
42
|
const EXTRA_SEV_NUMS = [
|
|
46
43
|
SeverityNumber.TRACE2,
|
|
@@ -60,7 +57,7 @@ const EXTRA_SEV_NUMS = [
|
|
|
60
57
|
SeverityNumber.ERROR4,
|
|
61
58
|
SeverityNumber.FATAL2,
|
|
62
59
|
SeverityNumber.FATAL3,
|
|
63
|
-
SeverityNumber.FATAL4
|
|
60
|
+
SeverityNumber.FATAL4
|
|
64
61
|
];
|
|
65
62
|
function severityNumberFromPinoLevel(lvl) {
|
|
66
63
|
// Fast common case: one of the known levels
|
|
@@ -81,9 +78,7 @@ function severityNumberFromPinoLevel(lvl) {
|
|
|
81
78
|
}
|
|
82
79
|
// [aztec] Custom function to map Aztec logging levels to OpenTelemetry severity numbers
|
|
83
80
|
function severityNumberFromAztecPinoLevel(lvl) {
|
|
84
|
-
return
|
|
85
|
-
/* verbose */ (lvl === 25 ? SeverityNumber.DEBUG3 : undefined) ??
|
|
86
|
-
severityNumberFromPinoLevel(lvl));
|
|
81
|
+
return OTEL_SEV_NUM_FROM_PINO_LEVEL[lvl] ?? /* verbose */ (lvl === 25 ? SeverityNumber.DEBUG3 : undefined) ?? severityNumberFromPinoLevel(lvl);
|
|
87
82
|
}
|
|
88
83
|
/**
|
|
89
84
|
* Return a function that knows how to convert the "time" field value on a
|
|
@@ -100,25 +95,20 @@ function severityNumberFromAztecPinoLevel(lvl) {
|
|
|
100
95
|
* `otelTimestampFromTime` will be given the value of the "time" field:
|
|
101
96
|
* "2024-05-17T22:03:25.969Z"
|
|
102
97
|
* which should be parsed to a number of milliseconds since the epoch.
|
|
103
|
-
*/
|
|
104
|
-
export function getTimeConverter(pinoLogger, pinoMod) {
|
|
98
|
+
*/ export function getTimeConverter(pinoLogger, pinoMod) {
|
|
105
99
|
const stdTimeFns = pinoMod.stdTimeFunctions;
|
|
106
100
|
const loggerTimeFn = pinoLogger[pinoMod.symbols.timeSym];
|
|
107
101
|
if (loggerTimeFn === stdTimeFns.epochTime) {
|
|
108
|
-
return (time)
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
else if (loggerTimeFn === stdTimeFns.
|
|
114
|
-
return (
|
|
115
|
-
}
|
|
116
|
-
else if (loggerTimeFn === stdTimeFns.nullTime) {
|
|
117
|
-
return () => Date.now();
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
102
|
+
return (time)=>time;
|
|
103
|
+
} else if (loggerTimeFn === stdTimeFns.unixTime) {
|
|
104
|
+
return (time)=>time * 1e3;
|
|
105
|
+
} else if (loggerTimeFn === stdTimeFns.isoTime) {
|
|
106
|
+
return (time)=>new Date(time).getTime();
|
|
107
|
+
} else if (loggerTimeFn === stdTimeFns.nullTime) {
|
|
108
|
+
return ()=>Date.now();
|
|
109
|
+
} else {
|
|
120
110
|
// The logger has a custom time function. Don't guess.
|
|
121
|
-
return ()
|
|
111
|
+
return ()=>NaN;
|
|
122
112
|
}
|
|
123
113
|
}
|
|
124
114
|
/**
|
|
@@ -126,9 +116,12 @@ export function getTimeConverter(pinoLogger, pinoMod) {
|
|
|
126
116
|
*
|
|
127
117
|
* - This stream emits an 'unknown' event on an unprocessable pino record.
|
|
128
118
|
* The event arguments are: `logLine: string`, `err: string | Error`.
|
|
129
|
-
*/
|
|
130
|
-
|
|
131
|
-
|
|
119
|
+
*/ export class OTelPinoStream extends Writable {
|
|
120
|
+
_otelLogger;
|
|
121
|
+
_messageKey;
|
|
122
|
+
_levels;
|
|
123
|
+
_otelTimestampFromTime;
|
|
124
|
+
constructor(options){
|
|
132
125
|
super();
|
|
133
126
|
// Note: A PINO_CONFIG event was added to pino (2024-04-04) to send config
|
|
134
127
|
// to transports. Eventually OTelPinoStream might be able to use this
|
|
@@ -137,7 +130,7 @@ export class OTelPinoStream extends Writable {
|
|
|
137
130
|
this._messageKey = options.messageKey ?? 'msg';
|
|
138
131
|
this._levels = options.levels;
|
|
139
132
|
// [aztec] The following will break if we set up a custom time function in our logger
|
|
140
|
-
this._otelTimestampFromTime = options.otelTimestampFromTime ?? ((time)
|
|
133
|
+
this._otelTimestampFromTime = options.otelTimestampFromTime ?? ((time)=>time);
|
|
141
134
|
// Cannot use `instrumentation.logger` until have delegating LoggerProvider:
|
|
142
135
|
// https://github.com/open-telemetry/opentelemetry-js/issues/4399
|
|
143
136
|
// [aztec] Use the name of this package
|
|
@@ -145,8 +138,7 @@ export class OTelPinoStream extends Writable {
|
|
|
145
138
|
}
|
|
146
139
|
_write(s, _encoding, callback) {
|
|
147
140
|
try {
|
|
148
|
-
/* istanbul ignore if */
|
|
149
|
-
if (!s) {
|
|
141
|
+
/* istanbul ignore if */ if (!s) {
|
|
150
142
|
return;
|
|
151
143
|
}
|
|
152
144
|
// Parse, and handle edge cases similar to how `pino-abtract-transport` does:
|
|
@@ -155,37 +147,31 @@ export class OTelPinoStream extends Writable {
|
|
|
155
147
|
let recObj;
|
|
156
148
|
try {
|
|
157
149
|
recObj = JSON.parse(s);
|
|
158
|
-
}
|
|
159
|
-
catch (parseErr) {
|
|
150
|
+
} catch (parseErr) {
|
|
160
151
|
// Invalid JSON suggests a bug in Pino, or a logger configuration bug
|
|
161
152
|
// (a bogus `options.timestamp` or serializer).
|
|
162
153
|
this.emit('unknown', s.toString(), parseErr);
|
|
163
154
|
callback();
|
|
164
155
|
return;
|
|
165
156
|
}
|
|
166
|
-
/* istanbul ignore if */
|
|
167
|
-
if (recObj === null) {
|
|
157
|
+
/* istanbul ignore if */ if (recObj === null) {
|
|
168
158
|
this.emit('unknown', s.toString(), 'Null value ignored');
|
|
169
159
|
callback();
|
|
170
160
|
return;
|
|
171
161
|
}
|
|
172
|
-
/* istanbul ignore if */
|
|
173
|
-
if (typeof recObj !== 'object') {
|
|
162
|
+
/* istanbul ignore if */ if (typeof recObj !== 'object') {
|
|
174
163
|
recObj = {
|
|
175
|
-
data: recObj
|
|
164
|
+
data: recObj
|
|
176
165
|
};
|
|
177
166
|
}
|
|
178
|
-
const { time, [this._messageKey]: body, level, //
|
|
179
|
-
// The typical Pino `hostname` and `pid` fields are removed because they
|
|
167
|
+
const { time, [this._messageKey]: body, level, // The typical Pino `hostname` and `pid` fields are removed because they
|
|
180
168
|
// are redundant with the OpenTelemetry `host.name` and `process.pid`
|
|
181
169
|
// Resource attributes, respectively. This code cannot change the
|
|
182
170
|
// LoggerProvider's `resource`, so getting the OpenTelemetry equivalents
|
|
183
171
|
// depends on the user using the OpenTelemetry HostDetector and
|
|
184
172
|
// ProcessDetector.
|
|
185
173
|
// https://getpino.io/#/docs/api?id=opt-base
|
|
186
|
-
hostname, //
|
|
187
|
-
pid, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
188
|
-
// The `trace_id` et al fields that may have been added by the
|
|
174
|
+
hostname, pid, // The `trace_id` et al fields that may have been added by the
|
|
189
175
|
// "log correlation" feature are stripped, because they are redundant.
|
|
190
176
|
// trace_id, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
191
177
|
// span_id, // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
@@ -219,11 +205,10 @@ export class OTelPinoStream extends Writable {
|
|
|
219
205
|
severityNumber: severityNumberFromAztecPinoLevel(lastLevel),
|
|
220
206
|
severityText: this._levels.labels[lastLevel],
|
|
221
207
|
body,
|
|
222
|
-
attributes
|
|
208
|
+
attributes
|
|
223
209
|
};
|
|
224
210
|
this._otelLogger.emit(otelRec);
|
|
225
|
-
}
|
|
226
|
-
catch (err) {
|
|
211
|
+
} catch (err) {
|
|
227
212
|
// [aztec] Log errors to stderr
|
|
228
213
|
// eslint-disable-next-line no-console
|
|
229
214
|
console.error(`Error in OTelPinoStream: ${err}`);
|
|
@@ -235,11 +220,10 @@ export class OTelPinoStream extends Writable {
|
|
|
235
220
|
// Invoked by pino when creating a transport in a worker thread out of this stream.
|
|
236
221
|
// Note that the original open-telemetry/opentelemetry-js-contrib was set up to run on the main
|
|
237
222
|
// nodejs loop, as opposed to in a worker as pino recommends.
|
|
238
|
-
export default function
|
|
223
|
+
export default function(options) {
|
|
239
224
|
const url = process.env.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT;
|
|
240
225
|
const resource = getOtelResource();
|
|
241
226
|
// We re-register here because this runs on a worker thread
|
|
242
227
|
registerOtelLoggerProvider(resource, url ? new URL(url) : undefined);
|
|
243
228
|
return new OTelPinoStream(options);
|
|
244
229
|
}
|
|
245
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RlbC1waW5vLXN0cmVhbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZW5kb3Ivb3RlbC1waW5vLXN0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFDSCxPQUFPLEVBQWUsY0FBYyxFQUFFLElBQUksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzVFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBRWxDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxpREFBaUQ7QUFDakQsOEJBQThCO0FBRTlCLDRFQUE0RTtBQUM1RSxvRUFBb0U7QUFDcEUseUVBQXlFO0FBQ3pFLE1BQU0sY0FBYyxHQUFHO0lBQ3JCLEtBQUssRUFBRSxFQUFFO0lBQ1QsS0FBSyxFQUFFLEVBQUU7SUFDVCxJQUFJLEVBQUUsRUFBRTtJQUNSLElBQUksRUFBRSxFQUFFO0lBQ1IsS0FBSyxFQUFFLEVBQUU7SUFDVCxLQUFLLEVBQUUsRUFBRTtDQUNWLENBQUM7QUFFRixNQUFNLDRCQUE0QixHQUF3QztJQUN4RSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxjQUFjLENBQUMsS0FBSztJQUM1QyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxjQUFjLENBQUMsS0FBSztJQUM1QyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLENBQUMsSUFBSTtJQUMxQyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRSxjQUFjLENBQUMsSUFBSTtJQUMxQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsRUFBRSxjQUFjLENBQUMsS0FBSztJQUM1QyxDQUFDLGNBQWMsQ0FBQyxL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
|
package/dest/with_tracer.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with_tracer.d.ts","sourceRoot":"","sources":["../src/with_tracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"with_tracer.d.ts","sourceRoot":"","sources":["../src/with_tracer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE9D;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,UAAU;IACrB,SAAgB,MAAM,EAAE,MAAM,CAAC;gBACnB,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM;CAGlD"}
|
package/dest/with_tracer.js
CHANGED
|
@@ -24,10 +24,9 @@
|
|
|
24
24
|
* }
|
|
25
25
|
* }
|
|
26
26
|
* ```
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
constructor(client, name)
|
|
27
|
+
*/ export class WithTracer {
|
|
28
|
+
tracer;
|
|
29
|
+
constructor(client, name){
|
|
30
30
|
this.tracer = client.getTracer(name);
|
|
31
31
|
}
|
|
32
32
|
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aF90cmFjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvd2l0aF90cmFjZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMEJHO0FBQ0gsTUFBTSxPQUFPLFVBQVU7SUFFckIsWUFBWSxNQUF1QixFQUFFLElBQVk7UUFDL0MsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRiJ9
|
package/dest/wrappers/fetch.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defaultFetch } from '@aztec/foundation/json-rpc/client';
|
|
2
|
-
import {
|
|
2
|
+
import type { Logger } from '@aztec/foundation/log';
|
|
3
3
|
/**
|
|
4
4
|
* Makes a fetch function that retries based on the given attempts and propagates trace information.
|
|
5
5
|
* @param retries - Sequence of intervals (in seconds) to retry.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/wrappers/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/wrappers/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQpD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,sBAAe,EAAE,GAAG,CAAC,EAAE,MAAM,UAEpG,MAAM,aACD,MAAM,QACX,GAAG,mBACQ,OAAO,iBACV,OAAO,MAAM,EAAE,MAAM,CAAC,YAC1B,OAAO;;;;;GA4BpB"}
|
package/dest/wrappers/fetch.js
CHANGED
|
@@ -9,30 +9,31 @@ import { ATTR_JSONRPC_METHOD, ATTR_JSONRPC_REQUEST_ID } from '../vendor/attribut
|
|
|
9
9
|
* @param noRetry - Whether to stop retries on server errors.
|
|
10
10
|
* @param log - Optional logger for logging attempts.
|
|
11
11
|
* @returns A fetch function.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
return (host, rpcMethod, body, useApiEndpoints, extraHeaders = {}, noRetry) => {
|
|
12
|
+
*/ export function makeTracedFetch(retries, defaultNoRetry, fetch = defaultFetch, log) {
|
|
13
|
+
return (host, rpcMethod, body, useApiEndpoints, extraHeaders = {}, noRetry)=>{
|
|
15
14
|
const telemetry = getTelemetryClient();
|
|
16
|
-
return telemetry
|
|
17
|
-
.
|
|
18
|
-
|
|
15
|
+
return telemetry.getTracer('fetch').startActiveSpan(`JsonRpcClient.${rpcMethod}`, {
|
|
16
|
+
kind: SpanKind.CLIENT
|
|
17
|
+
}, async (span)=>{
|
|
19
18
|
try {
|
|
20
19
|
if (body && typeof body.id === 'number') {
|
|
21
20
|
span.setAttribute(ATTR_JSONRPC_REQUEST_ID, body.id);
|
|
22
21
|
}
|
|
23
22
|
span.setAttribute(ATTR_JSONRPC_METHOD, rpcMethod);
|
|
24
|
-
const headers = {
|
|
23
|
+
const headers = {
|
|
24
|
+
...extraHeaders
|
|
25
|
+
};
|
|
25
26
|
propagation.inject(context.active(), headers);
|
|
26
|
-
return await retry(()
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
return await retry(()=>fetch(host, rpcMethod, body, useApiEndpoints, headers, noRetry ?? defaultNoRetry), `JsonRpcClient request ${rpcMethod} to ${host}`, makeBackoff(retries), log, false);
|
|
28
|
+
} catch (err) {
|
|
29
|
+
span.setStatus({
|
|
30
|
+
code: SpanStatusCode.ERROR,
|
|
31
|
+
message: err?.message ?? String(err)
|
|
32
|
+
});
|
|
30
33
|
throw err;
|
|
31
|
-
}
|
|
32
|
-
finally {
|
|
34
|
+
} finally{
|
|
33
35
|
span.end();
|
|
34
36
|
}
|
|
35
37
|
});
|
|
36
38
|
};
|
|
37
39
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd3JhcHBlcnMvZmV0Y2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRWpFLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFN0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXBGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNqRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2Rjs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLE9BQWlCLEVBQUUsY0FBdUIsRUFBRSxLQUFLLEdBQUcsWUFBWSxFQUFFLEdBQVk7SUFDNUcsT0FBTyxDQUNMLElBQVksRUFDWixTQUFpQixFQUNqQixJQUFTLEVBQ1QsZUFBd0IsRUFDeEIsZUFBdUMsRUFBRSxFQUN6QyxPQUFpQixFQUNqQixFQUFFO1FBQ0YsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLEVBQUUsQ0FBQztRQUN2QyxPQUFPLFNBQVM7YUFDYixTQUFTLENBQUMsT0FBTyxDQUFDO2FBQ2xCLGVBQWUsQ0FBQyxpQkFBaUIsU0FBUyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBQyxJQUFJLEVBQUMsRUFBRTtZQUNyRixJQUFJLENBQUM7Z0JBQ0gsSUFBSSxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsRUFBRSxLQUFLLFFBQVEsRUFBRSxDQUFDO29CQUN4QyxJQUFJLENBQUMsWUFBWSxDQUFDLHVCQUF1QixFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdEQsQ0FBQztnQkFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUNsRCxNQUFNLE9BQU8sR0FBRyxFQUFFLEdBQUcsWUFBWSxFQUFFLENBQUM7Z0JBQ3BDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUM5QyxPQUFPLE1BQU0sS0FBSyxDQUNoQixHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxPQUFPLElBQUksY0FBYyxDQUFDLEVBQ3ZGLHlCQUF5QixTQUFTLE9BQU8sSUFBSSxFQUFFLEVBQy9DLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFDcEIsR0FBRyxFQUNILEtBQUssQ0FDTixDQUFDO1lBQ0osQ0FBQztZQUFDLE9BQU8sR0FBUSxFQUFFLENBQUM7Z0JBQ2xCLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLEVBQUUsY0FBYyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE9BQU8sSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRixNQUFNLEdBQUcsQ0FBQztZQUNaLENBQUM7b0JBQVMsQ0FBQztnQkFDVCxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDYixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7QUFDSixDQUFDIn0=
|
package/dest/wrappers/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export * from './l2_block_stream.js';
|
|
2
2
|
export * from './fetch.js';
|
|
3
3
|
export * from './json_rpc_server.js';
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd3JhcHBlcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLHNCQUFzQixDQUFDIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type SafeJsonRpcServerOptions } from '@aztec/foundation/json-rpc/server';
|
|
2
|
-
import {
|
|
2
|
+
import type { ApiSchemaFor } from '@aztec/stdlib/schemas';
|
|
3
3
|
export declare function createTracedJsonRpcServer<T extends object = any>(handler: T, schema: ApiSchemaFor<T>, options?: Partial<SafeJsonRpcServerOptions>): import("@aztec/foundation/json-rpc/server").SafeJsonRpcServer;
|
|
4
4
|
//# sourceMappingURL=json_rpc_server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json_rpc_server.d.ts","sourceRoot":"","sources":["../../src/wrappers/json_rpc_server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAA2B,MAAM,mCAAmC,CAAC;AAC3G,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"json_rpc_server.d.ts","sourceRoot":"","sources":["../../src/wrappers/json_rpc_server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,wBAAwB,EAA2B,MAAM,mCAAmC,CAAC;AAC3G,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAI1D,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,MAAM,GAAG,GAAG,EAC9D,OAAO,EAAE,CAAC,EACV,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,EACvB,OAAO,GAAE,OAAO,CAAC,wBAAwB,CAAM,iEAMhD"}
|
|
@@ -3,7 +3,9 @@ import { getOtelJsonRpcPropagationMiddleware } from '../otel_propagation.js';
|
|
|
3
3
|
export function createTracedJsonRpcServer(handler, schema, options = {}) {
|
|
4
4
|
return createSafeJsonRpcServer(handler, schema, {
|
|
5
5
|
...options,
|
|
6
|
-
middlewares: [
|
|
6
|
+
middlewares: [
|
|
7
|
+
...options.middlewares ?? [],
|
|
8
|
+
getOtelJsonRpcPropagationMiddleware()
|
|
9
|
+
]
|
|
7
10
|
});
|
|
8
11
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbl9ycGNfc2VydmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dyYXBwZXJzL2pzb25fcnBjX3NlcnZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlDLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFHM0csT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFN0UsTUFBTSxVQUFVLHlCQUF5QixDQUN2QyxPQUFVLEVBQ1YsTUFBdUIsRUFDdkIsVUFBNkMsRUFBRTtJQUUvQyxPQUFPLHVCQUF1QixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7UUFDOUMsR0FBRyxPQUFPO1FBQ1YsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEVBQUUsbUNBQW1DLEVBQUUsQ0FBQztLQUNyRixDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type L2BlockSource, L2BlockStream, type L2BlockStreamEventHandler, type L2BlockStreamLocalDataProvider } from '@aztec/
|
|
1
|
+
import { type L2BlockSource, L2BlockStream, type L2BlockStreamEventHandler, type L2BlockStreamLocalDataProvider } from '@aztec/stdlib/block';
|
|
2
2
|
import { type Traceable, type Tracer } from '@aztec/telemetry-client';
|
|
3
3
|
/** Extends an L2BlockStream with a tracer to create a new trace per iteration. */
|
|
4
4
|
export declare class TraceableL2BlockStream extends L2BlockStream implements Traceable {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../src/wrappers/l2_block_stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"l2_block_stream.d.ts","sourceRoot":"","sources":["../../src/wrappers/l2_block_stream.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,aAAa,EAClB,aAAa,EACb,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACpC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAa,MAAM,yBAAyB,CAAC;AAEjF,kFAAkF;AAClF,qBAAa,sBAAuB,SAAQ,aAAc,YAAW,SAAS;aAK1D,MAAM,EAAE,MAAM;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAJrB,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,gBAAgB,GAAG,WAAW,CAAC,EAChF,SAAS,EAAE,8BAA8B,EACzC,OAAO,EAAE,yBAAyB,EAClB,MAAM,EAAE,MAAM,EACb,IAAI,GAAE,MAAwB,EAC/C,GAAG,yCAAqC,EACxC,IAAI,GAAE;QACJ,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACnB;IAUC,IAAI;CAGd"}
|
|
@@ -1,34 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
}
|
|
3
7
|
import { createLogger } from '@aztec/foundation/log';
|
|
8
|
+
import { L2BlockStream } from '@aztec/stdlib/block';
|
|
4
9
|
import { trackSpan } from '@aztec/telemetry-client';
|
|
5
|
-
/** Extends an L2BlockStream with a tracer to create a new trace per iteration. */
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
},
|
|
23
|
-
(() => {
|
|
24
|
-
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
25
|
-
_work_decorators = [trackSpan(function () {
|
|
26
|
-
return `${this.name}.work`;
|
|
27
|
-
})];
|
|
28
|
-
__esDecorate(_a, null, _work_decorators, { kind: "method", name: "work", static: false, private: false, access: { has: obj => "work" in obj, get: obj => obj.work }, metadata: _metadata }, null, _instanceExtraInitializers);
|
|
29
|
-
if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
30
|
-
})(),
|
|
31
|
-
_a;
|
|
32
|
-
})();
|
|
33
|
-
export { TraceableL2BlockStream };
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDJfYmxvY2tfc3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3dyYXBwZXJzL2wyX2Jsb2NrX3N0cmVhbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUVMLGFBQWEsR0FHZCxNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQStCLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpGLGtGQUFrRjtJQUNyRSxzQkFBc0I7O3NCQUFTLGFBQWE7OztzQkFBNUMsc0JBQXVCLFNBQVEsV0FBYTtZQUN2RCxZQUNFLGFBQWdGLEVBQ2hGLFNBQXlDLEVBQ3pDLE9BQWtDLEVBQ2xCLE1BQWMsRUFDYixPQUFlLGVBQWUsRUFDL0MsR0FBRyxHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxFQUN4QyxPQUtJLEVBQUU7Z0JBRU4sS0FBSyxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFWcEMsV0FBTSxJQUxiLG1EQUFzQixFQUtmLE1BQU0sRUFBUTtnQkFDYixTQUFJLEdBQUosSUFBSSxDQUEwQjtZQVVqRCxDQUFDO1lBRUQsa0VBQWtFO1lBQ2xFLGlHQUFpRztZQUl4RixJQUFJO2dCQUNYLE9BQU8sS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3RCLENBQUM7Ozs7Z0NBTEEsU0FBUyxDQUFDO29CQUNULE9BQU8sR0FBRyxJQUFLLENBQUMsSUFBSSxPQUFPLENBQUM7Z0JBQzlCLENBQUMsQ0FBQztZQUNGLDZKQUFTLElBQUksNkRBRVo7Ozs7O1NBekJVLHNCQUFzQiJ9
|
|
10
|
+
/** Extends an L2BlockStream with a tracer to create a new trace per iteration. */ export class TraceableL2BlockStream extends L2BlockStream {
|
|
11
|
+
tracer;
|
|
12
|
+
name;
|
|
13
|
+
constructor(l2BlockSource, localData, handler, tracer, name = 'L2BlockStream', log = createLogger('types:block_stream'), opts = {}){
|
|
14
|
+
super(l2BlockSource, localData, handler, log, opts), this.tracer = tracer, this.name = name;
|
|
15
|
+
}
|
|
16
|
+
// We need to use a non-arrow function to be able to access `this`
|
|
17
|
+
// See https://www.typescriptlang.org/docs/handbook/2/functions.html#declaring-this-in-a-function
|
|
18
|
+
work() {
|
|
19
|
+
return super.work();
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
_ts_decorate([
|
|
23
|
+
trackSpan(function() {
|
|
24
|
+
return `${this.name}.work`;
|
|
25
|
+
})
|
|
26
|
+
], TraceableL2BlockStream.prototype, "work", null);
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"clean": "rm -rf ./dest .tsbuildinfo",
|
|
16
16
|
"formatting": "run -T prettier --check ./src && run -T eslint ./src",
|
|
17
17
|
"formatting:fix": "run -T eslint --fix ./src && run -T prettier -w ./src",
|
|
18
|
-
"test": "
|
|
18
|
+
"test": "NODE_NO_WARNINGS=1 node --experimental-vm-modules ../node_modules/.bin/jest --passWithNoTests --maxWorkers=${JEST_MAX_WORKERS:-8}"
|
|
19
19
|
},
|
|
20
20
|
"engines": {
|
|
21
21
|
"node": ">=18"
|
|
@@ -26,11 +26,8 @@
|
|
|
26
26
|
"!*.test.*"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@aztec/
|
|
30
|
-
"@aztec/
|
|
31
|
-
"@google-cloud/opentelemetry-cloud-monitoring-exporter": "^0.20.0",
|
|
32
|
-
"@google-cloud/opentelemetry-cloud-trace-exporter": "^2.4.1",
|
|
33
|
-
"@google-cloud/opentelemetry-resource-util": "^2.4.0",
|
|
29
|
+
"@aztec/foundation": "0.77.0-testnet-ignition.21",
|
|
30
|
+
"@aztec/stdlib": "0.77.0-testnet-ignition.21",
|
|
34
31
|
"@opentelemetry/api": "^1.9.0",
|
|
35
32
|
"@opentelemetry/api-logs": "^0.55.0",
|
|
36
33
|
"@opentelemetry/core": "^1.28.0",
|
|
@@ -83,10 +80,10 @@
|
|
|
83
80
|
],
|
|
84
81
|
"testRegex": "./src/.*\\.test\\.(js|mjs|ts)$",
|
|
85
82
|
"rootDir": "./src",
|
|
86
|
-
"testTimeout":
|
|
83
|
+
"testTimeout": 120000,
|
|
87
84
|
"setupFiles": [
|
|
88
85
|
"../../foundation/src/jest/setup.mjs"
|
|
89
86
|
]
|
|
90
87
|
},
|
|
91
|
-
"version": "0.
|
|
88
|
+
"version": "0.77.0-testnet-ignition.21"
|
|
92
89
|
}
|
package/src/attributes.ts
CHANGED
|
@@ -19,7 +19,7 @@ export const NETWORK_NAME = 'aztec.network_name';
|
|
|
19
19
|
|
|
20
20
|
/**
|
|
21
21
|
* The name of the protocol circuit being run (e.g. public-kernel-setup or base-rollup)
|
|
22
|
-
* @see {@link @aztec/
|
|
22
|
+
* @see {@link @aztec/stdlib/stats:CircuitName}
|
|
23
23
|
*/
|
|
24
24
|
export const PROTOCOL_CIRCUIT_NAME = 'aztec.circuit.protocol_circuit_name';
|
|
25
25
|
|
|
@@ -64,6 +64,8 @@ export const TX_HASH = 'aztec.tx.hash';
|
|
|
64
64
|
export const OK = 'aztec.ok';
|
|
65
65
|
/** Generic status attribute */
|
|
66
66
|
export const STATUS = 'aztec.status';
|
|
67
|
+
/** Generic error type attribute */
|
|
68
|
+
export const ERROR_TYPE = 'aztec.error_type';
|
|
67
69
|
/** The type of the transaction */
|
|
68
70
|
export const L1_TX_TYPE = 'aztec.l1.tx_type';
|
|
69
71
|
/** The L1 address of the entity that sent a transaction to L1 */
|
package/src/bench.ts
CHANGED
|
@@ -1,26 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
type BatchObservableCallback,
|
|
3
|
-
type Context,
|
|
4
|
-
type MetricOptions,
|
|
5
|
-
type Observable,
|
|
6
|
-
type ValueType,
|
|
7
|
-
} from '@opentelemetry/api';
|
|
1
|
+
import type { BatchObservableCallback, Context, MetricOptions, Observable, ValueType } from '@opentelemetry/api';
|
|
8
2
|
|
|
9
3
|
import { NoopTracer } from './noop.js';
|
|
10
|
-
import {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
4
|
+
import type {
|
|
5
|
+
AttributesType,
|
|
6
|
+
Gauge,
|
|
7
|
+
Histogram,
|
|
8
|
+
Meter,
|
|
9
|
+
MetricsType,
|
|
10
|
+
ObservableGauge,
|
|
11
|
+
ObservableUpDownCounter,
|
|
12
|
+
TelemetryClient,
|
|
13
|
+
Tracer,
|
|
14
|
+
UpDownCounter,
|
|
21
15
|
} from './telemetry.js';
|
|
22
16
|
|
|
23
|
-
export type
|
|
17
|
+
export type BenchmarkMetricsType = {
|
|
24
18
|
name: string;
|
|
25
19
|
metrics: {
|
|
26
20
|
name: string;
|
|
@@ -57,7 +51,7 @@ export class BenchmarkTelemetryClient implements TelemetryClient {
|
|
|
57
51
|
return true;
|
|
58
52
|
}
|
|
59
53
|
|
|
60
|
-
getMeters():
|
|
54
|
+
getMeters(): BenchmarkMetricsType {
|
|
61
55
|
return this.meters;
|
|
62
56
|
}
|
|
63
57
|
|
|
@@ -75,23 +69,23 @@ class InMemoryPlainMeter implements Meter {
|
|
|
75
69
|
this.metrics.forEach(metric => metric.clear());
|
|
76
70
|
}
|
|
77
71
|
|
|
78
|
-
createGauge(name:
|
|
72
|
+
createGauge(name: MetricsType, options?: MetricOptions | undefined): Gauge {
|
|
79
73
|
return this.createMetric('gauge', name, options);
|
|
80
74
|
}
|
|
81
75
|
|
|
82
|
-
createObservableGauge(name:
|
|
76
|
+
createObservableGauge(name: MetricsType, options?: MetricOptions | undefined): ObservableGauge {
|
|
83
77
|
return this.createMetric('gauge', name, options);
|
|
84
78
|
}
|
|
85
79
|
|
|
86
|
-
createHistogram(name:
|
|
80
|
+
createHistogram(name: MetricsType, options?: MetricOptions | undefined): Histogram {
|
|
87
81
|
return this.createMetric('histogram', name, options);
|
|
88
82
|
}
|
|
89
83
|
|
|
90
|
-
createUpDownCounter(name:
|
|
84
|
+
createUpDownCounter(name: MetricsType, options?: MetricOptions | undefined): UpDownCounter {
|
|
91
85
|
return this.createMetric('counter', name, options);
|
|
92
86
|
}
|
|
93
87
|
|
|
94
|
-
createObservableUpDownCounter(name:
|
|
88
|
+
createObservableUpDownCounter(name: MetricsType, options?: MetricOptions | undefined): ObservableUpDownCounter {
|
|
95
89
|
return this.createMetric('counter', name, options);
|
|
96
90
|
}
|
|
97
91
|
|
|
@@ -102,17 +96,17 @@ class InMemoryPlainMeter implements Meter {
|
|
|
102
96
|
}
|
|
103
97
|
|
|
104
98
|
addBatchObservableCallback(
|
|
105
|
-
_callback: BatchObservableCallback<
|
|
106
|
-
_observables: Observable<
|
|
99
|
+
_callback: BatchObservableCallback<AttributesType>,
|
|
100
|
+
_observables: Observable<AttributesType>[],
|
|
107
101
|
): void {}
|
|
108
102
|
|
|
109
103
|
removeBatchObservableCallback(
|
|
110
|
-
_callback: BatchObservableCallback<
|
|
111
|
-
_observables: Observable<
|
|
104
|
+
_callback: BatchObservableCallback<AttributesType>,
|
|
105
|
+
_observables: Observable<AttributesType>[],
|
|
112
106
|
): void {}
|
|
113
107
|
}
|
|
114
108
|
|
|
115
|
-
export type BenchmarkDataPoint = { value: number; attributes?:
|
|
109
|
+
export type BenchmarkDataPoint = { value: number; attributes?: AttributesType; context?: Context };
|
|
116
110
|
|
|
117
111
|
class InMemoryPlainMetric {
|
|
118
112
|
public readonly points: BenchmarkDataPoint[] = [];
|
|
@@ -131,11 +125,11 @@ class InMemoryPlainMetric {
|
|
|
131
125
|
this.valueType = options?.valueType;
|
|
132
126
|
}
|
|
133
127
|
|
|
134
|
-
add(value: number, attributes?:
|
|
128
|
+
add(value: number, attributes?: AttributesType, context?: Context): void {
|
|
135
129
|
this.points.push({ value, attributes, context });
|
|
136
130
|
}
|
|
137
131
|
|
|
138
|
-
record(value: number, attributes?:
|
|
132
|
+
record(value: number, attributes?: AttributesType, context?: Context): void {
|
|
139
133
|
this.points.push({ value, attributes, context });
|
|
140
134
|
}
|
|
141
135
|
|