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

Duo Zhang updated HBASE-22120:
------------------------------
    Release Note: 
In this issue we change our tracing system from HTrace to OpenTelemetry.
The HTrace dependencies are banned(transitive dependencies are still allowed as 
hadoop still depends on them), the imports of htrace related classes are also 
banned.
We add OpenTelemtry support for our RPC system, which means all the rpc methods 
will be traced on both client side and server side.
Most methods in Table interface are also traced, except scan and coprocessor 
related methods. As now the scan implementation is always 'async prefetch', we 
haven't find a suitable way to represent this relationship between the 
foreground and background spans yet.
At server side, due to the same reason, we only use a span to record the time 
of the WAL sync operation, without tracing into the background sync thread.
And we do not trace the next method of RegionScanner, as a scan rpc call may 
lead to thousands of RegionScanner.next calls, which could slow down the rpc 
call even when tracing is disabled.
On how to enable tracing, please read the Tracing section in our refguide.
https://hbase.apache.org/book.html#tracing

  was:
In this issue we change our tracing system from HTrace to OpenTelemetry.
The HTrace dependencies are banned(transitive dependencies are still allowed as 
hadoop still depends on them), the imports of htrace related classes are also 
banned.
We add OpenTelemtry support for our RPC system, which means all the rpc methods 
will be traced on both client side and server side.
Most methods in Table interface are also traced, except scan and coprocessor 
related methods. As now the scan implementation is always 'async prefetch', we 
haven't find a suitable way to represent this relationship between the 
foreground and background spans yet.
At server side, due to the same reason, we only use a span to record the time 
of the WAL sync operation, without tracing into the background sync thread.
On how to enable tracing, please read the Tracing section in our refguide.
https://hbase.apache.org/book.html#tracing


> Replace HTrace with OpenTelemetry
> ---------------------------------
>
>                 Key: HBASE-22120
>                 URL: https://issues.apache.org/jira/browse/HBASE-22120
>             Project: HBase
>          Issue Type: New Feature
>          Components: tracing
>    Affects Versions: 3.0.0-alpha-1
>            Reporter: Sergey Shelukhin
>            Assignee: Duo Zhang
>            Priority: Major
>             Fix For: 3.0.0-alpha-1
>
>
> h2. Deprecate HTrace usage in HBase
>  * HBase 1.x (branch-1)
>  * Declare HTrace (htrace 3.x) deprecated in the user doc.
>  * HBase 2.x (branch-2)
>  * Declare HTrace deprecated in the user doc. Furthermore, state that it is 
> known not working.
>  * Either fix the trace context propagation bug in HBase 2.x, or backport 
> OpenTracing support from the master branch. I am inclined to the latter.
>  * HBase 3.x (master branch)
>  * Remove HTrace entirely.
>  * Add OpenTracing APIs. Potentially backport to HBase 2.4.
>  * Replace OpenTracing API with OpenTelemetry when the latter stabilizes.
> h1. Milestones
>  # Doc -- deprecation notice
>  # Replace existing HTrace code with OpenTracing code in the master branch 
> (3.x) 
>  # Java (a [poc|https://github.com/jojochuang/hbase/tree/HBASE-22120] is 
> currently under way)
>  # HBase shell and scripts (Ruby, shell script)
>  # Doc 
>  # Add new trace instrumentation code for new features not instrumented by 
> the existing HTace code.
>  # Propagate the traces to other systems such as HDFS and MapReduce.
>  # Support other OpenTracing tracers.
> ======== Update ========
> As OpenTracing has now been replaced by OpenTelemetry, the goal finally 
> becomes replacing HTrace with OpenTelemetry.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to