

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration du fournisseur de OpenTelemetry-based télémétrie
<a name="observability-telemetry-providers-otel"></a>

Le SDK pour Kotlin fournit une implémentation de l'`TelemetryProvider`interface soutenue par. OpenTelemetry

## Conditions préalables
<a name="observability-telemetry-providers-otel-prereqs"></a>

Mettez à jour les dépendances de votre projet pour ajouter le OpenTelemetry fournisseur, comme indiqué dans l'extrait de code Gradle suivant. Vous pouvez accéder au {{X.Y.Z}} lien pour voir la dernière version disponible.

```
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")
}
```

## Configuration du kit SDK
<a name="observability-telemetry-providers-otel-conf"></a>

Le code suivant configure un client de service à l'aide du fournisseur de OpenTelemetry télémétrie.

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

**Note**  
Ce guide ne traite pas de la configuration du OpenTelemetry SDK. La [documentation OpenTelemetry Java](https://opentelemetry.io/docs/instrumentation/java/) contient des informations de configuration sur les différentes approches : [manuellement](https://opentelemetry.io/docs/instrumentation/java/manual/), automatiquement via l'[agent Java](https://opentelemetry.io/docs/instrumentation/java/automatic/) ou le [collecteur](https://opentelemetry.io/docs/collector/) (facultatif).

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

Les ressources suivantes sont disponibles pour vous aider à démarrer OpenTelemetry.
+ AWS Page d'accueil de [Distro for OpenTelemetry](https://aws-otel.github.io/docs/introduction) - AWS OTel Distro
+ [aws-otel-java-instrumentation - Distribution pour la bibliothèque d'instrumentation](https://github.com/aws-observability/aws-otel-java-instrumentation) Java AWS OpenTelemetry 
+ [aws-otel-lambda - couches Lambda gérées](https://github.com/aws-observability/aws-otel-lambda) AWS OpenTelemetry 
+ [aws-otel-collector - Distribution pour collectionneur](https://github.com/aws-observability/aws-otel-collector) AWS OpenTelemetry
+ [AWS Meilleures pratiques d'observabilité - Bonnes pratiques](https://aws-observability.github.io/observability-best-practices/) générales en matière d'observabilité spécifiques à AWS