Datadog custom span tag 연동(kotlin-webflux)
코드적용 예시(kotlin + webflux)
현재 MSA 커뮤니티 dev, prod에 올라가 있고 동작은 하지만 개선 필요한 코드 입니다. 성능 체크도 필요.
gradle 의존성 추가
implementation("io.opentracing:opentracing-api:0.33.0")
implementation("io.opentracing:opentracing-util:0.33.0")
implementation("com.datadoghq:dd-trace-api:0.104.0")
2. webFilter
@Component
class DatadogSpanWebFilter(private val environment: Environment) : WebFilter {
override fun filter(exchange: ServerWebExchange, chain: WebFilterChain): Mono<Void> {
return when {
"dev" in environment.activeProfiles || "prod" in environment.activeProfiles -> {
chain.filter(DatadogSpanWebExchange(exchange, environment))
}
else -> {
chain.filter(exchange)
}
}
}
}3. webExchange delegate
4. webExchange request decorator
Last updated