distributed tracing in 5 minutes

Post on 02-Dec-2014

2.285 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

lightning talk from surge 2012

TRANSCRIPT

distributed tracing

twitter zipkingoogle dapper

x-tracetracelytics... more!

motivation

what is slow?

what is slow?

causal flow of control

causal flow of control

how to

possible approaches

possible approaches•Unique identifier

possible approaches•Unique identifier•propagate throughout

possible approaches•Unique identifier•propagate throughout•write instrumentation for various

transports

possible approaches•Unique identifier•propagate throughout•write instrumentation for various

transports

possible approaches•Unique identifier•propagate throughout•write instrumentation for various

transports

•Observe and correlate

possible approaches•Unique identifier•propagate throughout•write instrumentation for various

transports

•Observe and correlate•always on the outside - black box

possible approaches•Unique identifier•propagate throughout•write instrumentation for various

transports

•Observe and correlate•always on the outside - black box•difficult to get threaded + evented

processes right

1BD57B58AE7E315BBEAB6795F0BDC198296357

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

nginx

pythoncache

db internet

the java

t = start

t = end

piggyback rides•More Doable•HTTP: x-headers• Thrift: secret argument• Internal RPC protocol: you’re the

boss

• Less Doable• SQL: one way ticket, also you’re

not percona•memcache: not extensible so not

backwards compatible

nginx

pythoncache

db internet

the java

t = start

t = end

timing and structure• Timing• distributed = clock skew

• Structure -- two approaches• Encode in ID• Encode in back-pointers

encode in ID?• nginx1• nginx1python1• nginx1python1cache1• nginx1python1cache1python2• nginx1python1cache1python2sql

1• nginx1python1cache1python2sql

1python3• ...

encode in back-pointer?

nginx python cache python

reporting

reporting

other things worth figuring out

• sampling

• reporting

• aggregate analysis

thanks!

tracelytics.com@dankosaurdan@tracelytics.com

top related