Универсальная система для сбора статистики о производительности приложения в риалтайме?

Задача такая: есть приложение, которое что-то считает и рендерит, алгоритмы в нем весьма шаманские, некоторые действитя можно делать разными способами и есть некая эвристика, которая выбирает способ, в общем надо отлаживать и оптимизировать все это дело. Для оптимизации надо смотреть на кучу параметров по типу время расчета этого, время расчета того, количество сего итд итп.


Хочется: иметь возможность выводить всякие числа вроде времени расчета, каких-то параметров, событий итд итп и видеть их отдельно в виде красивых графиков. Т.е. что-то вроде продвинутой дебаг консоли, которая может выводить информацию в удобочитаемом виде.

Главное чтобы все было достаточно быстро, так как все это риалтайм. Т.е. оно должно висеть где-то отдельным процессом, а может даже на соседнем компьютере.

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


Целевая ось — винда, код — плюсы, цена — бесплатное или дешево и очень сердито.


Вопрос: есть ли что-то стандартное, что позволит мне одной строкой кода выводить данные из программы и красиво их отображать?


Еще один запрос из серий помечтать: хочется чтобы эта штука искала корелляции между различными параметрами и говорла мне о них.


А то я уже собираюсь это дело писать, но велосипед изобретать не хочется.


Я нашел какие-то упоминания о GNU Nana, но похоже, что это было давно и неправда, да и не совсем то.


Заранее большое спасибо!
  • Вопрос задан
  • 2963 просмотра
Пригласить эксперта
Ответы на вопрос 2
dbmaster
@dbmaster
А какая технология?

Если java, посмотрите на perf4j.codehaus.org/devguide.html
Ответ написан
Direvius
@Direvius
Graphite для сбора данных и рендера графиков, точки грузить можно одной строкой, нужно просто по сетке отправить строку вида:
<название метрики> <значение> <таймстемп>
Таким же образом можно грузить данные о системных ресурсах -- не помню, как это делается под виндой, но вроде там можно получить метрики в текстовом виде и потом их отправить в графит.
Не уверен, что вам удастся запустить графит под Windows, но вы же все равно ее хотели на соседний компьютер +) Хотя вот тут кто-то делал.
Корреляции -- можно из графита данные выгружать в какой-нибудь скрипт и там анализировать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы