diff --git a/packages/util/src/metrics.ts b/packages/util/src/metrics.ts index 2a42b50e..6149352e 100644 --- a/packages/util/src/metrics.ts +++ b/packages/util/src/metrics.ts @@ -82,6 +82,12 @@ export const isSyncingHistoricalBlocks = new client.Gauge({ }); isSyncingHistoricalBlocks.set(Number(undefined)); +export const ethRpcCount = new client.Counter({ + name: 'watcher_eth_rpc_total', + help: 'Total number of ETH RPC requests', + labelNames: ['method', 'provider'] +}); + export const ethRpcErrors = new client.Counter({ name: 'watcher_eth_rpc_errors', help: 'Number of ETH RPC request errors', diff --git a/packages/util/src/misc.ts b/packages/util/src/misc.ts index 6d92c2a6..5477e085 100644 --- a/packages/util/src/misc.ts +++ b/packages/util/src/misc.ts @@ -22,7 +22,7 @@ import { ResultEvent } from './indexer'; import { EventInterface, EthFullBlock, EthFullTransaction } from './types'; import { BlockHeight } from './database'; import { Transaction } from './graph/utils'; -import { ethRpcErrors, ethRpcRequestDuration } from './metrics'; +import { ethRpcCount, ethRpcErrors, ethRpcRequestDuration } from './metrics'; const JSONbigNative = JSONbig({ useNativeBigInt: true }); @@ -379,6 +379,7 @@ export class MonitoredStaticJsonRpcProvider extends providers.StaticJsonRpcProvi // Rethrow the error throw err; } finally { + ethRpcCount.inc({ method, provider: this.connection.url }, 1); endTimer(); } }