моя команда переходит от использования драйвера 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
- счетчик исключения неизвестной ошибки, плохой запрос, прерванный, транспорт ошибки