Сбор метрик приложения в Java (опционально .Net) - PullRequest
12 голосов
/ 30 сентября 2010

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

например, я могу сделать

StopWatch dbWriteTime = new Log4JStopWatch("ServiceName:DBWrite");
dbWriteTime.start();
... execute DB stuff here
dbWriteTime.stop();

, и вы можете установить эти метрики, чтобы регистрироваться с любым интервалом, и он отлично справляется с этим. Но иногда я хочу сделать что-то вроде

Metric metric = new Metric("ServiceName:OrdersPerRequest");
metric.put(50);

Я мог бы вызывать таймер perf4j lib 50 раз, но это ужасный и неэффективный взлом, чтобы получить мои метрики в журнале. Кто-нибудь знает хорошую библиотеку с открытым исходным кодом, которая может делать оба типа метрик? Также, если бы он мог отслеживать журналы выходных метрик и выводить их в централизованную БД, это было бы здорово. Кроме того, если вы знаете хороший веб-интерфейс с открытым исходным кодом для построения графиков и отображения такого рода данных, я был бы очень заинтересован в этом. Кажется, это должно быть чем-то, что нужно многим людям раньше.

Ответы [ 2 ]

22 голосов
/ 24 сентября 2011

Мне нравится библиотека Coda Hale metrics , но вы также можете захотеть взглянуть на Java Simon .Другие варианты включают stajistics , JAMon и parfait .

9 голосов
/ 21 сентября 2011

Я бы предложил взглянуть на презентацию Коды Хейла и его метрик библиотеки .Это должно охватить вас с точки зрения Java.

...