我正在使用 Hector 与 Cassandra 交谈。有没有办法可以跟踪服务器上执行的查询?
如Cassandra vs logging activity中所述,我已经厌倦了为 org.apache.cassandra.thrift.CassandraServer 添加 Enable DEBUG logging 。但这并没有提供太多信息(例如说切片查询已执行,但没有提供更多信息)。
有没有更好的办法?
我正在使用 Hector 与 Cassandra 交谈。有没有办法可以跟踪服务器上执行的查询?
如Cassandra vs logging activity中所述,我已经厌倦了为 org.apache.cassandra.thrift.CassandraServer 添加 Enable DEBUG logging 。但这并没有提供太多信息(例如说切片查询已执行,但没有提供更多信息)。
有没有更好的办法?
Cassandra 1.2引入了一种新的请求跟踪功能,允许您跟踪整个 Cassandra 的读取和写入进度。
要查看跟踪,请在您的 Cassandra 节点之一上启动 cqlsh 并运行以下命令:
cqlsh> tracing on;
Now tracing requests.
cqlsh> use [KEYSPACE];
而且我相信只要打开对该节点的跟踪,您就会继续在 CQL shell 中看到跟踪。
或者,根据这篇关于来自 DataStax 的高级 Cassandra 请求跟踪的后续博客文章
您可以配置概率跟踪。
nodetool settraceprobability
或通过 JMX
此跟踪信息将在键空间中保留system_traces
长达 24 小时(您可以更改此表的 TTL),因此您可以稍后从那里查询它。