[ 
https://issues.apache.org/jira/browse/CASSANDRA-10392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

mck updated CASSANDRA-10392:
----------------------------
    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.

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.

  was:
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.

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.


There's still a few todos and fixmes in the initial patch but i'm submitting 
early to get feedback. For example i haven't included in this patch the ability 
to prevent c*'s default tracing from happening (which would completely offload 
the current tracing overhead onto separate infrastructure) and am open to 
including it in this patch or leaving it to a follow-up issue.


> Allow Cassandra to trace to custom tracing implementations 
> -----------------------------------------------------------
>
>                 Key: CASSANDRA-10392
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10392
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: mck
>            Assignee: mck
>         Attachments: 10392-trunk.txt
>
>
> 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.
> 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.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to