statsd_timing

Директива `statsd_timing` отправляет данные о времени выполнения на сервер StatsD для мониторинга производительности.

Синтаксисstatsd_timing key value [condition];
По умолчаниюnone
Контекстserver, location, if in server, if in location
Аргументы2-3

Описание

Директива statsd_timing в NGINX является частью NGINX-модуля statsd, позволяя пользователям отправлять метрики времени на сервер StatsD. Эта директива позволяет логировать, сколько времени занимает обработка запроса, предоставляя ценную информацию о времени отклика и мониторинге производительности. Информация о времени отправляется в виде UDP-пакета, который содержит ключ и значение, представляющие данные о времени, вычисленные из переменной NGINX или статического числа.

Синтаксис директивы принимает два или три аргумента: ключ для идентификации метрики и значение, представляющее время, которое может быть переменной (например, $upstream_response_time), содержащей длительность, подлежащую логированию. Третий необязательный аргумент задаёт условие, при котором информация о времени должна быть отправлена — если это условие оценивается как истинное, время отправляется; в противном случае оно игнорируется. Это условие полезно для избегания ненужного логирования, когда определённые критерии не выполнены, что повышает эффективность и снижает «шум» в метриках.

Важно убедиться, что активный сервер StatsD настроен с помощью директивы statsd_server в вашей конфигурации NGINX, поскольку он требуется для работы этой директивы. Эффективно логируя времена запросов, разработчики могут выявлять узкие места в своих приложениях и оптимизировать производительность на основе всесторонних данных, накопленных со временем.

Пример конфига

location / {
    statsd_timing "your_product.pages.index_response_time" "$upstream_response_time";
}

Убедитесь, что сервер StatsD правильно настроен и доступен, иначе метрики времени не будут отправлены.

Использование переменной для измерения времени может привести к тому, что данные о времени не будут отправлены, если значение переменной равно нулю или пустой строке; обязательно обрабатывайте такие случаи должным образом.

Не забудьте установить statsd_sample_rate, если хотите избежать перегрузки сервера StatsD.

← Ко всем директивам