Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Distributed Tracing with OpenCensus

Distributed Tracing with OpenCensus

Presentation on Distributed Tracing using OpenCensus. A brief overview of distributed tracing concepts followed by a demo of an application using OpenCensus. This talk was presented at the Golang Vancouver meetup.

Alex Boten

May 13, 2019
Tweet

More Decks by Alex Boten

Other Decks in Programming

Transcript

  1. D I S T R I B U T E

    D T R A C I N G W I T H O P E N C E N S U S W H AT, H O W, W H Y Y Y Y Y Y Y Y Y Y A L E X B O T E N @ C O D E B O T E N
  2. D I S T R I B U T E

    D T R A C I N G set of tools and practices to monitor the health and reliability of distributed applications - trace context w3c working draft
  3. C O N C E P T S • Context

    • Propagation
  4. C O N C E P T S • Context

    • Propagation
  5. O P E N C E N S U S

    A N D O P E N T R A C I N G +
  6. O P E N C E N S U S

    • Register an exporter • Start a trace • Add spans • Propagate
  7. W E AT H E R - A P I

    : 8 0 8 2 H O T E L S - A P I : 8 0 8 1 R E S E R VAT I O N - A P I : 8 0 8 0 tracing:6831 tracing:16686
  8. W E AT H E R - A P I

    L O C A L H O S T: 8 0 8 2 H O T E L S - A P I L O C A L H O S T: 8 0 8 1 T R A C E - D E M O L O C A L H O S T: 8 0 8 0 W E AT H E R - A P I : 8 0 8 2 H O T E L S - A P I : 8 0 8 1 R E S E R VAT I O N - A P I : 8 0 8 0 tracing:6831 tracing:16686 curl localhost:8080/v1/reservation?city=Paris X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1
  9. W E AT H E R - A P I

    L O C A L H O S T: 8 0 8 2 H O T E L S - A P I L O C A L H O S T: 8 0 8 1 T R A C E - D E M O L O C A L H O S T: 8 0 8 0 X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 Service: hotels-api … W E AT H E R - A P I : 8 0 8 2 H O T E L S - A P I : 8 0 8 1 R E S E R VAT I O N - A P I : 8 0 8 0 tracing:6831 tracing:16686 curl localhost:8080/v1/reservation?city=Paris X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1
  10. W E AT H E R - A P I

    L O C A L H O S T: 8 0 8 2 H O T E L S - A P I L O C A L H O S T: 8 0 8 1 T R A C E - D E M O L O C A L H O S T: 8 0 8 0 X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 Service: hotels-api … X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 Service: weather-api … W E AT H E R - A P I : 8 0 8 2 H O T E L S - A P I : 8 0 8 1 R E S E R VAT I O N - A P I : 8 0 8 0 tracing:6831 tracing:16686 curl localhost:8080/v1/reservation?city=Paris X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1
  11. W E AT H E R - A P I

    L O C A L H O S T: 8 0 8 2 H O T E L S - A P I L O C A L H O S T: 8 0 8 1 T R A C E - D E M O L O C A L H O S T: 8 0 8 0 X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 Service: hotels-api … X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 Service: weather-api … X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 Service: reservation-api … W E AT H E R - A P I : 8 0 8 2 H O T E L S - A P I : 8 0 8 1 R E S E R VAT I O N - A P I : 8 0 8 0 tracing:6831 tracing:16686 curl localhost:8080/v1/reservation?city=Paris X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1
  12. W E AT H E R - A P I

    L O C A L H O S T: 8 0 8 2 H O T E L S - A P I L O C A L H O S T: 8 0 8 1 T R A C E - D E M O L O C A L H O S T: 8 0 8 0 X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 Service: hotels-api … X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 Service: weather-api … X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1 Service: reservation-api … W E AT H E R - A P I : 8 0 8 2 H O T E L S - A P I : 8 0 8 1 R E S E R VAT I O N - A P I : 8 0 8 0 tracing:6831 tracing:16686 curl localhost:8080/v1/reservation?city=Paris X-B3-TraceId: 1234… X-B3-ParentSpanId: 1234… X-B3-SpanId: 1234… X-B3-Sampled: 1
  13. T E S T I N P R O D

    U C T I O N ! ? • metrics • dashboards • event logging
  14. D I S T R I B U T E

    D T R A C I N G • event correlation • see how the code behaves IRL
  15. A S K Q U E S T I O

    N S • why is this function slower today than a week ago? • why do some of these request stand out from the others?
  16. W H Y O P E N C E N

    S U S • great community • easy to get started • vendor agnostic
  17. M O R E O N T H E W

    H AT • Dapper, a large scale distributed systems tracing infrastructure: https:// static.googleusercontent.com/media/research.google.com/en//archive/ papers/dapper-2010-1.pdf • https://opencensus.io & https://opentracing.io • Trace context - W3C working draft: https://www.w3.org/TR/trace-context/
  18. Q U E S T I O N S ?

    A L E X B O T E N @ C O D E B O T E N G I T H U B . C O M / C O D E B O T E N