You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have different API modules implementing interfaces that are wrapped inside a caller to do an iteration on those modules and calling the inner APIs. The spans are propagating as expected except one thing which is the spans from different API modules are getting nested as children into each other on each iteration and it will continue until the loops end and in the next loop iteration again the same thing will happen but these loops will never be a child and only each iteration will make the nested children.
Environment
Go Version: [1.21]
otelhttptrace version: v0.45.0
Steps To Reproduce
You can check the code on how we set the tracing and you can do a loop on HTTP calls from different modules that are using the same function on every httpClient initialization
This SetTracingTransport is called on every API module that uses one parent HTTP client and copy to make their client
This is the expected behavior. Distributed tracing propagation allows marking spans from sub-services as childs of the parent one.
You can use the WithPublicEndpoint, and WithPublicEndpointFn options when you configure otelhttp to mark specific requests as not being childs of the propagated trace.
They will be a root span, with the parent becoming a link.
Description
Hi team!
We have different API modules implementing interfaces that are wrapped inside a caller to do an iteration on those modules and calling the inner APIs. The spans are propagating as expected except one thing which is the spans from different API modules are getting nested as children into each other on each iteration and it will continue until the loops end and in the next loop iteration again the same thing will happen but these loops will never be a child and only each iteration will make the nested children.
Environment
otelhttptrace
version: v0.45.0Steps To Reproduce
You can check the code on how we set the tracing and you can do a loop on HTTP calls from different modules that are using the same function on every httpClient initialization
This SetTracingTransport is called on every API module that uses one parent HTTP client and copy to make their client
Expected behavior
We expect each API call have it's own traces instead of being a child of another API
The text was updated successfully, but these errors were encountered: