@aztec/telemetry-client 0.0.1-commit.c7c42ec → 0.0.1-commit.c80b6263
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/bench.d.ts +3 -1
- package/dest/bench.d.ts.map +1 -1
- package/dest/bench.js +24 -14
- package/dest/l1_metrics.d.ts +2 -2
- package/dest/l1_metrics.d.ts.map +1 -1
- package/dest/l1_metrics.js +4 -20
- package/dest/lmdb_metrics.d.ts +2 -2
- package/dest/lmdb_metrics.d.ts.map +1 -1
- package/dest/lmdb_metrics.js +4 -20
- package/dest/metric-utils.d.ts +24 -0
- package/dest/metric-utils.d.ts.map +1 -0
- package/dest/metric-utils.js +59 -0
- package/dest/metrics.d.ts +246 -224
- package/dest/metrics.d.ts.map +1 -1
- package/dest/metrics.js +1237 -222
- package/dest/nodejs_metrics_monitor.d.ts +3 -5
- package/dest/nodejs_metrics_monitor.d.ts.map +1 -1
- package/dest/nodejs_metrics_monitor.js +19 -40
- package/dest/noop.d.ts +6 -3
- package/dest/noop.d.ts.map +1 -1
- package/dest/noop.js +32 -1
- package/dest/otel.d.ts +5 -3
- package/dest/otel.d.ts.map +1 -1
- package/dest/otel.js +51 -4
- package/dest/prom_otel_adapter.d.ts +4 -4
- package/dest/prom_otel_adapter.d.ts.map +1 -1
- package/dest/prom_otel_adapter.js +19 -10
- package/dest/start.d.ts +3 -2
- package/dest/start.d.ts.map +1 -1
- package/dest/start.js +2 -2
- package/dest/telemetry.d.ts +37 -25
- package/dest/telemetry.d.ts.map +1 -1
- package/dest/telemetry.js +46 -23
- package/dest/wrappers/l2_block_stream.d.ts +2 -2
- package/dest/wrappers/l2_block_stream.d.ts.map +1 -1
- package/dest/wrappers/l2_block_stream.js +385 -11
- package/package.json +4 -4
- package/src/bench.ts +27 -15
- package/src/l1_metrics.ts +5 -20
- package/src/lmdb_metrics.ts +5 -26
- package/src/metric-utils.ts +75 -0
- package/src/metrics.ts +1289 -250
- package/src/nodejs_metrics_monitor.ts +18 -51
- package/src/noop.ts +61 -3
- package/src/otel.ts +76 -6
- package/src/prom_otel_adapter.ts +16 -23
- package/src/start.ts +6 -3
- package/src/telemetry.ts +105 -66
- package/src/wrappers/l2_block_stream.ts +4 -1
package/dest/bench.d.ts
CHANGED
|
@@ -21,6 +21,8 @@ export declare class BenchmarkTelemetryClient implements TelemetryClient {
|
|
|
21
21
|
stop(): Promise<void>;
|
|
22
22
|
flush(): Promise<void>;
|
|
23
23
|
isEnabled(): boolean;
|
|
24
|
+
getTraceContext(): string | undefined;
|
|
25
|
+
extractPropagatedContext(): undefined;
|
|
24
26
|
getMeters(): BenchmarkMetricsType;
|
|
25
27
|
clear(): void;
|
|
26
28
|
}
|
|
@@ -29,4 +31,4 @@ export type BenchmarkDataPoint = {
|
|
|
29
31
|
attributes?: AttributesType;
|
|
30
32
|
context?: Context;
|
|
31
33
|
};
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVuY2guZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9iZW5jaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssRUFBMkIsT0FBTyxFQUE2QixTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUlqSCxPQUFPLEtBQUssRUFDVixjQUFjLEVBR2QsS0FBSyxFQUdMLGVBQWUsRUFDZixNQUFNLEVBRVAsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixNQUFNLE1BQU0sb0JBQW9CLEdBQUc7SUFDakMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUNiLE9BQU8sRUFBRTtRQUNQLElBQUksRUFBRSxNQUFNLENBQUM7UUFDYixJQUFJLEVBQUUsT0FBTyxHQUFHLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDeEMsV0FBVyxDQUFDLEVBQUUsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxFQUFFLE1BQU0sQ0FBQztRQUNkLFNBQVMsQ0FBQyxFQUFFLFNBQVMsQ0FBQztRQUN0QixNQUFNLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQztLQUM5QixFQUFFLENBQUM7Q0FDTCxFQUFFLENBQUM7QUFFSixxQkFBYSx3QkFBeUIsWUFBVyxlQUFlO0lBQzlELE9BQU8sQ0FBQyxNQUFNLENBQTRCO0lBRTFDLGNBR0M7SUFFRCwwQkFBMEIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFHO0lBQ3hELDZCQUE2QixDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUc7SUFFeEQsUUFBUSxDQUFDLElBQUksRUFBRSxNQUFNLEdBQUcsS0FBSyxDQUk1QjtJQUVELFNBQVMsSUFBSSxNQUFNLENBRWxCO0lBRUQsSUFBSSxJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FFcEI7SUFFRCxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUVyQjtJQUVELFNBQVMsWUFFUjtJQUVELGVBQWUsSUFBSSxNQUFNLEdBQUcsU0FBUyxDQUVwQztJQUVELHdCQUF3QixjQUV2QjtJQUVELFNBQVMsSUFBSSxvQkFBb0IsQ0FFaEM7SUFFRCxLQUFLLFNBRUo7Q0FDRjtBQW9ERCxNQUFNLE1BQU0sa0JBQWtCLEdBQUc7SUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDO0lBQUMsVUFBVSxDQUFDLEVBQUUsY0FBYyxDQUFDO0lBQUMsT0FBTyxDQUFDLEVBQUUsT0FBTyxDQUFBO0NBQUUsQ0FBQyJ9
|
package/dest/bench.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
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
|
@@ -25,6 +25,12 @@ export class BenchmarkTelemetryClient {
|
|
|
25
25
|
isEnabled() {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
+
getTraceContext() {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
extractPropagatedContext() {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
28
34
|
getMeters() {
|
|
29
35
|
return this.meters;
|
|
30
36
|
}
|
|
@@ -42,25 +48,29 @@ class InMemoryPlainMeter {
|
|
|
42
48
|
clear() {
|
|
43
49
|
this.metrics.forEach((metric)=>metric.clear());
|
|
44
50
|
}
|
|
45
|
-
createGauge(
|
|
46
|
-
return this.createMetric('gauge',
|
|
51
|
+
createGauge(metric) {
|
|
52
|
+
return this.createMetric('gauge', metric);
|
|
47
53
|
}
|
|
48
|
-
createObservableGauge(
|
|
49
|
-
return this.createMetric('gauge',
|
|
54
|
+
createObservableGauge(metric) {
|
|
55
|
+
return this.createMetric('gauge', metric);
|
|
50
56
|
}
|
|
51
|
-
createHistogram(
|
|
52
|
-
return this.createMetric('histogram',
|
|
57
|
+
createHistogram(metric, _extraOptions) {
|
|
58
|
+
return this.createMetric('histogram', metric);
|
|
53
59
|
}
|
|
54
|
-
createUpDownCounter(
|
|
55
|
-
return this.createMetric('counter',
|
|
60
|
+
createUpDownCounter(metric) {
|
|
61
|
+
return this.createMetric('counter', metric);
|
|
56
62
|
}
|
|
57
|
-
createObservableUpDownCounter(
|
|
58
|
-
return this.createMetric('counter',
|
|
63
|
+
createObservableUpDownCounter(metric) {
|
|
64
|
+
return this.createMetric('counter', metric);
|
|
59
65
|
}
|
|
60
|
-
createMetric(type,
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
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;
|
|
64
74
|
}
|
|
65
75
|
addBatchObservableCallback(_callback, _observables) {}
|
|
66
76
|
removeBatchObservableCallback(_callback, _observables) {}
|
package/dest/l1_metrics.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { EthAddress } from '@aztec/foundation/eth-address';
|
|
2
2
|
import { type Chain, type FallbackTransport, type HttpTransport, type PublicClient } from 'viem';
|
|
3
|
-
import {
|
|
3
|
+
import type { Meter } from './telemetry.js';
|
|
4
4
|
export declare class L1Metrics {
|
|
5
5
|
private meter;
|
|
6
6
|
private client;
|
|
@@ -14,4 +14,4 @@ export declare class L1Metrics {
|
|
|
14
14
|
stop(): void;
|
|
15
15
|
private observe;
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibDFfbWV0cmljcy5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2wxX21ldHJpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFaEUsT0FBTyxFQUFFLEtBQUssS0FBSyxFQUFFLEtBQUssaUJBQWlCLEVBQVksS0FBSyxhQUFhLEVBQUUsS0FBSyxZQUFZLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFJeEgsT0FBTyxLQUFLLEVBQXlCLEtBQUssRUFBbUIsTUFBTSxnQkFBZ0IsQ0FBQztBQUVwRixxQkFBYSxTQUFTO0lBUWxCLE9BQU8sQ0FBQyxLQUFLO0lBQ2IsT0FBTyxDQUFDLE1BQU07SUFSaEIsT0FBTyxDQUFDLGFBQWEsQ0FBa0I7SUFDdkMsT0FBTyxDQUFDLFlBQVksQ0FBa0I7SUFDdEMsT0FBTyxDQUFDLFdBQVcsQ0FBa0I7SUFDckMsT0FBTyxDQUFDLGNBQWMsQ0FBa0I7SUFDeEMsT0FBTyxDQUFDLFNBQVMsQ0FBUTtJQUV6QixZQUNVLEtBQUssRUFBRSxLQUFLLEVBQ1osTUFBTSxFQUFFLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUN2RSxTQUFTLEVBQUUsVUFBVSxFQUFFLEVBUXhCO0lBRUQsS0FBSyxTQUVKO0lBRUQsSUFBSSxTQUVIO0lBRUQsT0FBTyxDQUFDLE9BQU8sQ0EyQmI7Q0FDSCJ9
|
package/dest/l1_metrics.d.ts.map
CHANGED
|
@@ -1 +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,
|
|
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"}
|
package/dest/l1_metrics.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { formatEther } from 'viem';
|
|
2
2
|
import { L1_SENDER } from './attributes.js';
|
|
3
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
4
|
export class L1Metrics {
|
|
6
5
|
meter;
|
|
7
6
|
client;
|
|
@@ -33,25 +32,10 @@ export class L1Metrics {
|
|
|
33
32
|
});
|
|
34
33
|
}
|
|
35
34
|
};
|
|
36
|
-
this.l1BlockHeight = meter.createObservableGauge(L1_BLOCK_HEIGHT
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
});
|
|
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);
|
|
55
39
|
this.addresses = addresses.map((addr)=>addr.toString());
|
|
56
40
|
}
|
|
57
41
|
start() {
|
package/dest/lmdb_metrics.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Meter } from './telemetry.js';
|
|
2
2
|
export type LmdbStatsCallback = () => Promise<{
|
|
3
3
|
mappingSize: number;
|
|
4
4
|
physicalFileSize: number;
|
|
@@ -15,4 +15,4 @@ export declare class LmdbMetrics {
|
|
|
15
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);
|
|
16
16
|
private recordDBMetrics;
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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,
|
|
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"}
|
package/dest/lmdb_metrics.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
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;
|
|
@@ -20,25 +19,10 @@ export class LmdbMetrics {
|
|
|
20
19
|
observable.observe(this.dbNumItems, metrics.numItems, this.attributes);
|
|
21
20
|
observable.observe(this.dbUsedSize, metrics.actualSize, this.attributes);
|
|
22
21
|
};
|
|
23
|
-
this.dbMapSize = meter.createObservableGauge(Metrics.DB_MAP_SIZE
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
});
|
|
33
|
-
this.dbUsedSize = meter.createObservableGauge(Metrics.DB_USED_SIZE, {
|
|
34
|
-
description: 'LMDB Used Size',
|
|
35
|
-
valueType: ValueType.INT,
|
|
36
|
-
unit: 'By'
|
|
37
|
-
});
|
|
38
|
-
this.dbNumItems = meter.createObservableGauge(Metrics.DB_NUM_ITEMS, {
|
|
39
|
-
description: 'LMDB Num Items',
|
|
40
|
-
valueType: ValueType.INT
|
|
41
|
-
});
|
|
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);
|
|
42
26
|
meter.addBatchObservableCallback(this.recordDBMetrics, [
|
|
43
27
|
this.dbMapSize,
|
|
44
28
|
this.dbPhysicalFileSize,
|
|
@@ -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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/** Extracts OpenTelemetry MetricOptions from a MetricDefinition */ export function toMetricOptions(def) {
|
|
2
|
+
return {
|
|
3
|
+
description: def.description,
|
|
4
|
+
unit: def.unit,
|
|
5
|
+
valueType: def.valueType
|
|
6
|
+
};
|
|
7
|
+
}
|
|
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
|
+
*/ export function expandAttributeCombinations(attrMap) {
|
|
13
|
+
const keys = Object.keys(attrMap);
|
|
14
|
+
if (keys.length === 0) {
|
|
15
|
+
return [
|
|
16
|
+
{}
|
|
17
|
+
];
|
|
18
|
+
}
|
|
19
|
+
const result = [];
|
|
20
|
+
function generate(index, current) {
|
|
21
|
+
if (index === keys.length) {
|
|
22
|
+
result.push({
|
|
23
|
+
...current
|
|
24
|
+
});
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
const key = keys[index];
|
|
28
|
+
for (const value of attrMap[key]){
|
|
29
|
+
current[key] = value;
|
|
30
|
+
generate(index + 1, current);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
generate(0, {});
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Creates an UpDownCounter and initializes it to 0.
|
|
38
|
+
* @param meter - The meter to create the counter on
|
|
39
|
+
* @param metric - The metric definition
|
|
40
|
+
* @param attributes - Optional attributes for initialization. Can be:
|
|
41
|
+
* - AttributeValuesMap: mapping of attribute keys to arrays of possible values (generates cartesian product)
|
|
42
|
+
* - MetricAttributesType[]: explicit array of attribute objects
|
|
43
|
+
* - undefined: initializes without attributes
|
|
44
|
+
*/ export function createUpDownCounterWithDefault(meter, metric, attributes = undefined) {
|
|
45
|
+
const counter = meter.createUpDownCounter(metric);
|
|
46
|
+
if (attributes === undefined) {
|
|
47
|
+
counter.add(0);
|
|
48
|
+
} else if (Array.isArray(attributes)) {
|
|
49
|
+
for (const attrs of attributes){
|
|
50
|
+
counter.add(0, attrs);
|
|
51
|
+
}
|
|
52
|
+
} else {
|
|
53
|
+
const combinations = expandAttributeCombinations(attributes);
|
|
54
|
+
for (const attrs of combinations){
|
|
55
|
+
counter.add(0, attrs);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return counter;
|
|
59
|
+
}
|