[ 
https://issues.apache.org/jira/browse/HBASE-25424?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17253952#comment-17253952
 ] 

Duo Zhang commented on HBASE-25424:
-----------------------------------

{quote}
One Quick question on this, if we attach the open telemetry based tracing to 
the region server on startup or by some way and we do the tracing, how do we 
disable the tracing dynamically? Or say if I need to enable it for specified 
time and then again disable it? 

Should we have a script which by some way replaces the tracing instance to 
either NoOp tracer or the one that really collects the data points?
{quote}
I propose we add a flag in the start up scripts to enable/disable trace. If 
trace is enabled, we will attach the agent and change the start up command 
accordingly.

And on enable/disable trace on the fly, theoretically we could do this, as the 
OpenTelemetrySdk has a method to update trace config, and we could also reset 
the global OpenTelemetrySdk at runtime. On how to implement this in HBase, we 
could open a follow on issue to work on it.

What do you think?

{quote}
I also believe that we should give way to plug the type of exporters we need. 
{quote}

This is exactly why I proposed the second way, which uses the instrumentation 
agent.

https://github.com/open-telemetry/opentelemetry-java-instrumentation

With the agent, though it is still not stable enough, we could use the system 
properties to initialize the exporters. If we go with our own sub module, we 
need to do this by our own.

> Find a way to config OpenTelemetry tracing without directly depending on 
> opentelemetry-sdk
> ------------------------------------------------------------------------------------------
>
>                 Key: HBASE-25424
>                 URL: https://issues.apache.org/jira/browse/HBASE-25424
>             Project: HBase
>          Issue Type: Sub-task
>          Components: dependencies, tracing
>            Reporter: Duo Zhang
>            Assignee: Duo Zhang
>            Priority: Major
>
> According to the document of OpenTelemetry, for all the modules which could 
> be depended by downstream users, we should only depend on opentelemetry-api.
> But the open telemetry propagator must be initialized programmatically, so we 
> need to have a module to implement the code and introduce dependency on 
> opentelemetry-sdk, and we need to call it before doing anything when starting 
> master, regionserver, and so on.



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

Reply via email to