diff --git a/.changeset/new-jokes-walk.md b/.changeset/new-jokes-walk.md new file mode 100644 index 0000000000000..d48dcbfad5849 --- /dev/null +++ b/.changeset/new-jokes-walk.md @@ -0,0 +1,5 @@ +--- +'@eth-optimism/data-transport-layer': patch +--- + +Add new metrics to the data-transport-layer diff --git a/packages/data-transport-layer/src/services/l2-ingestion/service.ts b/packages/data-transport-layer/src/services/l2-ingestion/service.ts index 8119e3fca6d2d..6303a2d28208b 100644 --- a/packages/data-transport-layer/src/services/l2-ingestion/service.ts +++ b/packages/data-transport-layer/src/services/l2-ingestion/service.ts @@ -6,7 +6,7 @@ import { BigNumber } from 'ethers' import { LevelUp } from 'levelup' import axios from 'axios' import bfj from 'bfj' -import { Gauge } from 'prom-client' +import { Gauge, Histogram } from 'prom-client' /* Imports: Internal */ import { handleSequencerBlock } from './handlers/transaction' @@ -16,6 +16,7 @@ import { L1DataTransportServiceOptions } from '../main/service' interface L2IngestionMetrics { highestSyncedL2Block: Gauge + fetchBlocksRequestTime: Histogram } const registerMetrics = ({ @@ -27,6 +28,12 @@ const registerMetrics = ({ help: 'Highest Synced L2 Block Number', registers: [registry], }), + fetchBlocksRequestTime: new client.Histogram({ + name: 'data_transport_layer_fetch_blocks_time', + help: 'Amount of time fetching remote L2 blocks takes', + buckets: [0.1, 5, 15, 50, 100, 500], + registers: [registry], + }), }) export interface L2IngestionServiceOptions @@ -240,6 +247,8 @@ export class L2IngestionService extends BaseService { ) } + const end = this.l2IngestionMetrics.fetchBlocksRequestTime.startTimer() + const resp = await axios.post( this.state.l2RpcProvider.connection.url, req, @@ -249,6 +258,8 @@ export class L2IngestionService extends BaseService { yieldRate: 4096, // this yields abit more often than the default of 16384 }) + end() + result = respJson.result if (result === null) { retry++ diff --git a/packages/data-transport-layer/src/services/main/service.ts b/packages/data-transport-layer/src/services/main/service.ts index 9e70dcbd8cfa7..b397a623a246e 100644 --- a/packages/data-transport-layer/src/services/main/service.ts +++ b/packages/data-transport-layer/src/services/main/service.ts @@ -89,6 +89,10 @@ export class L1DataTransportService extends BaseService