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
the implementation of ClientTracingFilter.createSpan() is currently setting the associated tags like "SPAN_KIND" and the "COMPONENT" after the span is started .
Downstream processors such as java-span-reporter reporter implementations , get a call back for Span operations such as start() and finish().
With the above implementation, the details such as SPAN_KIND, COMPONENT are not available when they get invoked as part of span start() . Having the details of Component & Sapn Type at start would really help for some use cases where this info is used for taking specific actions, for example emitting specific event type for JAX-RS service calls into JFR,
if the implementation in ClientTracingFilter.createSpan() could be changed, to something like below to provide COMPONENT and SPAN_KIND and other details as part of Span start() , it would really help for such use cases.
to create spans for jax-rs execution on Server Side.
The ask here is that the implemenation of span creation in ClientTracingFilter, can be modified to use this approach where withTag() method is used to provide the span details as apr tof Span creation itself, instead of setting them after the creation.
The text was updated successfully, but these errors were encountered:
Environment Details
Helidon Version: 1.4.4
Helidon SE & Helidon MP
JDK version: 8 u251
OS: Linux x64
Helidon Version: 2.0.0.-RC1
Helidon SE & Helidon MP
JDK version: 11
OS: Linux x64
Problem Description
the implementation of ClientTracingFilter.createSpan() is currently setting the associated tags like "SPAN_KIND" and the "COMPONENT" after the span is started .
private Span createSpan(ClientRequestContext requestContext,
Tracer tracer,
Optional parentSpan,
String spanName) {
Downstream processors such as java-span-reporter reporter implementations , get a call back for Span operations such as start() and finish().
With the above implementation, the details such as SPAN_KIND, COMPONENT are not available when they get invoked as part of span start() . Having the details of Component & Sapn Type at start would really help for some use cases where this info is used for taking specific actions, for example emitting specific event type for JAX-RS service calls into JFR,
if the implementation in ClientTracingFilter.createSpan() could be changed, to something like below to provide COMPONENT and SPAN_KIND and other details as part of Span start() , it would really help for such use cases.
Tracer.SpanBuilder spanBuilder = tracer.buildSpan(spanName)
.withTag(Tags.SPAN_KIND.getKey(), Tags.SPAN_KIND_CLIENT)
.withTag(Tags.HTTP_METHOD.getKey(), requestContext.getMethod())
.withTag(Tags.HTTP_URL.getKey(), url(requestContext.getUri()))
.withTag(Tags.COMPONENT.getKey(), "jaxrs");
This approach is also used in
https://github.com/oracle/helidon/blob/master/tracing/jersey/src/main/java/io/helidon/tracing/jersey/AbstractTracingFilter.java#L78
to create spans for jax-rs execution on Server Side.
The ask here is that the implemenation of span creation in ClientTracingFilter, can be modified to use this approach where withTag() method is used to provide the span details as apr tof Span creation itself, instead of setting them after the creation.
The text was updated successfully, but these errors were encountered: