# Инструмент миграции атрибутов Semantic-Convention v1.20 → v1.27 OpenTelemetry

Переписывает имена атрибутов спанов/логов между версиями семантических конвенций 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 и ещё 25+ — по вставленному коду JS/TS/Python/Go/Java/.NET, YAML коллектора или JSON дашбордов Grafana, с картой переименований для collector, предупреждениями об удалении/ручном разбиении, статистикой по атрибутам и отчётом о непокрытых.

> Каноническая страница: https://elysiatools.com/ru/tools/otel-semantic-convention-migration-tool

- **Категория:** Development

- **Ключевые слова:** миграция opentelemetry, семантические конвенции, semconv, атрибуты otel, переименование http.method, http.request.method, db.system.name, messaging.destination.name, атрибуты спана, атрибуты логов, otel collector transform, rename_attribute_actions, дашборд grafana otel, обновление otel sdk, рефакторинг телеметрии, обновление инструментирования

## Обзор

Вставьте код (любой язык), конфигурацию OTel Collector или JSON дашборда Grafana; выберите исходную и целевую версии конвенций. Движок применяет официальные ненормативные таблицы миграции послойно — v1.23.1 стабилизирует HTTP, v1.24 переименовывает атрибуты БД, v1.27 переписывает сообщения. Сопоставление по полному токену исключает частичные совпадения. Удалённые атрибуты (http.target, net.sock.family, net.sock.peer.name) помечаются, а не переписываются — http.target нужно вручную разбить на url.path и url.query. Выход: переписанный код со сводкой diff, карта переименований collector, синхронизация JSON дашбордов и список непокрытых старых атрибутов для ревью.

## Входные данные

- **Исходный код / конфиг / JSON дашборда** (textarea): span.setAttribute("http.method", req.method); ... or collector YAML, or Grafana dashboard JSON
- **Исходная версия** (select)
- **Целевая версия** (select)
- **Сгенерировать карту переименований collector** (checkbox)
- **Применять переименования внутри значений JSON (дашборды)** (checkbox)

## Когда использовать

- Обновление OpenTelemetry SDK и библиотек инструментирования в проектах на JS, TS, Python, Go, Java или .NET.
- Формирование правил переименования атрибутов для процессоров OpenTelemetry Collector при поэтапном обновлении инфраструктуры.
- Синхронизация JSON-моделей дашбордов Grafana с новыми именами семантических атрибутов телеметрии.

## Как это работает

- Вставьте исходный код, YAML-конфигурацию коллектора или JSON дашборда Grafana в поле ввода.
- Выберите исходную версию семантических конвенций (v1.20.0–v1.24.0) и целевую версию (v1.23.1–v1.27.0).
- Движок выполняет поиск по полным токенам и послойно заменяет устаревшие имена атрибутов HTTP, баз данных и очередей сообщений.
- Инструмент выводит обновлённый текст, таблицу изменений, конфигурацию процессора для OTel Collector и список удалённых атрибутов, требующих ручной обработки.

## Сценарии использования

- Переход с устаревших спанов HTTP (http.method, http.status_code, http.url) на актуальные стандарты (http.request.method, http.response.status_code, url.full).
- Создание секции transform-процессора OTel Collector для обеспечения обратной совместимости во время миграции сервисов.
- Массовое обновление названий полей в JSON-описаниях панелей мониторинга Grafana после обновления агентов сбора данных.

## Частые вопросы

### Какие типы входных данных поддерживает инструмент?

Поддерживается исходный код на любых языках программирования, YAML-конфигурации OpenTelemetry Collector и JSON-файлы дашбордов Grafana.

### Почему атрибут http.target не переименовывается автоматически?

В новых спецификациях http.target удалён и подлежит разделению на два отдельных поля: url.path и url.query, что требует ручной логики разбора.

### Происходит ли случайная замена частичных совпадений строк?

Нет, алгоритм использует сопоставление по целым токенам, исключая искажение пользовательских атрибутов со схожими именами.

### Что содержит генерируемая конфигурация для OpenTelemetry Collector?

Формируется блок правил для transform- или attributes-процессора с перечнем действий по переименованию старых ключей в новые.

### Можно ли выполнить миграцию только для HTTP-атрибутов?

Да, для этого выберите целевую версию v1.23.1, которая стабилизирует схему HTTP без применения изменений для баз данных и сообщений.

## Связанные инструменты

- [Конвертер JSON Schema в Zod](https://elysiatools.com/ru/tools/json-schema-to-zod-schema-converter): Преобразует JSON/YAML-описания JSON Schema в готовый к использованию в TypeScript код Zod с вложенными объектами, массивами, enum и типичными правилами валидации
- [OpenAPI в Postman Collection](https://elysiatools.com/ru/tools/openapi-to-postman-collection): Превращает спецификацию OpenAPI 3.x или Swagger 2.0 (JSON/YAML) в импортируемую Postman Collection v2.1.0 с папками, переменными, auth и примерами ответов.
- [Генератор OpenAPI в TypeScript](https://elysiatools.com/ru/tools/openapi-to-typescript-generator): Преобразует спецификации OpenAPI или Swagger в формате JSON/YAML в типы TypeScript, параметры запросов и модели ответов с настраиваемым форматом вывода и стилем имен
- [Массовый Извлекатель Электронной Почты](https://elysiatools.com/ru/tools/bulk-email-extractor): Извлеките все адреса электронной почты из входного текста, статей, веб-исходного кода или смешанного содержимого. Поддерживает дедупликацию и экспорт в JSON.
- [CSV Трансформер](https://elysiatools.com/ru/tools/csv-transformer): Трансформация и обработка данных CSV с операциями столбцов, вычислениями и преобразованиями типов данных. Примеры операций: • Переименовать столбец: \[{"type": "rename", "column": "старое_имя", "new_name": "новое_имя"}\] • Добавить вычисляемый столбец: \[{"type": "add_column", "new_column": "итого", "formula": "цена * количество"}\] • Удалить столбец: \[{"type": "remove_column", "remove_column": "столбец_для_удаления"}\] • Преобразовать тип данных: \[{"type": "convert_type", "convert_column": "возраст", "target_type": "number"}\] • Вычислить значения: \[{"type": "calculate", "target_column": "итого", "expression": "цена * налог + доставка"}\] • Фильтровать строки: \[{"type": "filter_values", "filter_column": "статус", "operator": "equals", "value": "активный"}\]
- [Визуализатор различий JSON](https://elysiatools.com/ru/tools/json-diff-visualizer): Сравнивает два JSON и строит визуальный отчет с путями и статистикой
- [Студия запросов и преобразований JSONata](https://elysiatools.com/ru/tools/jsonata-query-transform-studio): Просматривайте запросы и преобразования в стиле JSONata, сравнивайте результаты и экспортируйте JSON, CSV, YAML или Markdown.
- [Мост форматов конфигурации: TOML / INI / HCL / .env / Nix / dotenv / Kubernetes ConfigMap / Secret](https://elysiatools.com/ru/tools/toml-ini-hcl-envfile-nix-dotenv-kubernetes-configmap-secret-config-format-bridge): Преобразует конфигурации между dotenv .env, TOML, INI, Java .properties, YAML, JSON, HCL (нативный синтаксис Terraform/Vagrant) и атрибутными множествами Nix, а также генерирует манифесты Kubernetes ConfigMap / Secret; сохраняет плейсхолдеры ${VAR} / {{var}} и envsubst-интерполяцию, фиксирует происхождение вывода типов (string/int/float/bool/list), сворачивает метки HCL-блоков во вложенные ключи, а двусторонний diff подсвечивает неэквивалентные настройки (потерянные ключи, смены типов, переписанные значения); YAML дружелюбен к патчам Kustomize.

## Примеры

- [Примеры Распределенного Трейсинга](https://elysiatools.com/ru/samples/distributed-tracing-samples): Комплексные примеры распределенного трейсинга с использованием Jaeger, OpenTelemetry и современных инструментов
- [Инструмент Сборки Parcel](https://elysiatools.com/ru/samples/parcel): Примеры инструмента сборки Parcel с нулевой конфигурацией, включая настройку проекта, плагины и расширенную конфигурацию
- [Примеры OpenAPI/Swagger](https://elysiatools.com/ru/samples/openapi-swagger): Комплексные примеры документации API с использованием OpenAPI 3.0 и спецификаций Swagger для RESTful сервисов
- [Примеры pnpm Package Manager](https://elysiatools.com/ru/samples/pnpm): Примеры быстрого, экономичного дискового менеджера пакетов, включая управление monorepo, конфигурацию workspace и расширенные рабочие процессы

## Связанные материалы

- [Проверка обновления инструментации OpenTelemetry](https://elysiatools.com/ru/hubs/opentelemetry-instrumentation-upgrade-verification): Соберите список старых атрибутов, перенесите семантические соглашения, проверьте передачу контекста и реальную трассу перед выпуском изменений.
