SuperAPI AI 工具集

maple-kotlin-style

编程与开发

查看项目

更新于 10-16 00:05

技能介绍

用途:为 Kotlin(Ktor、Spring Boot)项目接入 Maple 的 OpenTelemetry 遥测,统一追踪、日志与指标上报。Kotlin 运行于 JVM,因此同样适用 OpenTelemetry Java agent 与 SDK。

主要能力:零代码 Java agent 可自动埋点 Ktor、Spring Boot(MVC、WebFlux)、kotlinx.coroutines 上下文传播、JDBC(含 Exposed)、R2DBC、Kafka、gRPC、OkHttp、AWS SDK 等;手动 SDK 适合 native-image 或密封模块构建。支持有界业务 span、异常记录与状态设置,以及日志桥接(Logback、SLF4J、Log4j2)。

使用方式:推荐 agent,下载 opentelemetry-javaagent.jar 后以 -javaagent 启动,并内联设置 otel.service.name、otel.exporter.otlp.protocol=http/protobuf、otel.exporter.otlp.endpoint=https://ingest.maple.dev、authorization 头与资源属性。EU 组织使用 https://ingest.eu.maple.dev。这些参数应保留在 JVM 启动处(Procfile、Dockerfile 或 JAVA_TOOL_OPTIONS),不要移到未设置的环境变量后;agent 不读取 application.yml。手动 SDK 需构建 OtlpHttpSpanExporter、Resource 与 SdkTracerProvider,并通过 io.opentelemetry:opentelemetry-bom 解析版本。协程中应使用 asContextElement()(来自 opentelemetry-extension-kotlin),不要在 suspend 函数中调用 span.makeCurrent()。日志方面,agent 会自动桥接 Logback 与 Log4j2;手动 SDK 需添加对应 appender 并在构建 SDK 后调用 OpenTelemetryAppender.install(sdk),不要替换用户现有 logger。

限制:MAPLE_TEST 需替换为项目真实 ingest key;若已运行 Datadog、New Relic 或 Honeycomb agent,可保留,但同一 JVM 上两个字节码 agent 可能冲突,上线前需测试组合。资料未提供收费、价格与效果信息。