

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Provedores de telemetria
<a name="observability-telemetry-providers"></a>

Atualmente, o SDK oferece suporte a [OpenTelemetry](https://opentelemetry.io/)(OTel) como provedor. O SDK pode oferecer provedores de telemetria adicionais no futuro.

**Topics**
+ [Configurar o provedor OpenTelemetry de telemetria baseado](observability-telemetry-providers-otel.md)

# Configurar o provedor OpenTelemetry de telemetria baseado
<a name="observability-telemetry-providers-otel"></a>

O SDK para Kotlin fornece uma implementação da `TelemetryProvider` interface apoiada por. OpenTelemetry

## Pré-requisitos
<a name="observability-telemetry-providers-otel-prereqs"></a>

Atualize as dependências do seu projeto para adicionar o OpenTelemetry provedor, conforme mostrado no seguinte trecho do Gradle. Você pode navegar até o *X.Y.Z* link para ver a versão mais recente disponível.

```
dependencies {
    implementation(platform("aws.smithy.kotlin:bom:[https://github.com/smithy-lang/smithy-kotlin/releases/latest](https://github.com/smithy-lang/smithy-kotlin/releases/latest)"))
    implementation(platform("io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom:[https://search.maven.org/#search|gav|1|g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-instrumentation-bom](https://search.maven.org/#search|gav|1|g:io.opentelemetry.instrumentation%20AND%20a:opentelemetry-instrumentation-bom)"))
    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")
}
```

## Configurar o SDK
<a name="observability-telemetry-providers-otel-conf"></a>

O código a seguir configura um cliente de serviço usando o provedor de OpenTelemetry telemetria.

```
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
        …
    }
}
```

**nota**  
Uma discussão sobre como configurar o OpenTelemetry SDK está fora do escopo deste guia. A [documentação OpenTelemetry Java](https://opentelemetry.io/docs/instrumentation/java/) contém informações de configuração sobre as várias abordagens: [manual](https://opentelemetry.io/docs/instrumentation/java/manual/), automaticamente por meio do [agente Java](https://opentelemetry.io/docs/instrumentation/java/automatic/) ou do [coletor](https://opentelemetry.io/docs/collector/) (opcional).

## Recursos
<a name="observability-telemetry-providers-otel-res"></a>

Os recursos a seguir estão disponíveis para ajudar você a começar OpenTelemetry.
+ [AWS Distro para OpenTelemetry - Página](https://aws-otel.github.io/docs/introduction) inicial da AWS OTe L Distro
+ [aws-otel-java-instrumentation](https://github.com/aws-observability/aws-otel-java-instrumentation)- AWS Distro para biblioteca de instrumentação OpenTelemetry Java
+ [aws-otel-lambda](https://github.com/aws-observability/aws-otel-lambda)- camadas OpenTelemetry Lambda AWS gerenciadas
+ [aws-otel-collector](https://github.com/aws-observability/aws-otel-collector)- AWS Distro para OpenTelemetry colecionador
+ [AWS Melhores práticas de observabilidade](https://aws-observability.github.io/observability-best-practices/) - Melhores práticas gerais para observabilidade específica para AWS