-
Notifications
You must be signed in to change notification settings - Fork 1.9k
feat(heartbeat): add EVM RPC node domain labels to beholder metrics #20645
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Add WSURL_{chainID} and HTTPURL_{chainID} labels to heartbeat metrics
to enable RPC visibility via Beholder. This allows identification of
third-party RPC usage across EVM chains.
For privacy and security, only the domain (host) is extracted from
node URLs, stripping API keys and other sensitive path information.
Changes:
- Add EVMNodeURLs field to HeartbeatConfig
- Extract domains from EVM node WSURL and HTTPURL in NewHeartbeatConfig
- Add ExtractDomainFromURLString helper function
- Add labels to heartbeat emitter for each chain's RPC endpoints
- Add comprehensive tests for domain extraction and config handling
RANE-4333
|
I see you updated files related to
|
This comment was marked as off-topic.
This comment was marked as off-topic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds EVM RPC node domain labels to heartbeat metrics for improved observability in Beholder, while protecting sensitive information like API keys by extracting only the domain portion of node URLs.
Key changes:
- Added EVMNodeURLs field to HeartbeatConfig to store extracted domains mapped by chain ID
- Implemented ExtractDomainFromURLString helper to safely extract domains from URLs
- Updated NewHeartbeatConfig to populate EVM node domains for all configured chains
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| core/services/chainlink/heartbeat.go | Adds EVMNodeURLs config field, implements domain extraction logic in NewHeartbeatConfig, and adds extracted domains as labels to heartbeat metrics |
| core/services/chainlink/heartbeat_test.go | Adds comprehensive tests for domain extraction edge cases and HeartbeatConfig initialization with various EVM node URL configurations |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…RANE-4333-rpc-node-endpoint
|




Add WSURL_{chainID} and HTTPURL_{chainID} labels to heartbeat metrics to enable RPC visibility via Beholder.
For privacy and security, only the domain (host) is extracted from node URLs, stripping API keys and other sensitive path information.
Changes: