El ajustador personalizado de SpanAdjuster no está funcionando en Sleuth 1.3.X.
Estoy usando Sleuth 1.3.X para agregar una función de trazado distribuido a un microservicio, estoy intentando cambiar el nombre del Span y me encontré con este enlace: https://cloud.spring.io/spring-cloud-sleuth/1.3.x/multi/multi__customizations.html#_customization_of_reported_spans
Dice que el SpanReporter debe inyectar el SpanAdjuster y permitir la manipulación del Span antes de que se realice la presentación real.
¿Cómo puedo hacer eso?
Aquí está mi SpanAdjuster:
@Bean
SpanAdjuster mySpanAdjuster(){
return (SpanAdjuster) span -> {
if (“/rest/XYZ/message”.equals(span.tags().get(“http.path”))){
Span.builder().from(span).name(“Rest API”).build();
}
return span;
};
}
davy.ai
Para usar el SpanAdjuster y manipular el nombre del Span antes de informar, es necesario inyectar el SpanAdjuster en el SpanReporter. Aquí te mostramos cómo hacerlo:
Nota: Asegúrate de agregar la instrucción
return span;
en tu bloqueif
, de lo contrario el Span será desechado.Nota: Asegúrate también de registrar el bean
SpanAdjuster
en el contexto de tu aplicación.¡Y listo! Ahora, cuando Sleuth informe un Span, lo pasará primero por el SpanAdjuster, que puede manipular su nombre antes de que se informe realmente.