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