© 2017 InfluxData. All rights reserved.1
Open Tracing, to order and
understand your mess
@gianarb
I was just waiting for a new
standard!
cit. Troll
© 2017 InfluxData. All rights reserved.3
Typical problems with logs
¨ Which library do I need to use?
¨ Every library has a different format
¨ Every languages exposes a different format
© 2017 InfluxData. All rights reserved.4
Tracing is not something new
¨ There are vendors
¨ Every vendor has their own format
© 2017 InfluxData. All rights reserved.5
Every ten years, history repeats itself but now
¨ Microservices
¨ Polyglot architecture
¨ A different distribution
How do you “tell stories” about
concurrent systems?
© 2017 InfluxData. All rights reserved.7
log log log
log log
log
Parent Span Span Context / Baggage
Child
Child
Child Span
¨ Spans - Basic unit of timing and causality. Can be tagged with
key/value pairs.
¨ Logs - Structured data recorded on a span.
¨ Span Context - serializable format for linking spans across network
boundaries. Carries baggage, such as a request and client IDs.
¨ Tracers - Anything that plugs into the OpenTracing API to record
information.
¨ ZipKin, Jaeger, LightStep, others
¨ Also metrics (Prometheus) and logging
© 2017 InfluxData. All rights reserved.8
OpenTracing
API
application logic
µ-service frameworks
Lambda functions
RPC & control-flow frameworks
existing instrumentation
tracing infrastructure
main()
I N S T A N A
J a e g e r
microservice process
© 2017 InfluxData. All rights reserved.9
1.5 year old!
Tracer implementations: Zipkin, Jaeger, LightStep, SkyWalking, others
All sorts of companies use OpenTracing:
© 2017 InfluxData. All rights reserved.10
Rapidly growing OSS and vendor adoption
JDBIJava Webservlet
Jaxr
© 2017 InfluxData. All rights reserved.11
Some use cases
¨ Microservices
¨ Cache vs. Cache Miss
¨ Parallel vs Sequentially
¨ Queue system
© 2017 InfluxData. All rights reserved.12
Enterprise Edition
Telegraf Kapacitor
InfluxDB
Chronograf
InfluxDB and OpenTracing?!
© 2017 InfluxData. All rights reserved.13
InfluxDB and OpenTracing?!
Implement a comfortable
solution to store and quickly manipulate
all your traces.
Cardinality everywhere!
Monitoring, events, traces… All time series, but they are different!
© 2017 InfluxData. All rights reserved.15
There are different information that you can get from traces. In real time
and not.
Providing a good way to store data without the ability to visualize them
is not the point.
Visualisation
© 2017 InfluxData. All rights reserved.16
Netflix - https://youtu.be/Q4nniyAarbs?t=31m58s
PS I don’t know if it’s using OpenTracing (probably not) but it’s a nice visualisation.
© 2017 InfluxData. All rights reserved.17
Questions?
@gianarb
Site Reliability Engineer at InfluxData
Thanks OpenTracing for the support.

Open Tracing, to order and understand your mess. - ApiConf 2017

  • 1.
    © 2017 InfluxData.All rights reserved.1 Open Tracing, to order and understand your mess @gianarb
  • 2.
    I was justwaiting for a new standard! cit. Troll
  • 3.
    © 2017 InfluxData.All rights reserved.3 Typical problems with logs ¨ Which library do I need to use? ¨ Every library has a different format ¨ Every languages exposes a different format
  • 4.
    © 2017 InfluxData.All rights reserved.4 Tracing is not something new ¨ There are vendors ¨ Every vendor has their own format
  • 5.
    © 2017 InfluxData.All rights reserved.5 Every ten years, history repeats itself but now ¨ Microservices ¨ Polyglot architecture ¨ A different distribution
  • 6.
    How do you“tell stories” about concurrent systems?
  • 7.
    © 2017 InfluxData.All rights reserved.7 log log log log log log Parent Span Span Context / Baggage Child Child Child Span ¨ Spans - Basic unit of timing and causality. Can be tagged with key/value pairs. ¨ Logs - Structured data recorded on a span. ¨ Span Context - serializable format for linking spans across network boundaries. Carries baggage, such as a request and client IDs. ¨ Tracers - Anything that plugs into the OpenTracing API to record information. ¨ ZipKin, Jaeger, LightStep, others ¨ Also metrics (Prometheus) and logging
  • 8.
    © 2017 InfluxData.All rights reserved.8 OpenTracing API application logic µ-service frameworks Lambda functions RPC & control-flow frameworks existing instrumentation tracing infrastructure main() I N S T A N A J a e g e r microservice process
  • 9.
    © 2017 InfluxData.All rights reserved.9 1.5 year old! Tracer implementations: Zipkin, Jaeger, LightStep, SkyWalking, others All sorts of companies use OpenTracing:
  • 10.
    © 2017 InfluxData.All rights reserved.10 Rapidly growing OSS and vendor adoption JDBIJava Webservlet Jaxr
  • 11.
    © 2017 InfluxData.All rights reserved.11 Some use cases ¨ Microservices ¨ Cache vs. Cache Miss ¨ Parallel vs Sequentially ¨ Queue system
  • 12.
    © 2017 InfluxData.All rights reserved.12 Enterprise Edition Telegraf Kapacitor InfluxDB Chronograf InfluxDB and OpenTracing?!
  • 13.
    © 2017 InfluxData.All rights reserved.13 InfluxDB and OpenTracing?! Implement a comfortable solution to store and quickly manipulate all your traces.
  • 14.
    Cardinality everywhere! Monitoring, events,traces… All time series, but they are different!
  • 15.
    © 2017 InfluxData.All rights reserved.15 There are different information that you can get from traces. In real time and not. Providing a good way to store data without the ability to visualize them is not the point. Visualisation
  • 16.
    © 2017 InfluxData.All rights reserved.16 Netflix - https://youtu.be/Q4nniyAarbs?t=31m58s PS I don’t know if it’s using OpenTracing (probably not) but it’s a nice visualisation.
  • 17.
    © 2017 InfluxData.All rights reserved.17
  • 18.
    Questions? @gianarb Site Reliability Engineerat InfluxData Thanks OpenTracing for the support.