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

Tak-Lon (Stephen) Wu updated RATIS-2389:
----------------------------------------
    Description: 
This proposal outlines the addition of OpenTelemetry support to Ratis. By 
instrumenting the full client-side request path, we can empower users and 
maintainers with the granular data necessary for both long-term performance 
optimization and proactive daily monitoring.
 * 1-pager proposal: 
[https://docs.google.com/document/d/1UKGVqOzkAXqUAJxOz1RHq6fIiO3xqV57eIqi-f9qdE4/edit?tab=t.0#heading=h.5a3u31wlm0n]
 * PoC: [https://github.com/taklwu/ratis/tree/opentelemetry0129]

Subtasks
 * Define the Metadata Field: Modify RaftRpcMessage.proto to include an 
optional SpanContext field.
 * Add TraceUtil: Land the utility class in ratis-common based on the code you 
see in HBase.
 * Create the client span: Introduce the span supplier and CLIENT span hook.
 * Instrument GRPC on the Server: Start with the GRPC module as it is the most 
common transport. Instrument the onNext methods (or within the caller) to 
start/stop spans.
 * Come up the user guide as part of the release.

Reference
1. HBase Tracing with Opentelemetry, 
[HBASE-22120|https://issues.apache.org/jira/browse/HBASE-22120]

  was:
This proposal outlines the addition of OpenTelemetry support to Ratis. By 
instrumenting the full client-side request path, we can empower users and 
maintainers with the granular data necessary for both long-term performance 
optimization and proactive daily monitoring.

* 1-pager proposal: 
[https://docs.google.com/document/d/1UKGVqOzkAXqUAJxOz1RHq6fIiO3xqV57eIqi-f9qdE4/edit?tab=t.0#heading=h.5a3u31wlm0n]
* PoC: https://github.com/taklwu/ratis/tree/opentelemetry0129

Subtasks
* Define the Metadata Field: Modify RaftRpcMessage.proto to include an optional 
SpanContext field.
* Add TraceUtil: Land the utility class in ratis-common based on the code you 
see in HBase.
* Create the client span: Introduce the span supplier and CLIENT span hook. 
* Instrument GRPC on the Server: Start with the GRPC module as it is the most 
common transport. Instrument the onNext methods (or within the caller) to 
start/stop spans.
* Come up the user guide as part of the release. 



> Implementing Opentelemetry Tracing in Apache Ratis
> --------------------------------------------------
>
>                 Key: RATIS-2389
>                 URL: https://issues.apache.org/jira/browse/RATIS-2389
>             Project: Ratis
>          Issue Type: New Feature
>          Components: client, server
>    Affects Versions: 3.3.0
>            Reporter: Tak-Lon (Stephen) Wu
>            Priority: Minor
>
> This proposal outlines the addition of OpenTelemetry support to Ratis. By 
> instrumenting the full client-side request path, we can empower users and 
> maintainers with the granular data necessary for both long-term performance 
> optimization and proactive daily monitoring.
>  * 1-pager proposal: 
> [https://docs.google.com/document/d/1UKGVqOzkAXqUAJxOz1RHq6fIiO3xqV57eIqi-f9qdE4/edit?tab=t.0#heading=h.5a3u31wlm0n]
>  * PoC: [https://github.com/taklwu/ratis/tree/opentelemetry0129]
> Subtasks
>  * Define the Metadata Field: Modify RaftRpcMessage.proto to include an 
> optional SpanContext field.
>  * Add TraceUtil: Land the utility class in ratis-common based on the code 
> you see in HBase.
>  * Create the client span: Introduce the span supplier and CLIENT span hook.
>  * Instrument GRPC on the Server: Start with the GRPC module as it is the 
> most common transport. Instrument the onNext methods (or within the caller) 
> to start/stop spans.
>  * Come up the user guide as part of the release.
> Reference
> 1. HBase Tracing with Opentelemetry, 
> [HBASE-22120|https://issues.apache.org/jira/browse/HBASE-22120]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to