Skip to content

feat: Added OpenTelemetry tracing for Lava#2291

Merged
nimrod-teich merged 3 commits into
mainfrom
lava-tracing
May 20, 2026
Merged

feat: Added OpenTelemetry tracing for Lava#2291
nimrod-teich merged 3 commits into
mainfrom
lava-tracing

Conversation

@sotskov-do

@sotskov-do sotskov-do commented May 12, 2026

Copy link
Copy Markdown
Contributor

Description

  • End-to-end trace stitching consumer → provider → upstream chain node via Fiber HTTP middleware (chainlib.HandleHTTP), otelgrpc stats handlers on the consumer↔provider gRPC hop, and chainlib.sendJSONRPCRelay/sendRESTRelay/sendGRPCRelay/sendTendermintRPCRelay spans wrapping the upstream call.
  • Lava-chain visibility without touching lavadtracing.WrapClientConn emits lavachain.Query spans on every Cosmos SDK ABCI query; tracing.StartLavaChainTx wraps TxSender.SendTxAndVerifyCommit.
  • W3C traceparent propagation at every hop, including outbound HTTP/gRPC requests to upstream chain nodes (per-request, race-free via rpcclient.WithHeaders).
  • Per-binary service.name (lava-consumer / lava-provider / lava-smartrouter) so co-located processes show as distinct services in tracing UIs.
  • WebSocket subscriptions trace handshake-class events only; server-pushed stream events produce no spans (regression-guarded by AST test).

@qodo-code-review

Copy link
Copy Markdown
ⓘ You've reached your Qodo monthly free-tier limit. Reviews pause until next month — upgrade your plan to continue now, or link your paid account if you already have one.

@codecov

codecov Bot commented May 12, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 43.48958% with 217 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
protocol/rpcprovider/rpcprovider_server.go 31.14% 42 Missing ⚠️
protocol/rpcconsumer/rpcconsumer_server.go 23.80% 32 Missing ⚠️
protocol/tracing/spans_lavachain.go 43.18% 25 Missing ⚠️
protocol/tracing/spans_consumer.go 42.42% 19 Missing ⚠️
protocol/statetracker/tx_sender.go 0.00% 16 Missing ⚠️
protocol/tracing/spans_provider.go 54.83% 14 Missing ⚠️
protocol/chainlib/tendermintRPC.go 38.88% 10 Missing and 1 partial ⚠️
protocol/rpcconsumer/rpcconsumer.go 0.00% 10 Missing ⚠️
protocol/rpcprovider/rpcprovider.go 10.00% 8 Missing and 1 partial ⚠️
protocol/chainlib/jsonRPC.go 53.84% 5 Missing and 1 partial ⚠️
... and 11 more
Flag Coverage Δ
consensus 8.96% <ø> (ø)
protocol 35.56% <43.48%> (+0.33%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
protocol/chainlib/chainproxy/rpcclient/http.go 28.75% <100.00%> (+28.75%) ⬆️
protocol/chainlib/grpcproxy/grpcproxy.go 44.57% <100.00%> (+3.55%) ⬆️
protocol/lavasession/common.go 62.92% <100.00%> (+0.42%) ⬆️
protocol/rpcprovider/provider_listener.go 35.29% <100.00%> (+0.77%) ⬆️
protocol/tracing/propagation.go 100.00% <100.00%> (ø)
protocol/chainlib/chainproxy/connector.go 56.89% <66.66%> (ø)
protocol/chainlib/common.go 61.94% <0.00%> (-0.28%) ⬇️
protocol/rpcsmartrouter/rpcsmartrouter_server.go 13.23% <0.00%> (+<0.01%) ⬆️
protocol/tracing/trace_manager.go 71.81% <83.33%> (+0.97%) ⬆️
protocol/chainlib/grpc.go 46.15% <60.00%> (+0.20%) ⬆️
... and 16 more

... and 1 file with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

github-actions Bot commented May 12, 2026

Copy link
Copy Markdown

Test Results

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
7 files   ±0   0 ❌ ±0 

Results for commit 820cd44. ± Comparison against base commit cfdd4b9.

♻️ This comment has been updated with latest results.

nimrod-teich
nimrod-teich previously approved these changes May 20, 2026
@nimrod-teich nimrod-teich merged commit 8fae505 into main May 20, 2026
30 checks passed
@nimrod-teich nimrod-teich deleted the lava-tracing branch May 20, 2026 14:24
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.

2 participants