Hi Ratis Community,

How to do tracing inside Ratis?

We are working on IoTDB observability right now, and Ratis already provides 
rich metrics information. While metrics satisfy most observability 
requirements, there are still scenarios requiring tracing information, like 
slow sql analysis. So I’m finding a way to pass my tracing information to Ratis.

I checked Ozone. Ozone supports tracing, but it seems to treat Ratis as a black 
box and won’t penetrate its TraceId to RaftClientRequest, see[1]. Also, I 
checked Ratis code, users may pass the TraceId to RaftClientRequest.callId, but 
the callId is only used in limited scenarios like RetryCache.

So I’m wondering how I can let ratis aware of my TraceId. Any advices would be 
much appreciated!

Regards,
William

[1] 
https://github.com/apache/ozone/blob/a8a0a4533cab33744b3ca8773e856df44a669cf6/hadoop-hdds/container-service/src/main/java/org/apache/hadoop/ozone/container/common/transport/server/ratis/XceiverServerRatis.java#L607



Reply via email to