Java 如何为检测扩展cassandra SessionManager
我想通过Cassandra中的datastax java驱动程序对执行的查询进行测试。扩展com.datastax.driver.core.SessionManager是一种方法吗?另外,如果扩展SessionManager,我还必须通过修改集群源在com.datastax.driver.core.Cluster中实例化它?Java 如何为检测扩展cassandra SessionManager,java,cassandra,driver,datastax,Java,Cassandra,Driver,Datastax,我想通过Cassandra中的datastax java驱动程序对执行的查询进行测试。扩展com.datastax.driver.core.SessionManager是一种方法吗?另外,如果扩展SessionManager,我还必须通过修改集群源在com.datastax.driver.core.Cluster中实例化它? 这是最好的方法还是有其他可能的方法来实现这一点?我只是通过计时对session.execute()的调用来收集指标: OTOH,除了时间之外,你还有其他信息要收集吗?嗨,唐
这是最好的方法还是有其他可能的方法来实现这一点?我只是通过计时对session.execute()的调用来收集指标:
OTOH,除了时间之外,你还有其他信息要收集吗?嗨,唐,谢谢你的回答。但我想我的问题还不清楚。我的主要问题是,要插入指令,我们必须扩展SessionManager或实现会话接口,以及如何与集群类关联。为什么必须扩展SessionManager?
private Session session;
private AtomicLongMap<String> executeCount;
private AtomicLongMap<String> executeTime;
@Override
public ResultSet execute(BoundStatement statement, Object... bindVariables) {
try {
long startTime = System.currentTimeMillis();
ResultSet resultSet = session.execute(statement);
long endTime = System.currentTimeMillis();
executeCount.incrementAndGet(command);
executeTime.addAndGet(command, endTime - startTime);
return resultSet;
} catch (IllegalArgumentException e) {
LOG.error("IllegalArgumentException executing:" + command + ":" + Arrays.toString(bindVariables));
throw e;
}
}