From e4192e7f7706911aa9c59df673eb266f4279a606 Mon Sep 17 00:00:00 2001 From: Nabarun Date: Fri, 12 Jul 2024 16:03:16 +0530 Subject: [PATCH] Export metric for total ETH RPC count by methods --- packages/util/src/metrics.ts | 6 ++++++ packages/util/src/misc.ts | 3 ++- 2 files changed, 8 insertions(+), 1 deletion(-) 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(); } }