You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ratis.apache.org by William Song <sz...@163.com> on 2022/11/14 10:57:39 UTC

How to do tracing in Ratis

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




Re: How to do tracing in Ratis

Posted by Tsz Wo Sze <sz...@gmail.com>.
Hi William,

> ... So I’m finding a way to pass my tracing information to Ratis.

Sorry that I don't have a good answer for this.  How about we use Ozone
tracing in Ratis?

Regards,
Tsz-Wo


On Mon, Nov 14, 2022 at 2:57 AM William Song <sz...@163.com> wrote:

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