THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411...

46
THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING AND ZIPKIN

Transcript of THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411...

Page 1: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING AND ZIPKIN

Page 2: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.
Page 3: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

50+ years combined Cassandra experience.

ABOUT THE LAST PICKLE

We help people deliver and improve Apache Cassandra based solutions

BASED IN USA, NEW ZEALAND, AUSTRALIA, FRANCE, SWEDEN

Page 4: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

Distributed Tracing

Zipkin 2

Zipkin & Cassandra

Page 5: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

SCALING DATA & PEOPLE

MicroServices, BASE, and lambda architectures

Page 6: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.
Page 7: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.
Page 8: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

the missing piece for many is tracing and pro ling dif cult toreproduce problems

ZIPKINan implementation of Google's Dapper paper

Page 9: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

open   http://localhost:9411/

ZIPKIN INSTALL

git clone [email protected]:openzipkin/zipkin.git mvn install -DskipTests java -jar ./zipkin-server/target/zipkin-server-*exec.jar

( or `docker run -d -p 9411:9411 openzipkin/zipkin` )

Page 10: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

SEARCH TRACES

Page 11: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

SEARCH TRACES

Page 12: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.
Page 13: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.
Page 14: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

ANALYZE ONE TRACE

Page 15: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

REALTIME IN BROWSER

Page 16: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

PLATFORM CALL GRAPH

Page 17: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

CLIENT        |        SERVER

CS -->                                                         --> SR

                            <-- SS CR <--                            

Page 18: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

SIMPLE HTTP CALL

[ Brave – https://github.com/openzipkin/brave ]

Page 19: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

SIMPLE HTTP CALL

Page 20: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

CONTINUING A TRACE… (IN-PROCESS)

Page 21: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

HTTP CALL PASSING THROUGH HEADERS

Page 22: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

CONTINUING THE TRACE… (X-PROCESS)

Page 23: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

ONE WAY TRACING

Page 24: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

CUSTOM TAGS

Page 25: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

TRACING IN C*

Page 26: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

TRACING IN C*

Page 27: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.
Page 28: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

TRACING IN C*

Page 29: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

ZIPKIN IN C*

visualizationdetailed timingshierarchy andasynchronisityzero tracing overhead

Page 30: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

Cassandra-3.11.0

Page 31: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

then run, enabling zipkin tracing

DOWNLOAD CASSANDRA-ZIPKIN-TRACING

git clone [email protected]:openzipkin/brave-cassandra.git

mvn install

cp cassandra/target/brave-instrumentation-cassandra-*-all.jar \ $CASSANDRA_HOME/lib/

JVM_OPTS="-Dcassandra.custom_tracing_class=brave.cassandra.Tracing" cassandra

Page 32: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.
Page 33: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

ZIPKIN ACROSS C*

Page 34: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

ZIPKIN ACROSS C*

Page 35: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.
Page 36: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

ZIPKIN INTO C*

Page 37: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

ZIPKIN INTO C*

Page 38: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

HTTP CALL PASSING THROUGH HEADERS

Page 39: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

C* CALL USING CUSTOM PAYLOAD

Page 40: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

C* CALL USING CUSTOM PAYLOAD

Page 41: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

enable zipkin tracing the custom payload handler and

bin/cassandra -Dcassandra.custom_tracing_class=..ZipkinTracing -Dcassandra.custom_query_handler_class=..CustomPayloadMirroringQueryHandler

Page 42: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

ZIPKIN SELF TRACING

Page 43: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

ANALYZE ONE TRACE

Page 44: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

THANKS

Page 45: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

Zipkin     –

Brave (zipkin java instrumentation)    – Zipkin/Brave Cassandra library             –

This presentation             –

github.com/openzipkin/zipkin

openzipkin-bravebrave-cassandra

github.com/thelastpickle/cassandra-zipkin-tracing

Page 46: THE NETWORK, THE KINGMAKER DISTRIBUTED TRACING A ND … · ( or `docker run -d -p 9411:9411 openzipkin/zipkin` ) SEARCH TRACES. SEARCH TRACES. ANALYZE ONE TRACE. REALTIME IN BROWSER.

THE LAST PICKLES