Slide 1

Slide 1 text

Microservice Tracing Manatsawin Hanmongkolchai https://speakerdeck.com/whs Barcamp Bangkhen 9

Slide 2

Slide 2 text

Background Wongnai Architecture, 2018

Slide 3

Slide 3 text

Background Unhelpful error

Slide 4

Slide 4 text

First attempt: Sentry ● It works! ● But sometimes can be unhelpful

Slide 5

Slide 5 text

Tracing See end-to-end flow of your request

Slide 6

Slide 6 text

Tracing

Slide 7

Slide 7 text

Tracing

Slide 8

Slide 8 text

Tracing implementation Open source Commercial

Slide 9

Slide 9 text

Tracing implementation Open source Commercial

Slide 10

Slide 10 text

Jaeger ● Open source tracer by Uber ● Hosted by CNCF ○ Home of Kubernetes, Prometheus, etc. ● Developed by replacing Zipkin piece by piece ○ So mostly compatible with Zipkin

Slide 11

Slide 11 text

Implementing Tracing ● OpenTracing ○ Provide tracing API for supported languages ● OpenCensus ○ Also provide instrumentation ○ Works in Go, Java, C#, C++, Node.js, Ruby, Python, PHP, Erlang

Slide 12

Slide 12 text

Implementing OpenCensus Demo

Slide 13

Slide 13 text

Tracing in small scale ● Track your response time ● Profile your application ○ Database access ○ Outgoing API calls ○ Templating

Slide 14

Slide 14 text

Slides available at https://speakerdeck.com/whs