cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (Commented) (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-1123) Allow tracing query details
Date Wed, 11 Jan 2012 20:20:39 GMT


Jonathan Ellis commented on CASSANDRA-1123:


I think we can do two things with this:

# Answer "what is taking so long with query X"
# Automatically enable tracing for say 1% of all queries and look for patterns

(2) is important because often (1) is not repeatable, if the slowness comes from hitting disk
for instance it will usually be cached the next time.

I think we're 90% of the way there with this, but log files aren't very programatically accessible,
i.e., it's difficult to implement scenario (2).  I'd like to

- make enable_logging method return the query context id
- store trace results in a columnfamily keyed by the id so they can be retrieved and displayed
(e.g. by adding EXPLAIN command to cqlsh, which would be a separate ticket)

What do you think?
> Allow tracing query details
> ---------------------------
>                 Key: CASSANDRA-1123
>                 URL:
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Jonathan Ellis
>            Assignee: Aaron Morton
>             Fix For: 1.2
>         Attachments: 1123-3.patch.gz
> In the spirit of CASSANDRA-511, it would be useful to tracing on queries to see where
latency is coming from: how long did row cache lookup take?  key search in the index?  merging
the data from the sstables?  etc.
> The main difference vs setting debug logging is that debug logging is too big of a hammer;
by turning on the flood of logging for everyone, you actually distort the information you're
looking for.  This would be something you could set per-query (or more likely per connection).
> We don't need to be as sophisticated as the techniques discussed in the following papers
but they are interesting reading:

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message