-
Notifications
You must be signed in to change notification settings - Fork 579
Description
Environment Details
- Helidon Version: 4.3.x
- Helidon SE or Helidon MP
- JDK version: 21
- OS: Linux
Problem Description
While testing out the new feature implemented in #9968 on a k8s based environment, I noticed that the "limit-span" that is being created, is created as an orphan span and not part of the trace tree of the actual request. Even though we have HTTP headers (x-b3-traceid, x-b3-parentspanid, x-b3-spanid, x-b3-sampled), it is not registered as the current span in the context. So, the Span.current().ifPresent()
returns empty.
Due to this, the following line is never executed and the parent is not set for the limit-span.
Span.current().ifPresent(cs -> cs.context().asParent(spanBuilder))
I verified the same by adding debug statements in LimitSpan.java and Http1Connection.java
Following is the snippet of the trace tree. In the trace tree, the limit-span is not showing up as the child of the "forward-psr-ric-sampleapp" span
All the limit spans are created as an orphan span and have their separate traceIDs, recording a single span.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status