Skip to content

Cherry pick eth_getLogs performance with early rejection and backpressure#2606

Merged
philipsu522 merged 6 commits intorelease/v6.2.0-branchfrom
yiren/625-ethlog
Dec 15, 2025
Merged

Cherry pick eth_getLogs performance with early rejection and backpressure#2606
philipsu522 merged 6 commits intorelease/v6.2.0-branchfrom
yiren/625-ethlog

Conversation

@philipsu522
Copy link
Copy Markdown
Contributor

Describe your changes and provide context

Cherry picks #2591 into v6.2.0

Testing performed to validate your change

Tested with RPC providers

- Add WorkerPoolMetrics struct with comprehensive tracking
- Track worker pool: active workers, queue depth, peak depth, tasks submitted/completed/rejected
- Track DB semaphore: capacity, in-use count, wait times
- Track eth_getLogs: requests, errors, TPS, block ranges, latencies
- Track subscriptions: active count, errors
- Add Prometheus metrics export for Grafana visualization
- Add console metrics printer (every 5 seconds)
- Add WorkerPoolSize and WorkerQueueSize config options
- Add InitGlobalWorkerPool for configurable initialization
Copy link
Copy Markdown

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CodeQL found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 15, 2025

Codecov Report

❌ Patch coverage is 49.35543% with 275 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.06%. Comparing base (c18a74c) to head (17e8efb).
⚠️ Report is 1 commits behind head on release/v6.2.0-branch.

Files with missing lines Patch % Lines
evmrpc/worker_pool_metrics.go 47.46% 233 Missing and 5 partials ⚠️
evmrpc/worker_pool.go 53.12% 14 Missing and 1 partial ⚠️
evmrpc/filter.go 60.71% 7 Missing and 4 partials ⚠️
evmrpc/server.go 66.66% 4 Missing and 4 partials ⚠️
evmrpc/subscribe.go 50.00% 3 Missing ⚠️

❌ Your patch status has failed because the patch coverage (49.35%) is below the target coverage (70.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files

Impacted file tree graph

@@                    Coverage Diff                    @@
##           release/v6.2.0-branch    #2606      +/-   ##
=========================================================
- Coverage                  64.33%   64.06%   -0.28%     
=========================================================
  Files                        361      362       +1     
  Lines                      27491    28026     +535     
=========================================================
+ Hits                       17687    17954     +267     
- Misses                      8342     8600     +258     
- Partials                    1462     1472      +10     
Files with missing lines Coverage Δ
evmrpc/subscribe.go 66.12% <50.00%> (-0.54%) ⬇️
evmrpc/server.go 87.04% <66.66%> (-3.02%) ⬇️
evmrpc/filter.go 72.18% <60.71%> (-0.42%) ⬇️
evmrpc/worker_pool.go 75.82% <53.12%> (-12.71%) ⬇️
evmrpc/worker_pool_metrics.go 47.46% <47.46%> (ø)

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@philipsu522 philipsu522 merged commit fc7cf5f into release/v6.2.0-branch Dec 15, 2025
47 of 52 checks passed
@philipsu522 philipsu522 deleted the yiren/625-ethlog branch December 15, 2025 20:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants