Основные понятия#
Телеметрия — механизм автоматизированного сбора и передачи данных о работе приложения для анализа его состояния, производительности и поведения пользователей. Телеметрия позволяет отслеживать время выполнения операций, количество ошибок, загрузку ресурсов и другие ключевые показатели.
Собранные данные отправляются во внешние аналитические системы по стандарту OpenTelemetry — открытому стандарту для сбора и экспорта телеметрических данных. Это позволяет интегрировать мониторинг приложения с существующими системами наблюдения (Prometheus, Grafana, Jaeger и др.).
В документе описаны базовые термины телеметрии: что такое сигналы, как устроены трассировка и метрики, как они связаны с администрируемыми объектами. Материал отвечает на вопросы: какие типы данных собираются, как они классифицируются, где фиксируются кастомные показатели.
См. также:
Типы телеметрических данных#
Система собирает два основных типа сигналов: трассировку и метрики. Каждый тип отвечает за свои задачи мониторинга.
Трассировка — детальный отчёт о действиях, происходящих на сервере при обработке входящих запросов. Фиксирует последовательность операций, время выполнения каждой, контекст вызова и ошибки. Используется для отладки, анализа производительности отдельных запросов и понимания пути выполнения бизнес-операций.
Метрики — периодически измеряемый количественный показатель, зависящий от времени. Фиксирует состояние системы в конкретный момент или за интервал: количество запросов, время ответа, загрузку ресурсов, число ошибок. Используется для мониторинга трендов, настройки алертов, планирования мощностей.
Примеры метрик:
количество HTTP-запросов к серверу по нарастанию;
процент использования процессора в минуту;
среднее время выполнения операции за интервал.
Типы метрик:
Счетчик — позволяет получать информацию о количестве произошедших событий; накапливается со временем (например, общее число запросов).
Спидометр — позволяет получать информацию о текущей загрузке ресурса; отражает значение на момент измерения (например, процент использования CPU).
Административный объект — логическая единица администрирования (класс, выборка, пакет), в разрезе которой можно включать или выключать сбор телеметрических сигналов. Позволяет гибко настраивать мониторинг: собирать данные только для нужных объектов и пользователей.
Объектная метрика — механизм для фиксации кастомных количественных показателей в виде метрик. Используется, когда стандартных метрик недостаточно. Прикладной программист регистрирует объектную метрику в метаданных модуля, после чего администратор может включить её сбор в настройках телеметрии.
Объектная трассировка — механизм для фиксации кастомных операций в виде трассировок. Используется, когда нужно отследить выполнение специфичной бизнес-логики. Прикладной программист регистрирует объектную трассировку в метаданных модуля, после чего администратор может включить её сбор в настройках телеметрии.
Серверная телеметрия — автоматический сбор метрик времени обработки запросов от тонкого клиента к серверу приложения. Позволяет оценивать производительность серверной части без дополнительной настройки.