Получение статистики активности моего движка - PullRequest
2 голосов
/ 10 октября 2010

Одним из моих приложений является движок, который выполняет некоторые сложные вычисления. Эти расчеты могут занять несколько часов. Я хочу знать активность этого двигателя среди времени.

Если вы используете сервер H udson CI , такая опция есть в опции Administration > Usages statistics. Вот пример:

alt text

В моем приложении уже есть функция, которая возвращает количество вычислений. Поэтому моя идея состоит в том, чтобы периодически вызывать этот метод, например, каждые 10 минут (используя Quartz ), чтобы получить количество выполняющихся вычислений и сохранить его в int[]. Каждый день этот int[] сохраняется во внешнем файле и очищается. Поэтому через несколько дней содержимое этого файла будет выглядеть так:

data.20101008=1;2;1;0;1;1;0;0;0;0;....;0
data.20101009=1;0;1;1;0;0;0;0;3;2;....;0
data.20101010=1;2;1;0;1;1;2;3;4;4;....;2
...

(Я немного упростил эту обработку, так как я хочу обновлять этот файл чаще, в случае остановки двигателя или чего-то подобного)

Подводя итог, я хочу сохранить в файле properties количество текущих вычислений за определенный день. В конце концов, я могу предоставить функцию, которая возвращает эти данные как Map<Date, int[]>.

Наконец, я буду использовать JFreeChart для отображения этих данных в графическом виде

Что вы думаете об этой идее? Любой совет, чтобы улучшить этот процесс?

Обратите внимание, что эта функциональность хороша для функции , поэтому я не хочу создавать слишком сложные системы.

Я использую Java 6.

Ответы [ 2 ]

2 голосов
/ 10 октября 2010

Для простого оперативного мониторинга оператором вы можете просто использовать JMX.С JConsole (поставляется с JDK) вы можете подключиться к работающему Java-процессу, и он будет делать хорошие графики использования процессора и памяти, количества активных потоков и многое другое.Используя MBeans, вы можете выставлять текущие значения через JMX и использовать JConsole для составления их диаграмм (конечно, когда он подключен).

1 голос
/ 10 октября 2010

Вместо файла свойств и JFreeChart, возможно, стоит рассмотреть возможность использования RRDTool реализации Java, например RRD4J .С веб-сайта RRDTool:

RRDtool - это отраслевой стандарт OpenSource, высокопроизводительная система регистрации и построения графиков для данных временных рядов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...