[Bug] No rpc metrics for non-`eth_getLogs` calls
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- rust
- Lĩnh vực
- observability
Hướng nghiên cứu
Bắt đầu bằng cách đọc docs/metrics.md và tái tạo báo cáo bằng metrics endpoint, so sánh eth_rpc_request_duration với các endpoint_request samples được hiển thị ở đây. Theo dõi cách các metric này biểu diễn các lệnh gọi RPC không phải eth_getLogs; hoàn thành khi hoạt động RPC liên quan được hiển thị nhất quán và các metric được ghi trong tài liệu khớp với đầu ra của endpoint.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Bug report
I'm running graph node version 0.31.0 (recently upgraded from 0.29.0) and I don't see any metrics for rpc calls other than getLogs over the past month
I'm running 15+ indexers with ~3k subgraphs.
I tried checking my datadog agent to see if there's some rate limiting happening at the agent level and nothing stood out to me. I tried curl-ing the metrics endpoints for a few of my graph nodes, and none of them had non-eth_getLogs values. I see the following when I curl the metrics endpoint
# HELP eth_rpc_request_duration Measures eth rpc request duration
# TYPE eth_rpc_request_duration histogram
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="0.05"} 597
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="0.1"} 1224
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="0.2"} 3323
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="0.4"} 3506
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="0.8"} 3631
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="1.6"} 3634
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="3.2"} 3634
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="6.4"} 3634
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="12.8"} 3634
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="25.6"} 3634
eth_rpc_request_duration_bucket{method="eth_getLogs",provider="arbitrum-one-default",le="+Inf"} 3634
eth_rpc_request_duration_sum{method="eth_getLogs",provider="arbitrum-one-default"} 472.76402704999924
eth_rpc_request_duration_count{method="eth_getLogs",provider="arbitrum-one-default"} 3634
I did more digging and I found another metric, endpoint_request which isn't documented in the metrics doc which seems to have more up to date info like the following
# HELP endpoint_request successfull request
# TYPE endpoint_request counter
endpoint_request{conn_type="firehose",provider="goldsky-firehose-goerli",req_type="unknown",result="success"} 1859
endpoint_request{conn_type="firehose",provider="goldsky-firehose-mainnet",req_type="unknown",result="success"} 141
endpoint_request{conn_type="firehose",provider="streamingfast-firehose-bsc",req_type="unknown",result="success"} 23
endpoint_request{conn_type="firehose",provider="streamingfast-firehose-goerli",req_type="unknown",result="success"} 20
endpoint_request{conn_type="firehose",provider="streamingfast-firehose-mainnet",req_type="unknown",result="failure"} 1
endpoint_request{conn_type="firehose",provider="streamingfast-firehose-mainnet",req_type="unknown",result="success"} 228
endpoint_request{conn_type="firehose",provider="streamingfast-firehose-matic",req_type="unknown",result="success"} 25
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-archive",req_type="eth_getBlockByNumber",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-archive",req_type="net_version",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-archive",req_type="web3_clientVersion",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-default",req_type="eth_chainId",result="success"} 2
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-default",req_type="eth_getBlockByHash",result="failure"} 68
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-default",req_type="eth_getBlockByHash",result="success"} 9582
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-default",req_type="eth_getBlockByNumber",result="failure"} 26
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-default",req_type="eth_getBlockByNumber",result="success"} 3420
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-default",req_type="eth_getTransactionReceipt",result="failure"} 100
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-default",req_type="eth_getTransactionReceipt",result="success"} 24571
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-default",req_type="net_version",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-default",req_type="web3_clientVersion",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-traces",req_type="eth_getBlockByNumber",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-traces",req_type="net_version",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-goerli-traces",req_type="web3_clientVersion",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-nova",req_type="eth_getBlockByHash",result="success"} 8394
endpoint_request{conn_type="rpc",provider="arbitrum-nova",req_type="eth_getBlockByNumber",result="success"} 4065
endpoint_request{conn_type="rpc",provider="arbitrum-nova",req_type="eth_getTransactionReceipt",result="success"} 17247
endpoint_request{conn_type="rpc",provider="arbitrum-nova",req_type="net_version",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-nova",req_type="web3_clientVersion",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-nova-archive",req_type="eth_getBlockByNumber",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-nova-archive",req_type="net_version",result="success"} 1
endpoint_request{conn_type="rpc",provider="arbitrum-nova-archive",req_type="web3_clientVersion",result="success"} 1
Relevant log output
No response
IPFS hash
No response
Subgraph name or link to explorer
No response
Some information to help us out
- Tick this box if this bug is caused by a regression found in the latest release.
- Tick this box if this bug is specific to the hosted service.
- I have searched the issue tracker to make sure this issue is not a duplicate.
OS information
None
- Ngôn ngữ chính
- Rust
- Star
- 3.2k
- Fork
- 1.1k
- Merge trung bình
- 4 ngày 1 giờ
- Pull request đã merge (30 ngày)
- 1
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của graphprotocol/graph-node
-
current: include emits an all-null bucket for dimensionless aggregations, nulling the whole response Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
graphprotocol/graph-node#6719 ·
-
RUSTSEC-2026-0194: Quadratic run time when checking a start tag for duplicate attribute names Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
graphprotocol/graph-node#6673 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
graphprotocol/graph-node#6650 · 1 bình luận ·
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 48/100
graphprotocol/graph-node#6722 ·
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
graphprotocol/graph-node#6721 ·
Tất cả issue của graphprotocol/graph-node
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100