【发布时间】:2016-04-23 06:01:17
【问题描述】:
我的团队正在从使用 Astyanax 驱动程序(如果还没有的话很快就会被弃用)转向使用 Datastax 3.0 驱动程序。
我们的代码实现了 Astyanax 的 ConnectionPoolMonitor 类,我们捕获了大约 22 个关于连接池使用情况的不同指标。
我正在尝试使用 Datastax 驱动程序找到一种等效的方法。但我能找到的只有这个: https://datastax.github.io/java-driver/manual/pooling/#monitoring-and-tuning-the-pool
基本上,上面的示例显示了如何运行一个持续轮询 Session.State 的后台线程。这似乎相当尴尬。 Astyanax 对实现 ConnectionPoolMonitor 的类进行回调。
而且 Session.State 中公开的信息量相当有限:连接的主机、飞行中的查询、打开的连接和废弃的连接。
有没有更好的选择,我还没有找到?我如何捕捉这些指标:
- Pool 耗尽、连接超时、套接字超时、没有主机的次数
- 创建、关闭、借用、返回、创建错误的连接计数
- 添加、删除、关闭、重新激活/重新连接的主机计数
- 异常计数未知错误、错误请求、中断、传输错误
【问题讨论】:
标签: java cassandra connection-pooling datastax-java-driver