statsd_timing
Директива `statsd_timing` отправляет данные о времени выполнения на сервер StatsD для мониторинга производительности.
Описание
Директива 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.