Допустим: есть location test Что хочется: узнать статистику GET запросов на него. (метрику)
Есть ли какой-то способ это сделать?
Предположил, что можно установить status_zone
через переменую, но директива не парсит
переменную. (возможно из-за учитывания
производительности, пример картинкой прикрепил:
status_zone задает зону разделяемой памяти, в которой хранятся счетчики. Эта зона должна быть создана на этапе конфигурирования, до старта рабочих процессов и её размер заранее известен. Если там сделать переменные - то невозможно будет подсчитать размер, сколько счетчиков нужно хранить? Все возможные значения переменных неизвестны на этапе конфигурирования, следовательно потребуется ещё возможность как-то его задавать и ограничивать этот размер, отдельно механизм при переполнении этого размера, дополнительные локи и хэш-таблица, для поиска нужной зоны во время обработки запроса, и т.д. Т.е. это на порядок более сложная функциональность, чем может показаться на первый взгляд.
Спрос есть, люди строят сложные конфигурации c location, где хотят иметь возможность настраивать получение различной статистики под свои нужды.
К примеру взять REST, часто он может быть настроен так, что получение объектов, создание, изменение, все привязано к GET, POST, PUT итд. Возможно, вы скажете это нужно считать на другом уровне ниже - да, возможно, но есть сложные системы с проксированиями на разные узлы и разные сервисы, где хотелось бы иметь изначальные данные от входной точки (angie). Я сумбурно напечатал, но надеюсь что-то смог передать по смыслу.
Если можем чем-то помочь в ускорении процесса - дайте пожалуйста знать.