# Ferramenta de Migração de Atributos Semantic-Convention v1.20 → v1.27 do OpenTelemetry

Reescreve nomes de atributos de spans/logs entre versões de convenções semânticas do 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 e 25+ outros — aplicado a código JS/TS/Python/Go/Java/.NET colado, YAML do collector ou JSON de dashboards Grafana, com mapa de renomes do collector, avisos de remoção/divisão manual, estatísticas de diff por atributo e relatório de atributos não mapeados.

> Página canônica: https://elysiatools.com/pt/tools/otel-semantic-convention-migration-tool

- **Categoria:** Development

- **Palavras-chave:** migração opentelemetry, convenções semânticas, semconv, atributos otel, renomear http.method, http.request.method, db.system.name, messaging.destination.name, atributos de span, atributos de log, otel collector transform, rename_attribute_actions, dashboard grafana otel, atualizar sdk otel, refator de telemetria, atualizar instrumentação

## Visão geral

Cole código (qualquer linguagem), uma config do OTel Collector ou JSON de dashboard Grafana; escolha as versões de origem e destino. O motor aplica as tabelas de migração não normativas oficiais camada por camada — v1.23.1 estabiliza HTTP, v1.24 renomeia banco de dados, v1.27 reescreve mensageria. Correspondência por token completo evita casamentos parciais. Atributos removidos (http.target, net.sock.family, net.sock.peer.name) são sinalizados em vez de reescritos — http.target precisa ser dividido manualmente em url.path e url.query. Saída: fonte reescrita com resumo de diff, mapa de renomes do collector, sincronização do JSON de dashboards e atributos antigos não mapeados para revisão manual.

## Entradas

- **Código-fonte / config / JSON de dashboard** (textarea): span.setAttribute("http.method", req.method); ... or collector YAML, or Grafana dashboard JSON
- **Versão de origem** (select)
- **Versão de destino** (select)
- **Gerar mapa de renomes do collector** (checkbox)
- **Aplicar renomes dentro de valores JSON (dashboards)** (checkbox)

## Quando usar

- Ao atualizar SDKs ou bibliotecas de instrumentação do OpenTelemetry e precisar alinhar os nomes dos atributos legados.
- Ao migrar configurações do OpenTelemetry Collector com processadores de transformação de telemetria.
- Ao atualizar consultas e painéis de observabilidade em JSON do Grafana para refletir as novas convenções semânticas.

## Como funciona

- Cole o código-fonte (Node.js, Python, Go, Java, .NET), a configuração YAML do Collector ou o JSON de painel do Grafana no campo de entrada.
- Selecione a versão semântica de origem (ex: v1.20.0) e a versão de destino desejada (ex: v1.27.0).
- Ative as opções para gerar a configuração de transformação do Collector e aplicar renomeações em valores JSON de dashboards.
- Obtenha o código migrado, o relatório de diff com alterações aplicadas, os alertas de atributos removidos e os blocos de configuração gerados.

## Casos de uso

- Refatoração de instrumentação manual em serviços legados para adequação aos padrões HTTP e de mensageria estáveis.
- Criação de pipelines de normalização no OTel Collector durante períodos de migração gradual entre versões de SDK.
- Auditoria e substituição em lote de identificadores de spans e logs em repositórios de infraestrutura como código.

## Perguntas frequentes

### Como a ferramenta lida com atributos descontinuados como http.target?

Atributos removidos sem substituição direta 1:1 são sinalizados com alertas no relatório para que você realize o particionamento manual (por exemplo, dividindo http.target em url.path e url.query).

### Quais linguagens de programação são suportadas no analisador de código?

A ferramenta utiliza correspondência precisa por token completo em strings e pode ser aplicada a arquivos em JavaScript, TypeScript, Python, Go, Java, C#/.NET e linguagens similares.

### O que a opção de gerar mapa de renomes do Collector produz?

Gera um bloco YAML compatível com as ações de renomeação de atributos do processador transform ou attributes do OpenTelemetry Collector.

### A ferramenta atualiza consultas dentro de dashboards do Grafana?

Sim, com a opção de JSON de dashboards ativada, ela identifica e substitui chaves e literais de atributos legados em queries e configurações de painéis.

### O que acontece com atributos pertencentes a versões posteriores à de destino escolhida?

Eles são listados como não mapeados no relatório, permitindo identificar quais camadas semânticas ainda requerem atualização no fluxo.

## Ferramentas relacionadas

- [Conversor de JSON Schema para Zod](https://elysiatools.com/pt/tools/json-schema-to-zod-schema-converter): Converte definicoes JSON/YAML de JSON Schema em codigo Zod pronto para uso em projetos TypeScript, com objetos aninhados, arrays, enums e regras comuns de validacao
- [OpenAPI para Postman Collection](https://elysiatools.com/pt/tools/openapi-to-postman-collection): Converte uma spec OpenAPI 3.x ou Swagger 2.0 (JSON/YAML) em uma Postman Collection v2.1.0 importável com pastas, variáveis, auth e respostas de exemplo.
- [Gerador de OpenAPI para TypeScript](https://elysiatools.com/pt/tools/openapi-to-typescript-generator): Converte especificacoes OpenAPI ou Swagger em JSON/YAML em tipos TypeScript, parametros de requisicao e modelos de resposta com formato de saida e estilo de nomes configuraveis
- [Extrator de Emails em Massa](https://elysiatools.com/pt/tools/bulk-email-extractor): Extraia todos os endereços de e-mail de texto de entrada, artigos, código-fonte da web ou conteúdo misto. Suporta desduplicação e exportação para JSON.
- [Transformador CSV](https://elysiatools.com/pt/tools/csv-transformer): Transformar e processar dados CSV com operações de colunas, cálculos e conversões de tipo de dados. Exemplos de operações: • Renomear coluna: \[{"type": "rename", "column": "nome_antigo", "new_name": "novo_nome"}\] • Adicionar coluna calculada: \[{"type": "add_column", "new_column": "total", "formula": "preco * quantidade"}\] • Remover coluna: \[{"type": "remove_column", "remove_column": "coluna_a_remover"}\] • Converter tipo de dado: \[{"type": "convert_type", "convert_column": "idade", "target_type": "number"}\] • Calcular valores: \[{"type": "calculate", "target_column": "total", "expression": "preco * imposto + entrega"}\] • Filtrar linhas: \[{"type": "filter_values", "filter_column": "status", "operator": "equals", "value": "ativo"}\]
- [Visualizador de diff JSON](https://elysiatools.com/pt/tools/json-diff-visualizer): Compara dois JSON e gera um relatorio visual com caminhos e estatisticas
- [Studio de consulta e transformacao JSONata](https://elysiatools.com/pt/tools/jsonata-query-transform-studio): Visualize consultas e transformacoes no estilo JSONata, compare resultados e exporte em JSON, CSV, YAML ou Markdown.
- [Ponte de formatos de configuração: TOML / INI / HCL / .env / Nix / dotenv / ConfigMap / Secret do Kubernetes](https://elysiatools.com/pt/tools/toml-ini-hcl-envfile-nix-dotenv-kubernetes-configmap-secret-config-format-bridge): Converte configurações entre dotenv .env, TOML, INI, Java .properties, YAML, JSON, HCL (sintaxe nativa do Terraform/Vagrant) e conjuntos de atributos Nix, além de gerar manifestos ConfigMap / Secret do Kubernetes; preserva os marcadores ${VAR} / {{var}} e a interpolação estilo envsubst, registra a origem da inferência de tipos (string/int/float/bool/list), dobra rótulos de blocos HCL em chaves aninhadas e um diff de ida e volta destaca ajustes não equivalentes (chaves perdidas, mudanças de tipo, valores reescritos), com YAML amigável a patches do Kustomize.

## Exemplos

- [Exemplos de Rastreamento Distribuído](https://elysiatools.com/pt/samples/distributed-tracing-samples): Exemplos completos de rastreamento distribuído usando Jaeger, OpenTelemetry e ferramentas modernas de observabilidade
- [Ferramenta de Empacotamento Parcel](https://elysiatools.com/pt/samples/parcel): Exemplos da ferramenta de empacotamento Parcel com configuração zero incluindo configuração de projeto, plugins e configuração avançada
- [Exemplos OpenAPI/Swagger](https://elysiatools.com/pt/samples/openapi-swagger): Exemplos abrangentes de documentação API usando OpenAPI 3.0 e especificações Swagger para serviços RESTful
- [Exemplos de pnpm Package Manager](https://elysiatools.com/pt/samples/pnpm): Exemplos de gerenciador de pacotes rápido e eficiente em espaço de disco incluindo monorepo, configuração de workspace, e workflows avançados

## Conteúdo relacionado

- [Verificar uma atualização da instrumentação OpenTelemetry](https://elysiatools.com/pt/hubs/opentelemetry-instrumentation-upgrade-verification): Levante atributos antigos, migre convenções semânticas, valide a propagação e examine um trace real antes de publicar mudanças de instrumentação.
