@aztec/world-state 4.0.0-nightly.20260107 → 4.0.0-nightly.20260110
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/instrumentation/instrumentation.d.ts +1 -1
- package/dest/instrumentation/instrumentation.d.ts.map +1 -1
- package/dest/instrumentation/instrumentation.js +11 -42
- package/dest/synchronizer/server_world_state_synchronizer.d.ts +2 -2
- package/dest/synchronizer/server_world_state_synchronizer.d.ts.map +1 -1
- package/dest/synchronizer/server_world_state_synchronizer.js +3 -3
- package/package.json +10 -10
- package/src/instrumentation/instrumentation.ts +10 -42
- package/src/synchronizer/server_world_state_synchronizer.ts +10 -11
|
@@ -21,4 +21,4 @@ export declare class WorldStateInstrumentation {
|
|
|
21
21
|
recordRoundTrip(timeUs: number, request: WorldStateMessageType): void;
|
|
22
22
|
incCriticalErrors(errorType: 'synch_pending_block' | 'finalize_block' | 'prune_pending_block' | 'prune_historical_block'): void;
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdHJ1bWVudGF0aW9uLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5zdHJ1bWVudGF0aW9uL2luc3RydW1lbnRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFFbEUsT0FBTyxFQUtMLEtBQUssZUFBZSxFQUVyQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFJTCxxQkFBcUIsRUFDckIsS0FBSyxvQkFBb0IsRUFDMUIsTUFBTSxzQkFBc0IsQ0FBQztBQWE5QixxQkFBYSx5QkFBeUI7YUFhbEIsU0FBUyxFQUFFLGVBQWU7SUFDMUMsT0FBTyxDQUFDLEdBQUc7SUFiYixPQUFPLENBQUMsU0FBUyxDQUFRO0lBQ3pCLE9BQU8sQ0FBQyxjQUFjLENBQVE7SUFDOUIsT0FBTyxDQUFDLFFBQVEsQ0FBUTtJQUN4QixPQUFPLENBQUMsaUJBQWlCLENBQVE7SUFDakMsT0FBTyxDQUFDLGVBQWUsQ0FBUTtJQUMvQixPQUFPLENBQUMsV0FBVyxDQUFRO0lBQzNCLE9BQU8sQ0FBQyxVQUFVLENBQVE7SUFDMUIsT0FBTyxDQUFDLFVBQVUsQ0FBUTtJQUMxQixPQUFPLENBQUMsZ0JBQWdCLENBQVk7SUFDcEMsT0FBTyxDQUFDLGNBQWMsQ0FBZ0I7SUFFdEMsWUFDa0IsU0FBUyxFQUFFLGVBQWUsRUFDbEMsR0FBRyxHQUFFLE1BQW9ELEVBc0JsRTtJQUVELE9BQU8sQ0FBQyxlQUFlO0lBMkJ2QixPQUFPLENBQUMsaUJBQWlCO0lBV2xCLHVCQUF1QixDQUFDLGdCQUFnQixFQUFFLG9CQUFvQixRQThCcEU7SUFFTSxlQUFlLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUscUJBQXFCLFFBTXBFO0lBRU0saUJBQWlCLENBQ3RCLFNBQVMsRUFBRSxxQkFBcUIsR0FBRyxnQkFBZ0IsR0FBRyxxQkFBcUIsR0FBRyx3QkFBd0IsUUFLdkc7Q0FDRiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAKL,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"instrumentation.d.ts","sourceRoot":"","sources":["../../src/instrumentation/instrumentation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAKL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAIL,qBAAqB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAa9B,qBAAa,yBAAyB;aAalB,SAAS,EAAE,eAAe;IAC1C,OAAO,CAAC,GAAG;IAbb,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,iBAAiB,CAAQ;IACjC,OAAO,CAAC,eAAe,CAAQ;IAC/B,OAAO,CAAC,WAAW,CAAQ;IAC3B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,cAAc,CAAgB;IAEtC,YACkB,SAAS,EAAE,eAAe,EAClC,GAAG,GAAE,MAAoD,EAsBlE;IAED,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,iBAAiB;IAWlB,uBAAuB,CAAC,gBAAgB,EAAE,oBAAoB,QA8BpE;IAEM,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,QAMpE;IAEM,iBAAiB,CACtB,SAAS,EAAE,qBAAqB,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,wBAAwB,QAKvG;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createLogger } from '@aztec/foundation/log';
|
|
2
2
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
3
|
-
import { Attributes, Metrics
|
|
3
|
+
import { Attributes, Metrics } from '@aztec/telemetry-client';
|
|
4
4
|
import { WorldStateMessageType } from '../native/message.js';
|
|
5
5
|
const durationTrackDenylist = new Set([
|
|
6
6
|
WorldStateMessageType.GET_INITIAL_STATE_REFERENCE,
|
|
@@ -26,47 +26,16 @@ export class WorldStateInstrumentation {
|
|
|
26
26
|
this.telemetry = telemetry;
|
|
27
27
|
this.log = log;
|
|
28
28
|
const meter = telemetry.getMeter('World State');
|
|
29
|
-
this.dbMapSize = meter.createGauge(Metrics.WORLD_STATE_DB_MAP_SIZE
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
this.
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
this.
|
|
38
|
-
|
|
39
|
-
valueType: ValueType.INT
|
|
40
|
-
});
|
|
41
|
-
this.unfinalizedHeight = meter.createGauge(Metrics.WORLD_STATE_UNFINALIZED_HEIGHT, {
|
|
42
|
-
description: `The unfinalized block height of each merkle tree`,
|
|
43
|
-
valueType: ValueType.INT
|
|
44
|
-
});
|
|
45
|
-
this.finalizedHeight = meter.createGauge(Metrics.WORLD_STATE_FINALIZED_HEIGHT, {
|
|
46
|
-
description: `The finalized block height of each merkle tree`,
|
|
47
|
-
valueType: ValueType.INT
|
|
48
|
-
});
|
|
49
|
-
this.oldestBlock = meter.createGauge(Metrics.WORLD_STATE_OLDEST_BLOCK, {
|
|
50
|
-
description: `The oldest historical block of each merkle tree`,
|
|
51
|
-
valueType: ValueType.INT
|
|
52
|
-
});
|
|
53
|
-
this.dbUsedSize = meter.createGauge(Metrics.WORLD_STATE_DB_USED_SIZE, {
|
|
54
|
-
description: `The current used database size for each db of each merkle tree`,
|
|
55
|
-
valueType: ValueType.INT
|
|
56
|
-
});
|
|
57
|
-
this.dbNumItems = meter.createGauge(Metrics.WORLD_STATE_DB_NUM_ITEMS, {
|
|
58
|
-
description: `The current number of items in each database of each merkle tree`,
|
|
59
|
-
valueType: ValueType.INT
|
|
60
|
-
});
|
|
61
|
-
this.requestHistogram = meter.createHistogram(Metrics.WORLD_STATE_REQUEST_TIME, {
|
|
62
|
-
description: 'The round trip time of world state requests',
|
|
63
|
-
unit: 'us',
|
|
64
|
-
valueType: ValueType.INT
|
|
65
|
-
});
|
|
66
|
-
this.criticalErrors = meter.createUpDownCounter(Metrics.WORLD_STATE_CRITICAL_ERROR_COUNT, {
|
|
67
|
-
description: 'The number of critical errors in the world state',
|
|
68
|
-
valueType: ValueType.INT
|
|
69
|
-
});
|
|
29
|
+
this.dbMapSize = meter.createGauge(Metrics.WORLD_STATE_DB_MAP_SIZE);
|
|
30
|
+
this.dbPhysicalSize = meter.createGauge(Metrics.WORLD_STATE_DB_PHYSICAL_SIZE);
|
|
31
|
+
this.treeSize = meter.createGauge(Metrics.WORLD_STATE_TREE_SIZE);
|
|
32
|
+
this.unfinalizedHeight = meter.createGauge(Metrics.WORLD_STATE_UNFINALIZED_HEIGHT);
|
|
33
|
+
this.finalizedHeight = meter.createGauge(Metrics.WORLD_STATE_FINALIZED_HEIGHT);
|
|
34
|
+
this.oldestBlock = meter.createGauge(Metrics.WORLD_STATE_OLDEST_BLOCK);
|
|
35
|
+
this.dbUsedSize = meter.createGauge(Metrics.WORLD_STATE_DB_USED_SIZE);
|
|
36
|
+
this.dbNumItems = meter.createGauge(Metrics.WORLD_STATE_DB_NUM_ITEMS);
|
|
37
|
+
this.requestHistogram = meter.createHistogram(Metrics.WORLD_STATE_REQUEST_TIME);
|
|
38
|
+
this.criticalErrors = meter.createUpDownCounter(Metrics.WORLD_STATE_CRITICAL_ERROR_COUNT);
|
|
70
39
|
}
|
|
71
40
|
updateTreeStats(treeDbStats, treeMeta, tree) {
|
|
72
41
|
this.dbMapSize.record(Number(treeDbStats.mapSize), {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
2
2
|
import { type Logger } from '@aztec/foundation/log';
|
|
3
|
-
import type
|
|
3
|
+
import { type L2BlockSource, L2BlockStream, type L2BlockStreamEvent, type L2BlockStreamEventHandler, type L2BlockStreamLocalDataProvider, type L2Tips } from '@aztec/stdlib/block';
|
|
4
4
|
import { type WorldStateSynchronizer, type WorldStateSynchronizerStatus } from '@aztec/stdlib/interfaces/server';
|
|
5
5
|
import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
6
6
|
import type { SnapshotDataKeys } from '@aztec/stdlib/snapshots';
|
|
@@ -67,4 +67,4 @@ export declare class ServerWorldStateSynchronizer implements WorldStateSynchroni
|
|
|
67
67
|
*/
|
|
68
68
|
private setCurrentState;
|
|
69
69
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyX3dvcmxkX3N0YXRlX3N5bmNocm9uaXplci5kLnRzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N5bmNocm9uaXplci9zZXJ2ZXJfd29ybGRfc3RhdGVfc3luY2hyb25pemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUU5RCxPQUFPLEVBQUUsS0FBSyxNQUFNLEVBQWdCLE1BQU0sdUJBQXVCLENBQUM7QUFHbEUsT0FBTyxFQUdMLEtBQUssYUFBYSxFQUNsQixhQUFhLEVBQ2IsS0FBSyxrQkFBa0IsRUFDdkIsS0FBSyx5QkFBeUIsRUFDOUIsS0FBSyw4QkFBOEIsRUFDbkMsS0FBSyxNQUFNLEVBQ1osTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBR0wsS0FBSyxzQkFBc0IsRUFDM0IsS0FBSyw0QkFBNEIsRUFDbEMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25FLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFaEUsT0FBTyxFQUFnQixLQUFLLHdCQUF3QixFQUFFLEtBQUsseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUdsSCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUVsRixPQUFPLEtBQUssRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25GLE9BQU8sS0FBSyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3BELFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0FBRWpDOzs7O0dBSUc7QUFDSCxxQkFBYSw0QkFDWCxZQUFXLHNCQUFzQixFQUFFLDhCQUE4QixFQUFFLHlCQUF5QjtJQWlCMUYsT0FBTyxDQUFDLFFBQVEsQ0FBQyxZQUFZO0lBQzdCLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYTtJQUM5QixPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU07SUFDdkIsT0FBTyxDQUFDLGVBQWU7SUFDdkIsT0FBTyxDQUFDLFFBQVEsQ0FBQyxHQUFHO0lBbkJ0QixPQUFPLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUEyQjtJQUUvRCxPQUFPLENBQUMsd0JBQXdCLENBQW9CO0lBQ3BELE9BQU8sQ0FBQyxhQUFhLENBQXFCO0lBQzFDLE9BQU8sQ0FBQyxZQUFZLENBQXVEO0lBQzNFLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBaUY7SUFFN0csT0FBTyxDQUFDLFdBQVcsQ0FBZ0M7SUFDbkQsU0FBUyxDQUFDLFdBQVcsRUFBRSxhQUFhLEdBQUcsU0FBUyxDQUFDO0lBSWpELE9BQU8sQ0FBQyxpQkFBaUIsQ0FBMEI7SUFFbkQsWUFDbUIsWUFBWSxFQUFFLHVCQUF1QixFQUNyQyxhQUFhLEVBQUUsYUFBYSxHQUFHLG1CQUFtQixFQUNsRCxNQUFNLEVBQUUsZ0JBQWdCLEVBQ2pDLGVBQWUsNEJBQXNELEVBQzVELEdBQUcsR0FBRSxNQUFvQyxFQVMzRDtJQUVNLFlBQVksSUFBSSx3QkFBd0IsQ0FFOUM7SUFFTSxXQUFXLENBQUMsV0FBVyxFQUFFLFdBQVcsR0FBRyx3QkFBd0IsQ0FFckU7SUFFTSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxFQUFFO1FBQUUsWUFBWSxDQUFDLEVBQUUsTUFBTSxDQUFBO0tBQUUsR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FFM0c7SUFFTSxRQUFRLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FFbEg7SUFFTSxLQUFLLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxDQUU1QjtJQUVZLEtBQUssbUZBZ0NqQjtJQUVELFNBQVMsQ0FBQyxpQkFBaUIsSUFBSSxhQUFhLENBTzNDO0lBRVksSUFBSSxrQkFPaEI7SUFFWSxNQUFNLElBQUksT0FBTyxDQUFDLDRCQUE0QixDQUFDLENBYTNEO0lBRVksb0JBQW9CLHlCQUVoQztJQUVZLFFBQVEsa0JBSXBCO0lBRU0sVUFBVSxTQU9oQjtJQUVEOzs7OztPQUtHO0lBQ1UsYUFBYSxDQUN4QixpQkFBaUIsQ0FBQyxFQUFFLFdBQVcsRUFDL0IsMkJBQTJCLENBQUMsRUFBRSxPQUFPLEdBQ3BDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0E2Q3RCO0lBRUQsb0dBQW9HO0lBQ3ZGLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBYTVFO0lBRUQsZ0dBQWdHO0lBQ25GLFNBQVMsSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBVXhDO0lBRUQsb0RBQW9EO0lBQ3ZDLHNCQUFzQixDQUFDLEtBQUssRUFBRSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBZTVFO1lBT2EsY0FBYztZQXlDZCxhQUFhO1lBZ0JiLG9CQUFvQjtJQWVsQyxPQUFPLENBQUMsaUJBQWlCO1lBTVgsaUJBQWlCO0lBUS9COzs7T0FHRztJQUNILE9BQU8sQ0FBQyxlQUFlO0NBSXhCIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server_world_state_synchronizer.d.ts","sourceRoot":"","sources":["../../src/synchronizer/server_world_state_synchronizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAE9D,OAAO,EAAE,KAAK,MAAM,EAAgB,MAAM,uBAAuB,CAAC;AAGlE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"server_world_state_synchronizer.d.ts","sourceRoot":"","sources":["../../src/synchronizer/server_world_state_synchronizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,10 @@ import { BlockNumber } from '@aztec/foundation/branded-types';
|
|
|
2
2
|
import { createLogger } from '@aztec/foundation/log';
|
|
3
3
|
import { promiseWithResolvers } from '@aztec/foundation/promise';
|
|
4
4
|
import { elapsed } from '@aztec/foundation/timer';
|
|
5
|
+
import { L2BlockStream } from '@aztec/stdlib/block';
|
|
5
6
|
import { WorldStateRunningState } from '@aztec/stdlib/interfaces/server';
|
|
6
7
|
import { MerkleTreeId } from '@aztec/stdlib/trees';
|
|
7
|
-
import {
|
|
8
|
+
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
8
9
|
import { WorldStateInstrumentation } from '../instrumentation/instrumentation.js';
|
|
9
10
|
import { WorldStateSynchronizerError } from './errors.js';
|
|
10
11
|
/**
|
|
@@ -82,9 +83,8 @@ import { WorldStateSynchronizerError } from './errors.js';
|
|
|
82
83
|
return this.syncPromise.promise;
|
|
83
84
|
}
|
|
84
85
|
createBlockStream() {
|
|
85
|
-
const tracer = this.instrumentation.telemetry.getTracer('WorldStateL2BlockStream');
|
|
86
86
|
const logger = createLogger('world-state:block_stream');
|
|
87
|
-
return new
|
|
87
|
+
return new L2BlockStream(this.l2BlockSource, this, this, logger, {
|
|
88
88
|
proven: this.config.worldStateProvenBlocksOnly,
|
|
89
89
|
pollIntervalMS: this.config.worldStateBlockCheckIntervalMS,
|
|
90
90
|
batchSize: this.config.worldStateBlockRequestBatchSize
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aztec/world-state",
|
|
3
|
-
"version": "4.0.0-nightly.
|
|
3
|
+
"version": "4.0.0-nightly.20260110",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dest/index.js",
|
|
@@ -64,19 +64,19 @@
|
|
|
64
64
|
]
|
|
65
65
|
},
|
|
66
66
|
"dependencies": {
|
|
67
|
-
"@aztec/constants": "4.0.0-nightly.
|
|
68
|
-
"@aztec/foundation": "4.0.0-nightly.
|
|
69
|
-
"@aztec/kv-store": "4.0.0-nightly.
|
|
70
|
-
"@aztec/merkle-tree": "4.0.0-nightly.
|
|
71
|
-
"@aztec/native": "4.0.0-nightly.
|
|
72
|
-
"@aztec/protocol-contracts": "4.0.0-nightly.
|
|
73
|
-
"@aztec/stdlib": "4.0.0-nightly.
|
|
74
|
-
"@aztec/telemetry-client": "4.0.0-nightly.
|
|
67
|
+
"@aztec/constants": "4.0.0-nightly.20260110",
|
|
68
|
+
"@aztec/foundation": "4.0.0-nightly.20260110",
|
|
69
|
+
"@aztec/kv-store": "4.0.0-nightly.20260110",
|
|
70
|
+
"@aztec/merkle-tree": "4.0.0-nightly.20260110",
|
|
71
|
+
"@aztec/native": "4.0.0-nightly.20260110",
|
|
72
|
+
"@aztec/protocol-contracts": "4.0.0-nightly.20260110",
|
|
73
|
+
"@aztec/stdlib": "4.0.0-nightly.20260110",
|
|
74
|
+
"@aztec/telemetry-client": "4.0.0-nightly.20260110",
|
|
75
75
|
"tslib": "^2.4.0",
|
|
76
76
|
"zod": "^3.23.8"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"@aztec/archiver": "4.0.0-nightly.
|
|
79
|
+
"@aztec/archiver": "4.0.0-nightly.20260110",
|
|
80
80
|
"@jest/globals": "^30.0.0",
|
|
81
81
|
"@types/jest": "^30.0.0",
|
|
82
82
|
"@types/node": "^22.15.17",
|
|
@@ -7,7 +7,6 @@ import {
|
|
|
7
7
|
Metrics,
|
|
8
8
|
type TelemetryClient,
|
|
9
9
|
type UpDownCounter,
|
|
10
|
-
ValueType,
|
|
11
10
|
} from '@aztec/telemetry-client';
|
|
12
11
|
|
|
13
12
|
import {
|
|
@@ -46,56 +45,25 @@ export class WorldStateInstrumentation {
|
|
|
46
45
|
private log: Logger = createLogger('world-state:instrumentation'),
|
|
47
46
|
) {
|
|
48
47
|
const meter = telemetry.getMeter('World State');
|
|
49
|
-
this.dbMapSize = meter.createGauge(Metrics.WORLD_STATE_DB_MAP_SIZE
|
|
50
|
-
description: `The current configured map size for each merkle tree`,
|
|
51
|
-
valueType: ValueType.INT,
|
|
52
|
-
});
|
|
48
|
+
this.dbMapSize = meter.createGauge(Metrics.WORLD_STATE_DB_MAP_SIZE);
|
|
53
49
|
|
|
54
|
-
this.dbPhysicalSize = meter.createGauge(Metrics.WORLD_STATE_DB_PHYSICAL_SIZE
|
|
55
|
-
description: `The current physical disk space used for each database`,
|
|
56
|
-
valueType: ValueType.INT,
|
|
57
|
-
});
|
|
50
|
+
this.dbPhysicalSize = meter.createGauge(Metrics.WORLD_STATE_DB_PHYSICAL_SIZE);
|
|
58
51
|
|
|
59
|
-
this.treeSize = meter.createGauge(Metrics.WORLD_STATE_TREE_SIZE
|
|
60
|
-
description: `The current number of leaves in each merkle tree`,
|
|
61
|
-
valueType: ValueType.INT,
|
|
62
|
-
});
|
|
52
|
+
this.treeSize = meter.createGauge(Metrics.WORLD_STATE_TREE_SIZE);
|
|
63
53
|
|
|
64
|
-
this.unfinalizedHeight = meter.createGauge(Metrics.WORLD_STATE_UNFINALIZED_HEIGHT
|
|
65
|
-
description: `The unfinalized block height of each merkle tree`,
|
|
66
|
-
valueType: ValueType.INT,
|
|
67
|
-
});
|
|
54
|
+
this.unfinalizedHeight = meter.createGauge(Metrics.WORLD_STATE_UNFINALIZED_HEIGHT);
|
|
68
55
|
|
|
69
|
-
this.finalizedHeight = meter.createGauge(Metrics.WORLD_STATE_FINALIZED_HEIGHT
|
|
70
|
-
description: `The finalized block height of each merkle tree`,
|
|
71
|
-
valueType: ValueType.INT,
|
|
72
|
-
});
|
|
56
|
+
this.finalizedHeight = meter.createGauge(Metrics.WORLD_STATE_FINALIZED_HEIGHT);
|
|
73
57
|
|
|
74
|
-
this.oldestBlock = meter.createGauge(Metrics.WORLD_STATE_OLDEST_BLOCK
|
|
75
|
-
description: `The oldest historical block of each merkle tree`,
|
|
76
|
-
valueType: ValueType.INT,
|
|
77
|
-
});
|
|
58
|
+
this.oldestBlock = meter.createGauge(Metrics.WORLD_STATE_OLDEST_BLOCK);
|
|
78
59
|
|
|
79
|
-
this.dbUsedSize = meter.createGauge(Metrics.WORLD_STATE_DB_USED_SIZE
|
|
80
|
-
description: `The current used database size for each db of each merkle tree`,
|
|
81
|
-
valueType: ValueType.INT,
|
|
82
|
-
});
|
|
60
|
+
this.dbUsedSize = meter.createGauge(Metrics.WORLD_STATE_DB_USED_SIZE);
|
|
83
61
|
|
|
84
|
-
this.dbNumItems = meter.createGauge(Metrics.WORLD_STATE_DB_NUM_ITEMS
|
|
85
|
-
description: `The current number of items in each database of each merkle tree`,
|
|
86
|
-
valueType: ValueType.INT,
|
|
87
|
-
});
|
|
62
|
+
this.dbNumItems = meter.createGauge(Metrics.WORLD_STATE_DB_NUM_ITEMS);
|
|
88
63
|
|
|
89
|
-
this.requestHistogram = meter.createHistogram(Metrics.WORLD_STATE_REQUEST_TIME
|
|
90
|
-
description: 'The round trip time of world state requests',
|
|
91
|
-
unit: 'us',
|
|
92
|
-
valueType: ValueType.INT,
|
|
93
|
-
});
|
|
64
|
+
this.requestHistogram = meter.createHistogram(Metrics.WORLD_STATE_REQUEST_TIME);
|
|
94
65
|
|
|
95
|
-
this.criticalErrors = meter.createUpDownCounter(Metrics.WORLD_STATE_CRITICAL_ERROR_COUNT
|
|
96
|
-
description: 'The number of critical errors in the world state',
|
|
97
|
-
valueType: ValueType.INT,
|
|
98
|
-
});
|
|
66
|
+
this.criticalErrors = meter.createUpDownCounter(Metrics.WORLD_STATE_CRITICAL_ERROR_COUNT);
|
|
99
67
|
}
|
|
100
68
|
|
|
101
69
|
private updateTreeStats(treeDbStats: TreeDBStats, treeMeta: TreeMeta, tree: MerkleTreeId) {
|
|
@@ -3,15 +3,15 @@ import type { Fr } from '@aztec/foundation/curves/bn254';
|
|
|
3
3
|
import { type Logger, createLogger } from '@aztec/foundation/log';
|
|
4
4
|
import { promiseWithResolvers } from '@aztec/foundation/promise';
|
|
5
5
|
import { elapsed } from '@aztec/foundation/timer';
|
|
6
|
-
import
|
|
7
|
-
L2BlockId,
|
|
8
|
-
L2BlockNew,
|
|
9
|
-
L2BlockSource,
|
|
6
|
+
import {
|
|
7
|
+
type L2BlockId,
|
|
8
|
+
type L2BlockNew,
|
|
9
|
+
type L2BlockSource,
|
|
10
10
|
L2BlockStream,
|
|
11
|
-
L2BlockStreamEvent,
|
|
12
|
-
L2BlockStreamEventHandler,
|
|
13
|
-
L2BlockStreamLocalDataProvider,
|
|
14
|
-
L2Tips,
|
|
11
|
+
type L2BlockStreamEvent,
|
|
12
|
+
type L2BlockStreamEventHandler,
|
|
13
|
+
type L2BlockStreamLocalDataProvider,
|
|
14
|
+
type L2Tips,
|
|
15
15
|
} from '@aztec/stdlib/block';
|
|
16
16
|
import {
|
|
17
17
|
WorldStateRunningState,
|
|
@@ -23,7 +23,7 @@ import type { L1ToL2MessageSource } from '@aztec/stdlib/messaging';
|
|
|
23
23
|
import type { SnapshotDataKeys } from '@aztec/stdlib/snapshots';
|
|
24
24
|
import type { L2BlockHandledStats } from '@aztec/stdlib/stats';
|
|
25
25
|
import { MerkleTreeId, type MerkleTreeReadOperations, type MerkleTreeWriteOperations } from '@aztec/stdlib/trees';
|
|
26
|
-
import {
|
|
26
|
+
import { getTelemetryClient } from '@aztec/telemetry-client';
|
|
27
27
|
|
|
28
28
|
import { WorldStateInstrumentation } from '../instrumentation/instrumentation.js';
|
|
29
29
|
import type { WorldStateStatusFull } from '../native/message.js';
|
|
@@ -126,9 +126,8 @@ export class ServerWorldStateSynchronizer
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
protected createBlockStream(): L2BlockStream {
|
|
129
|
-
const tracer = this.instrumentation.telemetry.getTracer('WorldStateL2BlockStream');
|
|
130
129
|
const logger = createLogger('world-state:block_stream');
|
|
131
|
-
return new
|
|
130
|
+
return new L2BlockStream(this.l2BlockSource, this, this, logger, {
|
|
132
131
|
proven: this.config.worldStateProvenBlocksOnly,
|
|
133
132
|
pollIntervalMS: this.config.worldStateBlockCheckIntervalMS,
|
|
134
133
|
batchSize: this.config.worldStateBlockRequestBatchSize,
|