Код: Выделить всё
17:27:23.658 trace_id= span_id= trace_flags= GET "/ping", parameters={}
17:27:23.675 trace_id= span_id= trace_flags= Mapped to io.opentelemetry.example.graal.Controller#ping()
17:27:23.691 trace_id= span_id= trace_flags= Using 'text/plain', given [*/*] and supported [text/plain, */*, application/json, application/*+json]
17:27:23.692 trace_id= span_id= trace_flags= Writing ["pong"]
17:27:23.696 trace_id= span_id= trace_flags= Completed 200 OK
Код: Выделить всё
2024-10-12T16:29:37.044Z DEBUG 'Writing ["pong"]' : f171ab68e6a9745eb2a670cb044d393a a5d868137585c4b9 [scopeInfo: org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor:] {code.filepath="LogFormatUtils.java", code.function="traceDebug", code.lineno=120, code.namespace="org.springframework.core.log.LogFormatUtils", thread.name="http-nio-8080-exec-1"}
17:29:37.048 trace_id= span_id= trace_flags= Completed 200 OK
Код: Выделить всё
f171ab68e6a9745eb2a670cb044d393a
Код: Выделить всё
import org.springframework.boot.gradle.plugin.SpringBootPlugin
plugins {
id("java")
id("org.springframework.boot") version "3.3.4"
id("org.graalvm.buildtools.native") version "0.10.3"
}
description = "OpenTelemetry Example for Spring native images"
java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
repositories {
mavenCentral()
}
dependencies {
implementation(platform(SpringBootPlugin.BOM_COORDINATES))
implementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:2.8.0"))
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("org.springframework.boot:spring-boot-starter-data-jdbc")
implementation("com.h2database:h2")
implementation("io.opentelemetry.instrumentation:opentelemetry-spring-boot-starter")
implementation("io.opentelemetry.contrib:opentelemetry-samplers:1.39.0-alpha")
implementation("io.opentelemetry.instrumentation:opentelemetry-logback-mdc-1.0:2.8.0-alpha")
}
Код: Выделить всё
true
true
true
true
*
1
%d{HH:mm:ss.SSS} trace_id=%X{trace_id} span_id=%X{span_id} trace_flags=%X{trace_flags} %msg%n
Код: Выделить всё
OTEL_EXPORTER_OTLP_ENDPOINT=https://api.honeycomb.io;
OTEL_EXPORTER_OTLP_HEADERS=x-honeycomb-team=XXXXX;
OTEL_LOGS_EXPORTER=console
Просто для получения дополнительной информации я сделал это на C# на прошлой неделе с помощью экспортера https://stackoverflow.com/a/79055614/175554, и вот полный воспроизводитель для Java-проект весенней загрузки https://github.com/ozkanpakdil/spring-e ... try-native
Подробнее здесь: https://stackoverflow.com/questions/790 ... son-format