Intégration aux traces OpenTelemetry

Prise en charge des définitions d' OpenTelemetry s pour les traces

Instana peut s'intégrer parfaitement aux traces d' OpenTelemetry. Instana met en correspondance les traces de « OpenTelemetry » avec les traces générées par « Instana » qui utilisent le contexte de trace par défaut « W3C ».

Instana prend en charge les définitions couramment utilisées dans les « Conventions sémantiques de traçabilité » et les « Conventions sémantiques des ressources » de l' OpenTelemetry. Instana prend en charge les attributs suivants, définis dans les conventions sémantiques de l' OpenTelemetry.

Attributs de plage:

- peer.service
- net.peer.ip
- net.peer.name
- net.peer.port
- http.method
- http.url
- http.scheme
- http.host
- http.target
- http.status_code
- http.route
- http.user_agent
- db.system
- db.user
- db.statement
- db.operation
- db.name
- db.connection_string
- messaging.system
- messaging.operation
- messaging.destination
- rpc.system
- rpc.service
- rpc.method
- faas.execution
- faas.trigger
- faas.coldstart
Remarque : Instana répertorie des technologies spécifiques, telles que MySQL,, Redis et Kafka, pour les volets « base de données » et « messagerie » de OpenTelemetry. Pour déterminer la technologie utilisée pour une section de base de données, cette section doit posséder l'attribut db.system. Pour plus d'informations sur les valeurs possibles de db.system l'attribut, consultez les Conventions sémantiques pour les appels de base de données. Pour identifier la technologie d'un segment de messagerie, ce segment doit comporter l'attribut messaging.system. Pour plus d'informations sur les valeurs possibles de messaging.system l'attribut, consultez les Conventions sémantiques pour les appels de messagerie.

Attributs de ressource:

- service.name
- service.instance.id
- container.id
- process.pid
- telemetry.sdk.language
- host.name
- host.id
- cloud.provider
- faas.id
- device.id
- process.runtime.version
- container.name
- container.runtime
- container.image.name
- container.image.tag
- faas.version

Analyse des appels d' OpenTelemetry

OpenTelemetry est intégré à la technologie « AutoTrace » d' Instana. Si l'option « OpenTelemetry » est activée, les segments d'une trace générée par les applications sont traités de la même manière que les segments provenant des traceurs « Instana ».

Pour filtrer les appels provenant de OpenTelemetry,, définissez la requête de filtrage sur les attributs de ressource OpenTelemetry, service.name et is present. Définissez cette requête de filtre car la spécification OpenTelemetry pour les conventions sémantiques de ressource requiert l'attribut de ressource OpenTelemetry service.name. OpenTelemetry permet de spécifier le nom de service de différentes manières. Pour plus d'informations, voir la documentation officielle d'OpenTelemetry.

Chaque attribut OpenTelemetry ou attribut de ressource est représenté par les balises suivantes:

  • Balises dynamiques : ces balises sont calculées à partir de tous les attributs d' OpenTelemetry s envoyés à Instana et figurant dans le catalogue des balises d'appel. Vous pouvez facilement rechercher les balises dynamiques par nom, par exemple http.method, directement à partir du catalogue de balises. Le nombre de balises dynamiques placées dans le catalogue de balises est limité à 500 noms d'attribut différents. Si vous dépassez cette limite, utilisez uniquement les balises statiques pour filtrer et grouper car elles n'ont pas cette limitation.

    Balises dynamiques OpenTelemetry

  • Balises statiques : ces balises permettent d'accéder à tous les attributs de la ressource OpenTelemetry ou de la ressource OpenTelemetry qui sont envoyés à Instana. Pour filtrer ou regrouper par balises statiques, vous devez d'abord sélectionner une balise de type « OpenTelemetry » ou « OpenTelemetry », puis indiquer le nom de l'attribut comme clé.

    Balises statiques OpenTelemetry

Remarque : si vous dépassez la limite de 500 attributs « OpenTelemetry », vérifiez la convention de nommage de vos attributs personnalisés « OpenTelemetry ». Par exemple, si vous souhaitez suivre des tests A/B, au lieu de créer un nouvel attribut pour chaque utilisateur, tel que user-123-ab-test=a, vous pouvez utiliser les deux attributs et ab-test=auser-id=123 . En utilisant deux balises distinctes, vous pouvez facilement filtrer ou regrouper vos données tout en limitant le nombre total de balises d' OpenTelemetry s différentes.

Limitations connues

  • Instana ne prend pas en charge la combinaison du propagateur de contexte par défaut « Instana » avec des propagateurs de contexte autres que « W3C Trace Context ». W3C Trace Context est le propagateur de contexte par défaut d' OpenTelemetry.