# Outil de migration d’attributs Semantic-Convention v1.20 → v1.27 OpenTelemetry

Réécrit les noms d’attributs de spans/logs entre versions de conventions sémantiques OpenTelemetry : http.method → http.request.method, http.status_code → http.response.status_code, http.url → url.full, db.system → db.system.name, messaging.destination → messaging.destination.name et 25+ autres — sur du code JS/TS/Python/Go/Java/.NET collé, du YAML collector ou du JSON de dashboards Grafana, avec carte de renommage collector, avertissements de suppression/découpage manuel, statistiques par attribut et rapport des attributs non mappés.

> Page canonique: https://elysiatools.com/fr/tools/otel-semantic-convention-migration-tool

- **Catégorie:** Development

- **Mots-clés:** migration opentelemetry, conventions sémantiques, semconv, attributs otel, renommage http.method, http.request.method, db.system.name, messaging.destination.name, attributs de span, attributs de log, otel collector transform, rename_attribute_actions, dashboard grafana otel, mise à niveau sdk otel, refactor de télémétrie, mise à jour instrumentation

## Présentation

Collez du code (tout langage), une config OTel Collector ou un JSON de dashboard Grafana ; choisissez les versions source et cible. Le moteur applique les tables de migration non normatives officielles couche par couche — v1.23.1 stabilise HTTP, v1.24 renomme la base de données, v1.27 réécrit la messagerie. La correspondance par token complet évite les correspondances partielles. Les attributs supprimés (http.target, net.sock.family, net.sock.peer.name) sont signalés, pas réécrits — http.target doit être découpé manuellement en url.path et url.query. Sortie : source réécrite avec résumé de diff, carte de renommage collector, synchronisation du JSON des dashboards et attributs anciens non mappés à revoir.

## Entrées

- **Code source / config / JSON de dashboard** (textarea): span.setAttribute("http.method", req.method); ... or collector YAML, or Grafana dashboard JSON
- **Version source** (select)
- **Version cible** (select)
- **Générer la carte de renommage collector** (checkbox)
- **Appliquer les renommages dans les valeurs JSON (dashboards)** (checkbox)

## Quand l'utiliser

- Lors de la mise à niveau des SDK OpenTelemetry (JS, TS, Python, Go, Java, .NET) vers une version appliquant les conventions sémantiques HTTP, base de données ou messagerie stabilisées.
- Pour synchroniser les requêtes et panneaux de dashboards Grafana utilisant des anciens noms d'attributs comme `http.method` ou `db.system`.
- Lors de la configuration d'un processeur de transformation dans l'OpenTelemetry Collector pour assurer la rétrocompatibilité des métriques et des traces.

## Fonctionnement

- Sélectionnez les versions de conventions sémantiques source et cible, puis collez votre code, votre configuration Collector YAML ou votre dashboard JSON.
- Le moteur applique par couches les tables de renommage officielles (`http.*` en v1.23.1, `db.*` en v1.24.0, `messaging.*` en v1.27.0) par correspondance exacte de token pour éviter toute altération involontaire.
- L'outil génère le code réécrit, identifie les attributs supprimés nécessitant une intervention manuelle (ex. `http.target`), liste les attributs non mappés et produit la configuration de renommage pour le Collector.

## Cas d'usage

- Migration d'une instrumentation manuelle Node.js ou Python vers les conventions sémantiques OpenTelemetry v1.27.0.
- Génération de règles de processeur OTel Collector pour normaliser les attributs de télémétrie hétérogènes en transit.
- Refactorisation en masse de dashboards Grafana basés sur les traces pour s'aligner sur `http.request.method` et `url.full`.

## Questions fréquentes

### Pourquoi l'attribut `http.target` n'est-il pas automatiquement réécrit ?

`http.target` a été supprimé des spécifications et nécessite une décomposition manuelle en `url.path` et `url.query`.

### Quels langages de programmation sont pris en charge ?

Tous les langages (JavaScript, TypeScript, Python, Go, Java, .NET, etc.) car le remplacement s'effectue sur les chaînes littérales de tokens.

### Le remplacement risque-t-il d'altérer des variables aux noms similaires ?

Non, l'analyse repose sur une correspondance stricte de tokens entiers pour éviter les remplacements partiels.

### Que contient la configuration OpenTelemetry Collector générée ?

Elle fournit un bloc d'actions `rename_attribute` prêt à être inséré dans un processeur `transform` ou `attributes` du Collector.

### Les dashboards Grafana existants peuvent-ils être mis à jour sans casser les visualisations ?

Oui, l'option dédiée applique le renommage dans les chaînes de requêtes JSON du tableau de bord pour cibler les nouveaux attributs.

## Outils associés

- [Convertisseur JSON Schema vers Zod](https://elysiatools.com/fr/tools/json-schema-to-zod-schema-converter): Convertit des definitions JSON/YAML de JSON Schema en code Zod pret a lemploi dans les projets TypeScript, avec objets imbriques, tableaux, enums et regles de validation courantes
- [OpenAPI vers Postman Collection](https://elysiatools.com/fr/tools/openapi-to-postman-collection): Convertit une spec OpenAPI 3.x ou Swagger 2.0 (JSON/YAML) en Postman Collection v2.1.0 importable avec dossiers, variables, auth et réponses d'exemple.
- [Generateur OpenAPI vers TypeScript](https://elysiatools.com/fr/tools/openapi-to-typescript-generator): Convertit des specifications OpenAPI ou Swagger JSON/YAML en types TypeScript, parametres de requete et modeles de reponse avec format et style de nommage configurables
- [Extracteur d'Emails en Vrac](https://elysiatools.com/fr/tools/bulk-email-extractor): Extrayez toutes les adresses e-mail du texte saisi, des articles, du code source Web ou de contenu mixte. Prend en charge la déduplication et l'exportation vers JSON.
- [Transformateur CSV](https://elysiatools.com/fr/tools/csv-transformer): Transformer et traiter les données CSV avec des opérations de colonnes, calculs et conversions de types de données. Exemples d'opérations: • Renommer une colonne: \[{"type": "rename", "column": "ancien_nom", "new_name": "nouveau_nom"}\] • Ajouter une colonne calculée: \[{"type": "add_column", "new_column": "total", "formula": "prix * quantite"}\] • Supprimer une colonne: \[{"type": "remove_column", "remove_column": "colonne_a_supprimer"}\] • Convertir le type de donnée: \[{"type": "convert_type", "convert_column": "age", "target_type": "number"}\] • Calculer des valeurs: \[{"type": "calculate", "target_column": "total", "expression": "prix * taxe + frais_port"}\] • Filtrer les lignes: \[{"type": "filter_values", "filter_column": "statut", "operator": "equals", "value": "actif"}\]
- [Visualiseur de diff JSON](https://elysiatools.com/fr/tools/json-diff-visualizer): Compare deux JSON et genere un rapport visuel avec chemins et statistiques
- [Studio de requetes et transformations JSONata](https://elysiatools.com/fr/tools/jsonata-query-transform-studio): Previsualise des requetes et transformations de style JSONata, compare les resultats et exporte en JSON, CSV, YAML ou Markdown.
- [Pont entre formats de configuration : TOML / INI / HCL / .env / Nix / dotenv / ConfigMap / Secret Kubernetes](https://elysiatools.com/fr/tools/toml-ini-hcl-envfile-nix-dotenv-kubernetes-configmap-secret-config-format-bridge): Convertit des configurations entre dotenv .env, TOML, INI, Java .properties, YAML, JSON, HCL (syntaxe native Terraform/Vagrant) et ensembles d'attributs Nix, et produit des manifestes Kubernetes ConfigMap / Secret ; préserve les gabarits ${VAR} / {{var}} et l'interpolation style envsubst, trace la provenance de l'inférence de types (string/int/float/bool/list), replie les étiquettes de blocs HCL en clés imbriquées, et un diff aller-retour met en évidence les réglages non équivalents (clés perdues, changements de type, valeurs réécrites), avec un YAML adapté aux patches Kustomize.

## Exemples

- [Exemples de Traçage Distribué](https://elysiatools.com/fr/samples/distributed-tracing-samples): Exemples complets de traçage distribué utilisant Jaeger, OpenTelemetry et outils d'observabilité modernes
- [Outil de Bundling Parcel](https://elysiatools.com/fr/samples/parcel): Exemples de l'outil de bundling Parcel de configuration zéro incluant la configuration de projet, les plugins et la configuration avancée
- [Exemples OpenAPI/Swagger](https://elysiatools.com/fr/samples/openapi-swagger): Exemples complets de documentation API utilisant OpenAPI 3.0 et les spécifications Swagger pour les services RESTful
- [Exemples de pnpm Package Manager](https://elysiatools.com/fr/samples/pnpm): Exemples de gestionnaire de paquets rapide et économe en espace disque incluant monorepo, configuration workspace, et workflows avancés

## Contenu associé

- [Vérifier une mise à jour de l’instrumentation OpenTelemetry](https://elysiatools.com/fr/hubs/opentelemetry-instrumentation-upgrade-verification): Recensez les anciens attributs, migrez les conventions, vérifiez la propagation et examinez une trace réelle avant de déployer l’instrumentation.
