поскольку мы страдаем от постепенной деградации нашего веб-приложения, мы решили отслеживать производительность нашего приложения и измерять отдельные действия.
например, мы будем измерять продолжительность каждого запроса, продолжительность отдельных действий, таких как редактирование клиента или создание встречи, поиск контракта. в большинстве случаев узким местом для этих действий является база данных.
я ожидаю, что итоговые данные будут довольно большими, так как мы будем собирать 1-5 отдельных действий на запрос.
конечно, было бы нонсенсом вставлять каждый элемент в базу данных, так как это еще больше замедлило бы каждый запрос.
какова хорошая стратегия для хранения и оценки этих данных для каждого запроса. я думал о том, чтобы иметь глобальный объект Queue, который добавляется, и отдельный поток, который очищает очередь и обрабатывает постоянное хранилище/файл. а где хранить такие данные? Существуют ли готовые инструменты для такой визуализации?
мы используем java, spring, смешанный hibernate+jdbc+pl/sql, oracle.
однако вопрос не должен зависеть от языка.
редактировать: измерение будет проводиться в производстве в течение большого периода времени.