Метрики и телеметрия
Запись метрик приложения с использованием счётчиков, датчиков и гистограмм.
Загрузка
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 |
нет |
См. Обработка ошибок для работы с ошибками.