Что это
OpenTelemetry - открытые API, SDK и инструменты для телеметрии. Трасса связывает этапы запроса, метрики показывают измеряемые показатели, журналы сохраняют события. Проект помогает видеть поведение приложения, но не является готовой панелью с хранением всех данных.
В AI-приложении можно измерить ожидание модели, работу поиска и вызовы инструментов. Это требует подходящей инструментализации: библиотека не угадывает автоматически, где началась важная операция. Длительность запроса не говорит, что ответ модели правдивый.
Для первого теста достаточно вывести одну трассу в консоль. Для постоянной эксплуатации подключают backend хранения и просмотра, а при необходимости Collector для приема, обработки и экспорта. Стоимость и сроки хранения определяются этой инфраструктурой, не самим стандартом.
Ключевые параметры
- Категория: Оценка, мониторинг и evals
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Да
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- Общий формат телеметрии упрощает подключение разных backend наблюдаемости.
- Связанные spans помогают увидеть последовательность и длительность этапов запроса.
- Ручная инструментализация позволяет измерять именно важные бизнес-операции.
- Collector отделяет прием, фильтрацию и экспорт данных от основного приложения.
Ограничения
- Хранение, поиск и визуализацию нужно организовать отдельно.
- Поддержка сигналов и зрелость библиотек различаются по языкам и компонентам.
- Избыточная телеметрия увеличивает расходы; sampling означает, что сохраняются не все трассы.
- Секреты и персональные данные не распознаются автоматически: состав атрибутов и фильтры нужно контролировать.
Как использовать
1. Подготовка. Выберите маленький Python-скрипт с двумя этапами, например чтением учебной заявки и проверкой суммы. Не используйте реальные клиентские данные. Решите, какие длительности хотите увидеть.
2. Настройка. Установите pip install opentelemetry-api opentelemetry-sdk. По примеру Manual instrumentation настройте TracerProvider, процессор и ConsoleSpanExporter. Получите tracer через trace.get_tracer; для этого теста облачный backend не нужен.
3. Первый результат. Оберните весь запуск в start_as_current_span("request"), а проверку суммы - во вложенный span "validate". Запустите скрипт и дождитесь выгрузки spans; для короткого процесса используйте provider.shutdown после завершения операций.
4. Проверка. В консоли найдите два span с одним trace_id и связь parent-child, сверьте длительности и отсутствие секретов в атрибутах. Затем отдельно подключайте OTLP-exporter, backend и Collector. На тестовой ошибке проверяйте запись исключения и статус: evals качества ответа настраиваются отдельно.
Доступ и оплата
- Модель оплаты: Open-source
- Бесплатный тариф: Да
- Работа в РФ: Да
- VPN: Не нужен
- Русский интерфейс: Не известно
- Русский язык: Не известно
Открытые компоненты можно развернуть у себя без облачной подписки. Сервер, хранение, поддержка и коммерческий backend могут стоить денег. Для локального теста не требуется внешний аккаунт; доступ к выбранному облачному backend из России проверяйте отдельно.
Когда не подходит
- Получить готовый дашборд после установки API-пакета
- Оценить правдивость ответа по времени выполнения
- Сохранять все промпты и токены авторизации в атрибутах
Альтернативы
Langfuse и Phoenix ориентированы на анализ LLM-приложений и могут работать с OpenTelemetry. Prometheus специализируется на метриках. Это не полные взаимозаменяемые продукты: сначала решите, нужны вам трассы, метрики или оценка качества ответа.