gpt4 book ai didi

java - 如何扩展 cassandra SessionManager 以进行 Instrumentation

转载 作者:行者123 更新时间:2023-12-01 12:30:09 25 4
gpt4 key购买 nike

我想在 Cassandra 中检测通过 datastax java 驱动程序执行的查询。扩展 com.datastax.driver.core.SessionManager 是这样吗?另外,如果扩展 SessionManager,我也必须通过修改 Cluster 源在 com.datastax.driver.core.Cluster 中实例化它?这是最好的方法还是有其他可能的方法来实现这一目标?

最佳答案

我只是通过计时对 session.execute() 的调用来收集指标:

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;
}
}

关于java - 如何扩展 cassandra SessionManager 以进行 Instrumentation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25989680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com