Skip to content

Commit

Permalink
Export watcher config in metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
prathamesh0 committed Dec 18, 2023
1 parent 08854d4 commit 9775ce6
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 1 deletion.
2 changes: 1 addition & 1 deletion packages/util/src/events.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ export class EventWatcher {
await this._jobQueue.waitForEmptyQueue(QUEUE_EVENT_PROCESSING);

// Get latest block in chain and sync status from DB
// Also get historical-processing queu size
// Also get historical-processing queue size
const [{ block: latestBlock }, syncStatus, historicalProcessingQueueSize] = await Promise.all([
this._ethClient.getBlockByHash(),
this._indexer.getSyncStatus(),
Expand Down
30 changes: 30 additions & 0 deletions packages/util/src/metrics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,8 @@ export const startMetricsServer = async (config: Config, indexer: IndexerInterfa
}
});

await registerWatcherConfigMetrics(config);

await registerDBSizeMetrics(config);

await registerUpstreamChainHeadMetrics(config);
Expand Down Expand Up @@ -184,3 +186,31 @@ const registerUpstreamChainHeadMetrics = async ({ upstream }: Config): Promise<v
}
});
};

const registerWatcherConfigMetrics = async ({ server, upstream, jobQueue }: Config): Promise<void> => {
const watcherConfigMetric = new client.Gauge({
name: 'watcher_config',
help: 'Watcher configuration info (static)',
labelNames: ['category', 'field']
});

watcherConfigMetric.set({ category: 'server', field: 'is_active' }, Number(server.kind === 'active'));
watcherConfigMetric.set({ category: 'server', field: 'is_subgraph_watcher' }, Number(server.subgraphPath?.length > 0));
watcherConfigMetric.set({ category: 'server', field: 'max_events_block_range' }, Number(server.maxEventsBlockRange));
watcherConfigMetric.set({ category: 'server', field: 'clear_entities_cache_interval' }, Number(server.clearEntitiesCacheInterval));
watcherConfigMetric.set({ category: 'server', field: 'max_simultaneous_requests' }, Number(server.maxSimultaneousRequests));
watcherConfigMetric.set({ category: 'server', field: 'max_request_queue_limit' }, Number(server.maxRequestQueueLimit));
watcherConfigMetric.set({ category: 'server', field: 'rpc_supports_block_hash_param' }, Number(server.rpcSupportsBlockHashParam));

watcherConfigMetric.set({ category: 'upstream', field: 'cache_enabled' }, Number(upstream.cache.enabled));
watcherConfigMetric.set({ category: 'upstream', field: 'eth_server_rpc_client' }, Number(upstream.ethServer.rpcClient));
watcherConfigMetric.set({ category: 'upstream', field: 'eth_server_is_fevm' }, Number(upstream.ethServer.isFEVM));
watcherConfigMetric.set({ category: 'upstream', field: 'eth_server_filter_logs_by_addresses' }, Number(upstream.ethServer.filterLogsByAddresses));
watcherConfigMetric.set({ category: 'upstream', field: 'eth_server_filter_logs_by_topics' }, Number(upstream.ethServer.filterLogsByTopics));

watcherConfigMetric.set({ category: 'jobqueue', field: 'eventsInBatch' }, Number(jobQueue.eventsInBatch));
watcherConfigMetric.set({ category: 'jobqueue', field: 'block_delay_in_milli_secs' }, Number(jobQueue.blockDelayInMilliSecs));
watcherConfigMetric.set({ category: 'jobqueue', field: 'use_block_ranges' }, Number(jobQueue.useBlockRanges));
watcherConfigMetric.set({ category: 'jobqueue', field: 'historical_logs_block_range' }, Number(jobQueue.historicalLogsBlockRange));
watcherConfigMetric.set({ category: 'jobqueue', field: 'historical_max_fetch_ahead' }, Number(jobQueue.historicalMaxFetchAhead));
};

0 comments on commit 9775ce6

Please sign in to comment.