OpenTelemetry: настройка, сбор трейсов и профилирование на примере Drupal
Ваш веб-сайт или веб-сервис работает медленно и не понятно где задержки? Возникают трудно воспроизводимые ошибки? Быстро находить узкие и проблемные места, ускорить работу поможет внедрение OpenTelemetry. OpenTelemetry представляет собой современный открытый стандарт телеметрии для эффективной отладки и профилировки веб-приложений. В этой статье DevOps-инженеры Инитлаб делятся опытом внедрения OpenTelemetry на примере Drupal-проекта — установка и настройка модуля drupal/opentelemetry, настройка экспорта трейсов в OTLP-совместимый бэкенд (Grafana Tempo, Jaeger) и опционально автоинструментирование через PHP-расширение и ветку из issue #3347778. Рассмотрены быстрый старт с DDEV/Grafana, ручные спаны в коде и атрибуты WithSpan. Для Drupal внедрение достаточно просто так как есть готовый модуль. Для других CMS, например Битрикс, а также для приложений на практически любых стеках разработки внедрение более трудоемко, но возможно с использованием открытых SDK OpenTelemetry. В начале — зачем вообще нужна телеметрия, какие метрики дают трейсы и для чего полезна профилировка приложения?