Summary
Hubble shows that L3/L4 flow telemetry can be aggregated into a useful service dependency graph. OBI already solves trace context propagation and can recover the trace ID across service boundaries.
This proposal is to extend OBI so that correlated network flows are emitted as spans in the current trace. The goal is not to replace cluster-wide topology tools like Hubble, but to bring transport-level visibility into per-request trace analysis.
Motivation
Today, OBI gives application-level spans and trace correlation, while network topology tools provide independent L3/L4 visibility. These two views are complementary but disconnected.
This creates a gap:
- application traces show logical operations, but not the actual transport path
- network tools show traffic edges, but not which flows belonged to a specific trace
- transport issues such as failed connects, resets, blackholes, asymmetric routing, or unexpected intermediaries are difficult to explain from a trace alone
Since OBI already has trace context propagation, it is in a good position to correlate network activity with the trace that caused it.
Proposal
Add an opt-in feature that emits L3/L4 network flow spans for TCP, UDP, and ICMP when the flow can be correlated to an existing trace.
This should work as follows:
- observe L3/L4 network flow activity through OBI’s existing network flow pipeline
- correlate a flow with an existing trace context when available
- aggregate packets/events into a bounded flow representation
- emit a network span into the same trace
- use protocol-aware aggregation semantics for TCP, UDP, and ICMP
Scope
- support TCP, UDP, and ICMP
- only emit spans for flows that can be correlated to a known trace
- aggregate multiple packets/events into one flow span rather than one span per packet
- keep the feature disabled by default
- bound span volume with aggregation and per-trace limits
Why this is different from Hubble
Hubble builds topology by aggregating observed traffic into workload/service edges. It is flow-first and cluster-wide.
This proposal is different:
- Hubble answers: “what is talking to what?”
- OBI should answer: “what transport-level flows were part of this trace?”
The value here is not another service map. The value is adding transport-level evidence directly into the distributed trace.
Configuration
We can add network to
otel_traces_export:
instrumentations: ["network"]
Acceptance criteria
- OBI can emit TCP, UDP, and ICMP network flow spans into an existing correlated trace
- spans are emitted only when correlation is available
- span count is bounded and aggregation-based
- traces show transport-level spans alongside application spans
- feature is disabled by default
- integration tests cover correlation and cardinality control
Summary
Hubble shows that L3/L4 flow telemetry can be aggregated into a useful service dependency graph. OBI already solves trace context propagation and can recover the trace ID across service boundaries.
This proposal is to extend OBI so that correlated network flows are emitted as spans in the current trace. The goal is not to replace cluster-wide topology tools like Hubble, but to bring transport-level visibility into per-request trace analysis.
Motivation
Today, OBI gives application-level spans and trace correlation, while network topology tools provide independent L3/L4 visibility. These two views are complementary but disconnected.
This creates a gap:
Since OBI already has trace context propagation, it is in a good position to correlate network activity with the trace that caused it.
Proposal
Add an opt-in feature that emits L3/L4 network flow spans for TCP, UDP, and ICMP when the flow can be correlated to an existing trace.
This should work as follows:
Scope
Why this is different from Hubble
Hubble builds topology by aggregating observed traffic into workload/service edges. It is flow-first and cluster-wide.
This proposal is different:
The value here is not another service map. The value is adding transport-level evidence directly into the distributed trace.
Configuration
We can add
networktoAcceptance criteria