Tbh it should be vendor agnostic neither zipkin or jaeger this is the point of 
open telemetry. We shouldn't be packaging up zipkin or jaeger specific.Im sure 
every org has their own tracing vendor solution, as such just should be done so 
that we supply the plugin to api but users should add the appropriate agent as 
they need. Sent from my Galaxy
-------- Original message --------From: Clebert Suconic 
<clebert.suco...@gmail.com> Date: 23/12/2021  14:08  (GMT+00:00) To: 
dev@activemq.apache.org Subject: Re: [DISCUSS] Open Telemetry with ActiveMQ 
Jaeger will accept Zipkin packets.. if you write zipkin it should workwith 
either Jaeger or Zipkin... so I think it's very nice for aprototype.I think we 
could start working on making it ready for PR... create theappropriate 
sub-modules and proper tests.Is there any API that could receive tracing... I 
wonder how we wouldwrite testcases...As for making it ready we could create the 
sub-module asartemis-open-tracing.... and get the URI for open tracing from 
theconfiguration.xmlOn Tue, Dec 21, 2021 at 2:58 PM Nabwegamo Brenda 
<brenser...@gmail.com> wrote:>> Hello Everyone!>> I am an Outreachy Intern 
implementing distributed tracing with opentelemetry> <http://opentelemetry.io/> 
in activemq-artemis under active mentorship> of @Clebert> Suconic>> *How we 
wish to Implement this.*> The current goal for now is writing a Broker-plugin 
that will send data for> every message sent to opentelemetry servers either 
using the API and/or SDK> with exporters like Jeager 
<https://www.jaegertracing.io/>, Zipkin> <https://zipkin.io/>, OTLP etc, and 
packaging it nicely>> I have opened a PR of a working prototype of how this 
might work.> 
<https://github.com/nbrendah/activemq-artemis/commit/a57adecdd56aaf7c5d46bfd065a40e010d29ed0f>>>
 In little explanation of the code,>>    - On calling the  initZipkin()  we are 
initializing and managing the>    Opentelemetry SDK but this should take place 
only once, like when the>    connection is started, or otherwise, we might get 
some errors when the SDK>    configuration is called again though some data 
will be received on Zipkin.>    - Each time a message is created, before 
sending it, we create a span>    and set its attributes (if any) and finally 
end the span.>> *What needs improvement (not well implemented)*>>    - I need 
to come up with a way of executing   initZipkin()  once like at>    connection 
creation or something like that and storing the tracer so that>    we can 
access it through BrokerPlugin.beforeSend(...)  method.>    - Each time we need 
to create a span, we can just get it from the>    session or message and then 
create it.>>> *What I have failed to implement for now.*>>    - Passing a 
tracer created on the static main method to the overridden>    
BrokerPlugin.beforeSend(...)  so that we can create a span from the>    tracer 
before sending each message>    - At first I tried exporting the spans to 
Jeager>    <https://www.jaegertracing.io/> using the Jeager-example>    
<https://github.com/open-telemetry/opentelemetry-java/tree/main/examples/jaeger>>
    but i wasn't receiving data for the last two weeks but Zipkin worked fine>  
  on the first attempt.  However, i think Jeager and Zipkin work almost the>    
same according to me>>> *Questions  *>>    1. Which tool would you personally 
go with. Jeager or Zipkin?>    2. Where can we implement OpenTelemetry SDK 
initiation so that the>    initiation runs only once?>    3. How best can we 
store a tracer such that it can be accessed before a>    message is sent.-- 
Clebert Suconic

Reply via email to