Details
-
Improvement
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
None
Description
It can be possible to use an external tracing solution in Cassandra by abstracting out the writing of tracing to system_traces tables in the tracing package to separate implementation classes and leaving abstract classes in place that define the interface and behaviour otherwise of C* tracing.
Then via a system property "cassandra.custom_tracing_class" the Tracing class implementation could be swapped out with something third party.
An example of this is adding Zipkin tracing into Cassandra in the Summit presentation. Code for the implemented Zipkin plugin can be found at https://github.com/thelastpickle/cassandra-zipkin-tracing/
In addition this patch passes the custom payload through into the tracing session allowing a third party tracing solution like Zipkin to do full-stack tracing from clients through and into Cassandra.