cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-9193) Facility to write dynamic code to selectively trigger trace or log for queries
Date Wed, 29 Apr 2015 22:12:07 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-9193?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14520385#comment-14520385
] 

Robert Stupp commented on CASSANDRA-9193:
-----------------------------------------

Are we talking about traced requests only?
Or something that's always executed, which would only work with Java-UDFs where Hotspot could
”remove” never executed code?
Both variants have a charm. The 1st would always trigger - basically enriching trace output.
The 2nd (”injected") variant would trigger on ”certain conditions” coded in the UDF.

For traced requests: wouldn't it be easier to add the logged stuff directly to the trace tables
so an operator (or developer) can see all output from all involved nodes?

> 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)

Mime
View raw message