Простая аналитика Java / обработка потока событий с помощью внешнего интерфейса
Мое приложение выполняет много измерений своих внутренних процессов. Например, я время определенных методов, я время внешних вызовов веб-службы, и у меня также есть переменные, которые имеют изменяющееся значение, и процессы, которые имеют "состояние" (например, PAUSED, WAITING и т. Д.).
Приложение использует от 100 до 200 потоков, и каждый бит данных будет связан с конкретным потоком.
Я ищу какое-то программное обеспечение, в которое я мог бы направить всю эту информацию, чтобы производить полезные метрики и графики данных (в идеале в реальном времени или близко к реальному времени), позвольте мне установить пороги для запуска предупреждений, позволило бы мне фильтровать данные по потоку или группе потоков и т. д.
Приложение выполняет срочные задачи, поэтому программное обеспечение / API должно быть очень быстрым и никогда не блокировать.
Приложение написано на Java, и в идеале программное обеспечение / API должно быть на Java. Я думаю, что то, что я ищу, называется Event Stream Processing, но я действительно не уверен, какой язык использовать для его описания.
Все, что я нашел, это Эспер и ЕРМА. Кто-нибудь может дать мне рекомендацию? Я единственный, кто работает над этим проектом, поэтому я надеюсь на что-то, что довольно легко настроить и использовать, и имеет работоспособный интерфейс.
1 ответ
В конце концов я нашел Graphite, который был довольно близок к тому, что я хотел. Не самое простое в настройке и настройке, однако, но я получил его в конце концов.
В моем случае я отправляю данные непосредственно из моего приложения в Statsd (через UDP), который собирает данные и выполняет некоторую предварительную обработку, прежде чем они попадают в серверную часть шепота, здесь приведен простой пример интерфейса Java https://github.com/etsy/statsd/commit/2253223f3c19d2149d65ec5bc802198ff93da4cb
В качестве альтернативы вы можете отправить свои данные непосредственно в графит, например, здесь http://neopatel.blogspot.co.uk/2011/04/logging-to-graphite-monitoring-tool.html