Метрики и телеметрия

Запись метрик приложения с использованием счётчиков, датчиков и гистограмм.

Загрузка

local metrics = require("metrics")

Счётчики

Инкремент счётчика

metrics.counter_inc("requests_total", {method = "POST"})
Параметр Тип Описание
name string Имя метрики
labels table? Пары ключ-значение меток

Возвращает: boolean, error

Добавление к счётчику

metrics.counter_add("bytes_total", 1024, {direction = "out"})
Параметр Тип Описание
name string Имя метрики
value number Добавляемое значение
labels table? Пары ключ-значение меток

Возвращает: boolean, error

Датчики (Gauges)

Установка датчика

metrics.gauge_set("queue_depth", 42, {queue = "emails"})
Параметр Тип Описание
name string Имя метрики
value number Текущее значение
labels table? Пары ключ-значение меток

Возвращает: boolean, error

Инкремент датчика

metrics.gauge_inc("connections", {pool = "db"})
Параметр Тип Описание
name string Имя метрики
labels table? Пары ключ-значение меток

Возвращает: boolean, error

Декремент датчика

metrics.gauge_dec("connections", {pool = "db"})
Параметр Тип Описание
name string Имя метрики
labels table? Пары ключ-значение меток

Возвращает: boolean, error

Гистограммы

Запись наблюдения

metrics.histogram("duration_seconds", 0.123, {method = "GET"})
Параметр Тип Описание
name string Имя метрики
value number Наблюдаемое значение
labels table? Пары ключ-значение меток

Возвращает: boolean, error

Ошибки

Условие Kind Повторяемо
Коллектор недоступен errors.INTERNAL нет

См. Обработка ошибок для работы с ошибками.