Conventions sémantiques OpenTelemetry et conventions Datadog

OpenTelemetry utilise des conventions sémantiques qui spécifient des noms pour différents types de données. Cette page répertorie les mappages des conventions sémantiques OpenTelemetry vers les conventions sémantiques de Datadog.

Convention OpenTelemetryConvention DatadogType
deployment.environment.name *envUnified service tagging
service.nameserviceUnified service tagging
service.versionversionUnified service tagging
container.idcontainer_idContainers
container.namecontainer_nameContainers
container.image.nameimage_nameContainers
container.image.tagimage_tagContainers
cloud.providercloud_providerCloud
cloud.regionregionCloud
cloud.availability_zonezoneCloud
aws.ecs.task.familytask_familyECS
aws.ecs.task.arntask_arnECS
aws.ecs.cluster.arnecs_cluster_nameECS
aws.ecs.task.revisiontask_versionECS
aws.ecs.container.arnecs_container_nameECS
k8s.container.namekube_container_nameKubernetes
k8s.cluster.namekube_cluster_nameKubernetes
k8s.deployment.namekube_deploymentKubernetes
k8s.replicaset.namekube_replica_setKubernetes
k8s.statefulset.namekube_stateful_setKubernetes
k8s.daemonset.namekube_daemon_setKubernetes
k8s.job.namekube_jobKubernetes
k8s.cronjob.namekube_cronjobKubernetes
k8s.namespace.namekube_namespaceKubernetes
k8s.pod.namepod_nameKubernetes
app.kubernetes.io/namekube_app_nameKubernetes labels
app.kubernetes.io/instancekube_app_instanceKubernetes labels
app.kubernetes.io/versionkube_app_versionKubernetes labels
app.kubernetes.io/componentkube_app_componentKubernetes labels
app.kubernetes.io/part-ofkube_app_part_ofKubernetes labels
app.kubernetes.io/managed-bykube_app_managed_byKubernetes labels
client.addresshttp.client_ipHTTP
http.response.body.sizehttp.response.content_lengthHTTP
http.response.header.<header-name>http.response.headers.<header-name>HTTP
http.response.status_codehttp.status_codeHTTP
http.request.body.sizehttp.request.content_lengthHTTP
http.request.header.referrerhttp.referrerHTTP
http.request.header.<header-name>http.request.headers.<header-name>HTTP
http.request.methodhttp.methodHTTP
http.routehttp.routeHTTP
network.protocol.versionhttp.versionHTTP
server.addresshttp.server_nameHTTP
url.fullhttp.urlHTTP
user_agent.originalhttp.useragentHTTP

*Remplace la convention deployment.environment obsolète. Nécessite Datadog Agent 7.58.0+, l’exportateur Datadog v0.110.0+ ou l’ingestion OTLP Datadog.

Mappage du type de span

Datadog utilise une convention spécifique au fournisseur de « type de span » représentée par l’attribut span.type.

En fonction des attributs inclus dans votre span, le Datadog Agent et les composants OpenTelemetry de Datadog tentent de déduire le type de span approprié pour une meilleure compatibilité avec les autres services Datadog. Vous pouvez également définir explicitement l’attribut span.type sur n’importe quel span pour remplacer cette logique en utilisant un processeur attributes ou transform, ainsi qu’en définissant des valeurs de configuration appropriées dans les SDK OpenTelemetry.

Mappez l’attribut de span OpenTelemetry vers le type de span Datadog

Le tableau suivant présente la logique de mappage du type de span. Le tableau répertorie les mappages par ordre de priorité.

#Attribut de spanspan.type Datadog
1span.typespan.type valeur d’attribut
2Type de span serveurweb
3Type de span clientvoir 3a/b
3aType de span client, db.system attribut non trouvéhttp
3bType de span client, db.system attribut trouvéVoir le tableau ci-dessous Mappage du type de système de base de données OpenTelemetry vers le type de span Datadog
4Aucune des conditions ci-dessus n’a été rempliecustom

Mappage du type de système de base de données OpenTelemetry vers le type de span Datadog

Dans le tableau ci-dessus, si un span est de type « client » et contient un db.system attribut, le mappage suivant s’applique au type de span dans Datadog. La définition d’un attribut span.type sur votre span remplace cette logique.

db.systemDatadog span.type
Type SQL de SGBD (listé ci-dessous)sql
adabassql
cachesql
clickhousesql
cloudscapesql
cockroachdbsql
coldfusionsql
db2sql
derbysql
edbsql
firebirdsql
firstsqlsql
filemakersql
hanadbsql
h2sql
hsqldbsql
informixsql
ingressql
instantdbsql
interbasesql
mariadbsql
maxdbsql
mssqlsql
mysqlsql
netezzasql
oraclesql
other_sqlsql
pervasivesql
pointbasesql
postgresqlsql
progresssql
redshiftsql
sqlitesql
sybasesql
teradatasql
verticasql
Autres types de bases de donnéesvoir ci-dessous
cassandracassandra
couchbasedb
couchdbdb
cosmosdbdb
dynamodbdb
elasticsearchelasticsearch
geodedb
hivedb
memcachedmemcached
mongodbmongodb
opensearchopensearch
redisredis
toute db.system valeur non listée ci-dessusdb

Mappage des attributs de métriques

Par défaut, Datadog mappe uniquement les attributs de ressource OpenTelemetry listés dans le tableau des conventions sémantiques ci-dessus vers des tags de métriques Datadog.

Pour associer tous les attributs de ressource de vos charges utiles de métriques OTLP en tant que tags, activez le paramètre metrics::resource_attributes_as_tags : Une fois activé, ce paramètre ajoute toutes les paires key:value d’attributs de ressource en tant que tags Datadog, en plus des tags de conventions sémantiques mappés présentés dans le tableau ci-dessus.

Remarque : L’activation de cette option peut augmenter considérablement la cardinalité des tags. Pour vérifier quels tags sont ajoutés, inspectez vos métriques dans le Metrics Explorer.

exporters:
    datadog:
        # Other configuration goes here...
        metrics:
            # Add all resource attributes as tags for metrics
            resource_attributes_as_tags: true
otlp_config:
    # Other configuration goes here...
    metrics:
        # Add all resource attributes as tags for metrics
        resource_attributes_as_tags: true

L’activation de cette option ajoute à la fois les attributs de ressource OpenTelemetry et les conventions sémantiques Datadog aux tags de métriques.

Pour aller plus loin