Area(s)
area:network
What's missing?
#4045 adds cross-layer guidance for choosing among the existing address/port attribute pairs:
client.* / server.* — protocol roles (L7), logical / de-proxied identity
source.* / destination.* — direction of an exchange (L4 flow / packet), as observed
network.local.* / network.peer.* — my socket vs. the directly connected peer (socket vantage)
That guidance is deliberately scoped to these three pairs and explicitly marks L2/L3 routing and neighbor telemetry as "not covered by these pairs today." This issue tracks the follow-up decision on where those attributes should live, so the guidance doc doesn't have to carry an unresolved design.
The three existing pairs don't cleanly describe endpoints for L2/L3 control-plane and neighbor telemetry — e.g. OSPF, BGP, LLDP, ARP. We need to decide how to represent the two ends of such adjacencies before instrumentation in this space standardizes on divergent, ad-hoc attributes.
The core tension is that network.local.* / network.peer.* are defined in socket terms:
- Socket-based protocols map cleanly. BGP runs over TCP, so
getsockname / getpeername (and therefore network.local.* / network.peer.*) apply naturally.
- Non-socket protocols do not. OSPF (directly over IP), LLDP (link-layer), and ARP (address resolution) use neighbor tables/adjacencies with no TCP socket, so the
getsockname / getpeername framing doesn't fit.
Describe the solution you'd like
Decide which representation L2/L3 routing and neighbor telemetry should use:
- Reuse
network.local.* / network.peer.* for all adjacencies (simple, but stretches the socket-oriented definition for non-socket protocols).
- Introduce a net-new neighbor family, e.g.
network.neighbor.local.* / network.neighbor.peer.*, aligning with LLDP/ARP "neighbor" terminology.
- Introduce a routing-specific family, e.g.
network.routing.*, for routing-protocol adjacencies.
- Hybrid — reuse
network.local.* / network.peer.* where a socket exists (e.g. BGP/TCP) and add a neighbor/routing family where it doesn't (OSPF/LLDP/ARP).
Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it. Learn more here.
Area(s)
area:network
What's missing?
#4045 adds cross-layer guidance for choosing among the existing address/port attribute pairs:
client.*/server.*— protocol roles (L7), logical / de-proxied identitysource.*/destination.*— direction of an exchange (L4 flow / packet), as observednetwork.local.*/network.peer.*— my socket vs. the directly connected peer (socket vantage)That guidance is deliberately scoped to these three pairs and explicitly marks L2/L3 routing and neighbor telemetry as "not covered by these pairs today." This issue tracks the follow-up decision on where those attributes should live, so the guidance doc doesn't have to carry an unresolved design.
The three existing pairs don't cleanly describe endpoints for L2/L3 control-plane and neighbor telemetry — e.g. OSPF, BGP, LLDP, ARP. We need to decide how to represent the two ends of such adjacencies before instrumentation in this space standardizes on divergent, ad-hoc attributes.
The core tension is that
network.local.*/network.peer.*are defined in socket terms:getsockname/getpeername(and thereforenetwork.local.*/network.peer.*) apply naturally.getsockname/getpeernameframing doesn't fit.Describe the solution you'd like
Decide which representation L2/L3 routing and neighbor telemetry should use:
network.local.*/network.peer.*for all adjacencies (simple, but stretches the socket-oriented definition for non-socket protocols).network.neighbor.local.*/network.neighbor.peer.*, aligning with LLDP/ARP "neighbor" terminology.network.routing.*, for routing-protocol adjacencies.network.local.*/network.peer.*where a socket exists (e.g. BGP/TCP) and add a neighbor/routing family where it doesn't (OSPF/LLDP/ARP).Tip
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding
+1orme too, to help us triage it. Learn more here.