本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 OpenTelemetry-based 遥测提供商
适用于 Kotlin 的 SDK 提供了由 OpenTelemetry支持的TelemetryProvider接口的实现。
先决条件
更新您的项目依赖项以添加 OpenTelemetry 提供者,如以下 Gradle 代码段所示。您可以导航到该X.Y.Z链接以查看可用的最新版本。
dependencies { implementation(platform("aws.smithy.kotlin:bom:X.Y.Z")) implementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:X.Y.Z")) implementation("aws.smithy.kotlin:telemetry-provider-otel") // OPTIONAL: If you use log4j, the following entry enables the ability to export logs through OTel. runtimeOnly("io.opentelemetry.instrumentation:opentelemetry-log4j-appender-2.17") }
配置 SDK
以下代码使用 OpenTelemetry遥测提供程序配置服务客户端。
import aws.sdk.kotlin.services.s3.S3Client import aws.smithy.kotlin.runtime.telemetry.otel.OpenTelemetryProvider import io.opentelemetry.api.GlobalOpenTelemetry import kotlinx.coroutines.runBlocking fun main() = runBlocking { val otelProvider = OpenTelemetryProvider(GlobalOpenTelemetry.get()) S3Client.fromEnvironment().use { s3 -> telemetryProvider = otelProvider … } }
注意
关于如何配置 OpenTelemetry SDK 的讨论不在本指南的讨论范围之内。OpenTelemetryJava 文档
资源
以下资源可帮助您入门 OpenTelemetry。
-
AWS 发行版适用于 OpenTelemetry
- AWS oTel 发行版主页 -
aws-otel-java-instrumentions-Java 工具
库发行版 AWS OpenTelemetry -
aws-otel-lambda-托管的 Lambda 层
AWS OpenTelemetry -
aws-otel-collector-收藏家发行版
AWS OpenTelemetry -
AWS 可观测性最佳实践
-特定于可观测性的一般最佳实践 AWS