[
https://issues.apache.org/jira/browse/CASSANDRA-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14512043#comment-14512043
]
Matt Stump commented on CASSANDRA-9193:
---------------------------------------
[~slebresne] I'm not ready to disagree yet, but I want to make two points and
see what you guys think.
# The consumer of this facility would primarily be advanced users that are
attempting to gain visibility into Cassandra internals. Right now the field
doesn't have a good way to perform targeted analysis for a variety of tasks of
which queries are only a subset. I can see wanting to use this to troubleshoot
compaction for example.
# I want to back port this to older versions of Cassandra so that I can include
it in DSE. The reason being is that the field needs this now and it's going to
take a while before whatever branch of 3.X this lands in becomes readily
deployed. If I'm dependent on UDFs then back porting becomes impossible.
> Facility to write dynamic code to selectively trigger trace or log for queries
> ------------------------------------------------------------------------------
>
> Key: CASSANDRA-9193
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9193
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Matt Stump
>
> I want the equivalent of dtrace for Cassandra. I want the ability to
> intercept a query with a dynamic script (assume JS) and based on logic in
> that script trigger the statement for trace or logging.
> Examples
> - Trace only INSERT statements to a particular CF.
> - Trace statements for a particular partition or consistency level.
> - Log statements that fail to reach the desired consistency for read or write.
> - Log If the request size for read or write exceeds some threshold
> At some point in the future it would be helpful to also do things such as log
> partitions greater than X bytes or Z cells when performing compaction.
> Essentially be able to inject custom code dynamically without a reboot to the
> different stages of C*.
> The code should be executed synchronously as part of the monitored task, but
> we should provide the ability to log or execute CQL asynchronously from the
> provided API.
> Further down the line we could use this functionality to modify/rewrite
> requests or tasks dynamically.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)