Telemetria
Макрос автоматической телеметрии функций во время компиляции.
автоматизирует отправку событий
:telemetry
на уровне функций в Elixir с помощью декларативных аннотаций и макросов.
Идея
Добавление наблюдаемости в Elixir-приложения часто приводит к загромождению бизнес-логики повторными вызовами
:telemetry.execute/3
. Упущенные тайминги функций или неперехваченные аргументы усложняют отладку в продакшене.
Telemetria
решает эту проблему с помощью однострочной аннотации
@telemetria
. Добавьте аннотацию к любой функции Elixir, и Telemetria автоматически сгенерирует обертки во время компиляции, отправляющие стандартизированные события телеметрии с фиксацией времени выполнения, аргументов и результатов.
Почему Telemetria?
Без Шаблонного Кода
Просто укажите
@telemetria true
или
@telemetria level: :info
перед функцией.
Автоматическая Генерация Событий
Отправляет события старта, завершения и исключений с микросекундной точностью.
Оптимизация при Компиляции
Нулевые накладные расходы при отключении в определенных окружениях (например, в тестах).
Гибкая Интеграция
Совместим с
:telemetry_metrics
, TelemetryUI и OpenTelemetry.
Технологии
| Язык | Elixir |
| Базовый Пакет |
:telemetry
|
| Инструментация | AST Метапрограммирование / Макросы |
| Hex Пакет |
telemetria
|
Для Кого
- Elixir Разработчиков , ищущих прозрачную наблюдаемость без загрязнения модулей.
- Создателей Микросервисов & API , отслеживающих задержки выполнения внутренних функций.
-
SRE & Operations Инженеров
, строящих конвейеры метрик на базе
:telemetry.
Итог
Добавьте телеметрию функций Elixir во время компиляции с помощью одной аннотации.