[openstack-dev] Tracing (all the places)

vinhnt at vn.fujitsu.com vinhnt at vn.fujitsu.com
Mon Aug 7 08:39:43 UTC 2017


> -----Original Message-----
> From: Joshua Harlow [mailto:harlowja at fastmail.com]
> Sent: Friday, 04 August, 2017 11:12
> To: OpenStack Development Mailing List (not for usage questions) <openstack-
> dev at lists.openstack.org>
> Subject: Re: [openstack-dev] Tracing (all the places)
> 
> vinhnt at vn.fujitsu.com wrote:
> > Hello harlowja,
> >
> > I'm really happy to see that you are back in this `tracing` topic [and @boris-42
> (too)].
> 
> We never left, haha, but ya, I can say (and probably boris would agree)
> that trying to get OSprofiler started and integrated somewhat 'burned'
> both of us (it involved a ton of convincing people of the value of it,
> when I had more hoped that the value of it was obvious). But I'm glad
> that people are starting to realize its value (even if they have to be
> told and educated by google or other companies that have been doing this
> for a long time).
> 
> >
> > Last week, we saw that Rajul proposed 02 new blueprint in OSprofiler [1] and [2].
> > Besides, some other blueprints are being implemented in OSprofiler
> > such as overhead control [3] and OpenTracing compatible [4] [5]
> > (Uber Jaeger [6] is one of OpenTracing compatible tracer out there).
> >
> > For OpenTracing part, I have a PoC to make OSprofiler compatible with
> > OpenTracing specification at [5]. You can take a look at it this time too.
> > However, this time, I focus on reporting span/trace to other destinations
> > (rather than current drivers for OSprofiler[7]).
> >
> > OpenTracing API is changing a little bit fast for now, therefore, some APIs will be
> deprecated soon.
> > I had some discussions with OpenTracing community about some trouble when
> making OSprofiler
> > compatible with OpenTracing API.
> 
> Ya I expected this, opentracing also I think has a python
> client/wrapper(?), have you looked at what this offers (last time I
> checked most of opentracing was just a bunch of wrappers actually, and
> not much actually code that did anything unique)?
> 

Wrapper? Yes and No :D
If you look to the code, OpenTracing is just an interface and other new tracers should
follow it to implement. However, with OpenTracing, user can use any tracers that
`OpenTracing compatible` without modify a bunch of instrumented code.
Just change the name of tracer that you want to use.

For example, change tracer from Jaeger to LightStep.

With Jaeger:
opentracing.tracer = jeager_client.Config().config.initialize_tracer()

With lightstep:
opentracing.tracer = lightstep.Tracer(
    component_name='your_microservice_name',
    access_token='{your_access_token}')

Very simple (but not enough) :D


Jaeger client: https://github.com/uber/jaeger-client-python
LightStep: https://github.com/lightstep/lightstep-tracer-python

> >
> > For OpenStack part, last cycle, Performance team and other OpenStack developers
> added
> > OSprofiler support for many other projects (Nova, Magnum, Ironic, Zun ...)
> > and Panko, Aodh, Swift are on the way.
> 
> Yippe, now the bigger questions is where are all the UIs visualizing the
> traces (I know boris had https://boris-42.github.io/ngk.html but there
> has to be something nicer that perhaps the OpenTracing community has for
> a UI, ideally not a java monster like Zipkin, ha). Any thoughts there?
> 

With the UI, you can see the example with OSprofiler ouput that I redirect to
Jaeger here: https://tovin07.github.io/opentracing/jaeger-openstack-image-list.png

> >
> > At last, hope you will join us (again) in OpenStack `tracing` things.
> 
> We shall see :-P
> 
> >
> > [1] https://blueprints.launchpad.net/osprofiler/+spec/asynchronous-trace-collection
> > [2] https://blueprints.launchpad.net/osprofiler/+spec/tail-based-coherent-sampling
> > [3] https://blueprints.launchpad.net/osprofiler/+spec/osprofiler-overhead-control
> > [4] https://blueprints.launchpad.net/osprofiler/+spec/opentracing-compatible
> > [5] https://review.openstack.org/#/c/480018/
> > [6] http://jaeger.readthedocs.io/en/latest/architecture/
> > [7] https://github.com/openstack/osprofiler/tree/master/osprofiler/drivers
> >
> > Best regards,
> >
> > Vinh Nguyen Trong
> > PODC – Fujitsu Vietnam Ltd.
> 
> ___________________________________________________________________
> _______
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


More information about the OpenStack-dev mailing list