2016-04-22 3 views
2

моя команда переходит от использования драйвера Astyanax (который устарел, если не раньше), к использованию драйвера Datastax 3.0.Cassandra Datastax Connection pooling monitor/metrics

Наш код реализует класс ConnectionPoolMonitor от Astyanax, и мы используем около 22 различных показателей для использования пула соединений.

Я пытаюсь найти эквивалентный способ сделать это с помощью драйвера Datastax. Но все, что я мог найти, это следующее: https://datastax.github.io/java-driver/manual/pooling/#monitoring-and-tuning-the-pool

В основном, приведенный выше пример показывает, как вы можете запускать фоновый поток, который непрерывно опрашивает Session.State. Это кажется довольно неудобным. Astyanax выполняет обратные вызовы классам, реализующим ConnectionPoolMonitor.

И количество информации, выставленной в Session.State, довольно ограничено: подключенные хосты, запросы на вход, открытые соединения и дефрагментированные соединения.

Есть ли лучший вариант, который я так и не нашел? Как я могу захватить такие показатели, как эти:

  • кол когда бассейн исчерпан, есть таймаут соединения, сокет тайм-аут, нет хозяев
  • Количество соединения, созданного, замкнуты, заимствованные, вернулся, ошибка создания
  • кол-хозяина, сняли вниз, реактивировать/Reconnected
  • счетчик исключения неизвестной ошибки, плохой запрос, прерванный, транспорт ошибки

ответ