[
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 with 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.
Reference
1. HBase Tracing with Opentelemetry,
[HBASE-22120|https://issues.apache.org/jira/browse/HBASE-22120]
> 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 with 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)