Кратко
- В объяснении слияния от мая 2019 года его участники назвали главной проблемой само сосуществование двух близких, но недостаточно совместимых проектов. Приоритетом стали программные мосты; старые разработки планировалось сделать доступными только для чтения до конца года.
- В мае 2023 года OpenTelemetry сообщил о функциональном паритете с OpenCensus в семи языках и наметил архивирование большинства его репозиториев на 31 июля. Для
opencensus-pythonсохранили явное исключение.
Две системы присылали счёт за одну работу
Распределённую службу нельзя понять, глядя только на её вход и выход. Её части и сторонние библиотеки должны записывать путь запросов и измерения, которые затем можно сопоставить. OpenTracing и OpenCensus пытались разделить стоимость такого инструментирования между множеством участников. Их архитектурные решения различались, но за интеграции они обращались к одним и тем же сопровождающим библиотек. Тем приходилось выбирать одно решение, поддерживать оба или ждать победителя. Оператор службы получал итог всех этих разрозненных решений в работающей системе.
Бен Сигельман и Морган Маклин в тексте 2019 года признали неудобную вещь: главная проблема каждого проекта состояла в том, что проектов было два. Идея общей инструментальной базы должна была экономить труд. Вместо этого часть труда уходила на параллельные подключения и попытки собрать цельную картину работы службы из несовместимых участков. Разница была ощутима не на презентации, а в момент, когда запрос проходил через библиотеку с иной системой трассировки.
Майское слияние 2019 года создало единое место для новой работы под эгидой CNCF. В первые управляющие и технические комитеты вошли представители Google, LightStep, Microsoft и Uber. Комитет мог определить путь для будущих спецификаций и изменений. Он не мог в ту же ночь обновить все приложения. Учредители называли OpenTelemetry следующей крупной версией сразу обоих предшественников. Такая формулировка подразумевала необходимость миграции для тех, кто уже использовал старые версии.
Мост был в исходном проекте, а не в плане спасения
Обратная совместимость через программные мосты стояла в списке приоритетов с самого объявления. Старые вызовы инструментирования должны были продолжать передавать данные, пока приложение переходило на новый путь экспорта. Второй задачей было сократить период одновременной разработки трёх проектов. OpenTracing и OpenCensus намеревались перевести в режим только для чтения до конца 2019 года. Это был заявленный ориентир, а не утверждение, что к Новому году все пользователи уже вычистили прежний код.
Репозиторий может прекратить принимать новые функции, а сервер — продолжать загружать его библиотеку каждый день. Между этими событиями лежат выпуск SDK, обновление зависимостей и проверка того, что метрики и трассы по-прежнему значат то же самое. Мосты появились в первоначальном плане именно потому, что организационное объединение и смена работающего кода идут с разной скоростью.
В августе 2021 года CNCF объявил о переходе OpenTelemetry на стадию инкубации. Фонд перечислил API и SDK в одиннадцати языках и поддержку трасс и метрик протоколом проекта. В том же сообщении официальное архивирование OpenTracing и дальнейший вывод обоих предшественников из употребления оставались задачами на будущее. Спустя два года после слияния о старом коде всё ещё приходилось говорить отдельно.
В списке 2023 года нашлась строка с исключением
Сообщение OpenTelemetry от мая 2023 года превратило общий замысел в перечень. Проект заявил о функциональном паритете с OpenCensus для C++, .NET, Go, Java, JavaScript, PHP и Python. Большинство репозиториев OpenCensus на GitHub планировали архивировать 31 июля. Но opencensus-python оставили вне общего правила: части этого репозитория ещё рекомендовали для производственного использования. На схеме слияния обе старые ветки помещались в одну стрелку. В списке обслуживания одной из них понадобилось примечание.
Там же перечислили мосты для Go, Java, JavaScript и Python и указали, что некоторые адаптеры пока готовятся. Предлагаемый порядок был постепенным: существующий код измерения посылает данные через экспортеры OpenTelemetry, затем старые библиотеки убирают. Проект предупредил, что новая система не является строгим надмножеством OpenCensus и миграция может изменить выдаваемую телеметрию. Даже если график продолжает рисоваться, сопоставимость подписей и показателей нужно проверять.
Планируемое архивирование определяло и границу поддержки. Согласно объявлению, после 31 июля архивируемый OpenCensus больше не должен был получать новые функции и исправления уязвимостей; исходники и опубликованные пакеты оставались доступны. Загрузить библиотеку можно и после того, как её коллективное обслуживание закончится. Для владельца работающей службы это уже другая ответственность.
Комитеты объединились раньше приложений
Решение 2019 года прекратило спор о том, куда направлять общие усилия по инструментированию. Для уже запущенных служб оставались версии зависимостей, готовность языковых реализаций, качество мостов и графики множества сопровождающих. Четыре года до плана ухода OpenCensus показывают стоимость этой работы. Они не доказывают, что цель режима только для чтения в 2019-м не была достигнута: такой режим и архивирование — разные этапы. Но показывают, что в 2023-м всё ещё требовался подробный план с исключением. Табличку на двери сменили быстро; старые кабели вытаскивали по одному.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров





