enable distribution otlp tracing

This commit is contained in:
Denis Savosin
2024-10-10 11:57:52 +07:00
parent a52f69ece5
commit d8b068917f
6 changed files with 31 additions and 3 deletions

View File

@@ -13,7 +13,11 @@ import com.example.demo.services.validation.SchemaValidator
import com.fasterxml.jackson.databind.ObjectMapper
import com.fasterxml.jackson.databind.SerializationFeature
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
import io.micrometer.observation.ObservationRegistry
import io.micrometer.observation.aop.ObservedAspect
import io.opentelemetry.exporter.otlp.http.trace.OtlpHttpSpanExporter
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Value
import org.springframework.boot.context.properties.EnableConfigurationProperties
import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
@@ -50,5 +54,17 @@ class AppConfig(
@Bean
fun schemaValidator(): SchemaValidator = SchemaValidator(kafkaProperties.validation.schema)
@Bean
fun otlpHttpSpanExporter(@Value("\${tracing.url}") url: String): OtlpHttpSpanExporter {
return OtlpHttpSpanExporter.builder()
.setEndpoint(url)
.build()
}
@Bean
fun observedAspect(@Autowired observationRegistry: ObservationRegistry): ObservedAspect {
return ObservedAspect(observationRegistry)
}
}

View File

@@ -59,4 +59,10 @@ management:
metrics:
distribution:
percentiles-histogram:
"[http.server.requests]": true
"[http.server.requests]": true
tracing:
sampling:
probability: 1.0
tracing:
url: ${OTLP_TRACING_HTTP_URL:http://localhost:4318/v1/traces}