[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
> 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  and .
> > Besides, some other blueprints are being implemented in OSprofiler
> > such as overhead control  and OpenTracing compatible  
> > (Uber Jaeger  is one of OpenTracing compatible tracer out there).
> > For OpenTracing part, I have a PoC to make OSprofiler compatible with
> > OpenTracing specification at . 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).
> > 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.
opentracing.tracer = jeager_client.Config().config.initialize_tracer()
opentracing.tracer = lightstep.Tracer(
Very simple (but not enough) :D
Jaeger client: https://github.com/uber/jaeger-client-python
> > For OpenStack part, last cycle, Performance team and other OpenStack developers
> > 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
> >  https://blueprints.launchpad.net/osprofiler/+spec/asynchronous-trace-collection
> >  https://blueprints.launchpad.net/osprofiler/+spec/tail-based-coherent-sampling
> >  https://blueprints.launchpad.net/osprofiler/+spec/osprofiler-overhead-control
> >  https://blueprints.launchpad.net/osprofiler/+spec/opentracing-compatible
> >  https://review.openstack.org/#/c/480018/
> >  http://jaeger.readthedocs.io/en/latest/architecture/
> >  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
More information about the OpenStack-dev