The Network, The Kingmaker
Distributed Tracing and Zipkin

About The Last Pickle

We help people deliver and improve
Apache Cassandra based solutions

Based in
USA, New Zealand, Australia, France, Spain, Sweden

50+ years combined Cassandra experience.

Distributed Tracing

Zipkin 2

Zipkin & Cassandra

Scaling Data & People

MicroServices, BASE, and lambda architectures

the missing piece for many is tracing and profiling difficult to reproduce problems


an implementation of Google's Dapper paper

Zipkin Install

git clone
mvn install -DskipTests
java -jar ./zipkin-server/target/zipkin-server-*exec.jar

open   http://localhost:9411/

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

search traces

search traces

analyze one trace

real-time* in browser

platform call graph

client        |        server

CS -->                            
                            --> SR

                            <-- SS
CR <--                            

simple http call

[ Brave – ]

simple http call

continuing a trace… (in-process)

http call passing through headers

continuing the trace… (x-process)

one way tracing

custom tags

Tracing in C*

Tracing in C*

Tracing in C*

Zipkin in C*

  • visualization
  • detailed timings
  • hierarchy and asynchronisity
  • zero tracing overhead



Download Brave-Cassandra Tracing

 git clone

 mvn install

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

then run, enabling zipkin tracing
JVM_OPTS="-Dcassandra.custom_tracing_class=brave.cassandra.Tracing"   cassandra

Zipkin across C*

Zipkin across C*

Zipkin into C*

Zipkin into C*

http call passing through headers

c* call using custom payload

c* call using custom payload

enable zipkin tracing and the custom payload handler


Zipkin Self Tracing

analyze one trace


The Last Pickles