SlideShare a Scribd company logo
ZIPKIN TRACING
APACHE CASSANDRA
The Last Pickle: Distributed Tracing from Application to Database
ABOUT THE LAST PICKLE
WORK WITH CLIENTS
TO DELIVER AND IMPROVE
APACHE CASSANDRA BASED SOLUTIONS
BASED IN
USA, NEW ZEALAND, AUSTRALIA
microservices - devOps - distributed tracing
zipkin
zipkin & cassandra
Apache Cassandra the data platform de jure
for the next evolution of software services
an enterprise moving ever towards
microservices and BASE architectures
the missing piece for many is tracing and profiling difficult to
reproduce problems
SCALING DATA
Apache Cassandra
data platform de jure
next evolution of software services
SCALING PEOPLE
an enterprise moving ever towards
microservices and BASE architectures
The Last Pickle: Distributed Tracing from Application to Database
The Last Pickle: Distributed Tracing from Application to Database
ARCHITECTURAL SAFETY
zero exceptions
spot problems first
stable master
no user left out
plug-n-play services
tracing and profiling difficult to reproduce problems
ZIPKIN
an implementation of Google's Dapper paper
SEARCH TRACES
ANALYSE ONE TRACE
REALTIME IN BROWSER
PLATFORM CALL GRAPH
CLIENT    |    SERVER
CS -->                        
                        --> SR
                        <-- SS
CR <--                        
The Last Pickle: Distributed Tracing from Application to Database
SIMPLE HTTP CALL
SIMPLE HTTP CALL
SIMPLE C* CALL
SIMPLE C* CALL
HTTP CALL PASSING THROUGH HEADERS
TRACING IN C*
The Last Pickle: Distributed Tracing from Application to Database
The Last Pickle: Distributed Tracing from Application to Database
CO-ORDINATOR NODE REPLICA NODE
-->
beginSession(..)
trace(..)
trace(..)
--> initialiseMessage(..)
trace(..)
trace(..)
<--
trace(..)
endSession(..)
<--
ZIPKIN IN C*
visualisation
detailed timings
hierarchy and asynchronisity
zero tracing overhead
The Last Pickle: Distributed Tracing from Application to Database
Two classes to override
then run enabling new tracing
public class ZipkinTracing extends Tracing
{..}
public class ZipkinTraceState extends TraceState
{..}
bin/cassandra -Dcassandra.custom_tracing_class=..ZipkinTracing
ZIPKIN ACROSS C*
ZIPKIN ACROSS C*
CO-ORDINATOR NODE REPLICA NODE
-->
beginSession(..)
trace(..)
trace(..)
(zipkin headers) --> initialiseMessage(..)
trace(..)
trace(..)
<--
trace(..)
endSession(..)
<--
ZIPKIN ACROSS C*
The Last Pickle: Distributed Tracing from Application to Database
ZIPKIN INTO C*
ZIPKIN INTO C*
The Last Pickle: Distributed Tracing from Application to Database
TO THE RESCUE
The Last Pickle: Distributed Tracing from Application to Database
HTTP CALL PASSING THROUGH HEADERS
C* CALL USING CUSTOM PAYLOAD
enable zipkin tracing the custom payload handlerand
bin/cassandra
-Dcassandra.custom_tracing_class=..ZipkinTracing
-Dcassandra.custom_query_handler_class=..CustomPayloadMirroringQueryHandler
the patch?
src/java/org/apache/cassandra/net/MessageOut.java | 7 +------
src/java/org/apache/cassandra/net/OutboundTcpConnection.java | 4 +++-
src/java/org/apache/cassandra/service/QueryState.java | 12 ++++++++++--
src/java/org/apache/cassandra/transport/messages/ExecuteMessage.java| 2 +-
4 file changed, 15 insertion(+), 10 deletion(-)
WHAT ELSE?
anti-entropy repair
compaction
THANKS
Zipkin     – https://github.com/openzipkin/zipkin
Brave (zipkin java instrumentation)
            – https://github.com/openzipkin/brave
C* patch for pluggable tracing
            – https://issues.apache.org/jira/browse/CASSANDRA-10392
Zipkin Cassandra implementation
            – https://github.com/thelastpickle/cassandra-zipkin-tracing
Google's Dapper paper
            – http://research.google.com/pubs/pub36356.html
C* custom payloads
            – https://issues.apache.org/jira/browse/CASSANDRA-8553
            – https://datastax.github.io/java-driver/2.2.0-rc2/features/custom_payloads/
The Last Pickle: Distributed Tracing from Application to Database

More Related Content

What's hot (20)

PDF
Cassandra Summit 2014: Apache Cassandra Best Practices at Ebay
DataStax Academy
 
PDF
Lambda at Weather Scale - Cassandra Summit 2015
Robbie Strickland
 
PDF
Macy's: Changing Engines in Mid-Flight
DataStax Academy
 
PDF
Workshop - How to benchmark your database
ScyllaDB
 
PPTX
C* Capacity Forecasting (Ajay Upadhyay, Jyoti Shandil, Arun Agrawal, Netflix)...
DataStax
 
PPTX
Introducing DataStax Enterprise 4.7
DataStax
 
PDF
Building Event Streaming Architectures on Scylla and Kafka
ScyllaDB
 
PDF
Data Pipelines with Spark & DataStax Enterprise
DataStax
 
PDF
Webinar: How to Shrink Your Datacenter Footprint by 50%
ScyllaDB
 
PPTX
mParticle's Journey to Scylla from Cassandra
ScyllaDB
 
PDF
Data Stores @ Netflix
Vinay Kumar Chella
 
PDF
The True Cost of NoSQL DBaaS Options
ScyllaDB
 
PDF
Building a Real-time Streaming ETL Framework Using ksqlDB and NoSQL
ScyllaDB
 
PDF
Proofpoint: Fraud Detection and Security on Social Media
DataStax Academy
 
PDF
Scylla Summit 2022: Operating at Monstrous Scales: Benchmarking Petabyte Work...
ScyllaDB
 
PDF
Migration Best Practices: From RDBMS to Cassandra without a Hitch
DataStax Academy
 
PDF
Case Study: Troubleshooting Cassandra performance issues as a developer
Carlos Alonso Pérez
 
PDF
Cassandra Summit 2014: Launching PlayStation 4 with Apache Cassandra
DataStax Academy
 
PPTX
Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...
DataStax
 
PDF
Cisco: Cassandra adoption on Cisco UCS & OpenStack
DataStax Academy
 
Cassandra Summit 2014: Apache Cassandra Best Practices at Ebay
DataStax Academy
 
Lambda at Weather Scale - Cassandra Summit 2015
Robbie Strickland
 
Macy's: Changing Engines in Mid-Flight
DataStax Academy
 
Workshop - How to benchmark your database
ScyllaDB
 
C* Capacity Forecasting (Ajay Upadhyay, Jyoti Shandil, Arun Agrawal, Netflix)...
DataStax
 
Introducing DataStax Enterprise 4.7
DataStax
 
Building Event Streaming Architectures on Scylla and Kafka
ScyllaDB
 
Data Pipelines with Spark & DataStax Enterprise
DataStax
 
Webinar: How to Shrink Your Datacenter Footprint by 50%
ScyllaDB
 
mParticle's Journey to Scylla from Cassandra
ScyllaDB
 
Data Stores @ Netflix
Vinay Kumar Chella
 
The True Cost of NoSQL DBaaS Options
ScyllaDB
 
Building a Real-time Streaming ETL Framework Using ksqlDB and NoSQL
ScyllaDB
 
Proofpoint: Fraud Detection and Security on Social Media
DataStax Academy
 
Scylla Summit 2022: Operating at Monstrous Scales: Benchmarking Petabyte Work...
ScyllaDB
 
Migration Best Practices: From RDBMS to Cassandra without a Hitch
DataStax Academy
 
Case Study: Troubleshooting Cassandra performance issues as a developer
Carlos Alonso Pérez
 
Cassandra Summit 2014: Launching PlayStation 4 with Apache Cassandra
DataStax Academy
 
Productizing a Cassandra-Based Solution (Brij Bhushan Ravat, Ericsson) | C* S...
DataStax
 
Cisco: Cassandra adoption on Cisco UCS & OpenStack
DataStax Academy
 

Viewers also liked (20)

PDF
Cassandra Summit 2014: A Train of Thoughts About Growing and Scalability — Bu...
DataStax Academy
 
PDF
Cassandra Summit 2014: META — An Efficient Distributed Data Hub with Batch an...
DataStax Academy
 
PDF
Cassandra Summit 2014: Cassandra in Large Scale Enterprise Grade xPatterns De...
DataStax Academy
 
PDF
Apache Cassandra at Narmal 2014
DataStax Academy
 
PDF
Cassandra Summit 2014: Social Media Security Company Nexgate Relies on Cassan...
DataStax Academy
 
PDF
Introduction to Dating Modeling for Cassandra
DataStax Academy
 
PPTX
Cassandra Summit 2014: Apache Cassandra at Telefonica CBS
DataStax Academy
 
PDF
Coursera's Adoption of Cassandra
DataStax Academy
 
PDF
Production Ready Cassandra (Beginner)
DataStax Academy
 
PDF
Cassandra Summit 2014: Monitor Everything!
DataStax Academy
 
PDF
Cassandra Summit 2014: The Cassandra Experience at Orange — Season 2
DataStax Academy
 
PDF
New features in 3.0
DataStax Academy
 
PDF
Introduction to .Net Driver
DataStax Academy
 
PPTX
Spark Cassandra Connector: Past, Present and Furure
DataStax Academy
 
PDF
Playlists at Spotify
DataStax Academy
 
PDF
Oracle to Cassandra Core Concepts Guide Pt. 2
DataStax Academy
 
PPTX
Lessons Learned with Cassandra and Spark at the US Patent and Trademark Office
DataStax Academy
 
PPTX
Using Event-Driven Architectures with Cassandra
DataStax Academy
 
PDF
Cassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and Spark
DataStax Academy
 
PDF
Signal Digital: The Skinny on Wide Rows
DataStax Academy
 
Cassandra Summit 2014: A Train of Thoughts About Growing and Scalability — Bu...
DataStax Academy
 
Cassandra Summit 2014: META — An Efficient Distributed Data Hub with Batch an...
DataStax Academy
 
Cassandra Summit 2014: Cassandra in Large Scale Enterprise Grade xPatterns De...
DataStax Academy
 
Apache Cassandra at Narmal 2014
DataStax Academy
 
Cassandra Summit 2014: Social Media Security Company Nexgate Relies on Cassan...
DataStax Academy
 
Introduction to Dating Modeling for Cassandra
DataStax Academy
 
Cassandra Summit 2014: Apache Cassandra at Telefonica CBS
DataStax Academy
 
Coursera's Adoption of Cassandra
DataStax Academy
 
Production Ready Cassandra (Beginner)
DataStax Academy
 
Cassandra Summit 2014: Monitor Everything!
DataStax Academy
 
Cassandra Summit 2014: The Cassandra Experience at Orange — Season 2
DataStax Academy
 
New features in 3.0
DataStax Academy
 
Introduction to .Net Driver
DataStax Academy
 
Spark Cassandra Connector: Past, Present and Furure
DataStax Academy
 
Playlists at Spotify
DataStax Academy
 
Oracle to Cassandra Core Concepts Guide Pt. 2
DataStax Academy
 
Lessons Learned with Cassandra and Spark at the US Patent and Trademark Office
DataStax Academy
 
Using Event-Driven Architectures with Cassandra
DataStax Academy
 
Cassandra Summit 2014: Interactive OLAP Queries using Apache Cassandra and Spark
DataStax Academy
 
Signal Digital: The Skinny on Wide Rows
DataStax Academy
 
Ad

Similar to The Last Pickle: Distributed Tracing from Application to Database (20)

PDF
Be a Cloud Native
InnoTech
 
PDF
Keynote: Jay Kreps, Confluent | Kafka ♥ Cloud | Kafka Summit 2020
confluent
 
PDF
Leveraging the Power of the Cloud for Your Business to Grow: Nate Taylor at S...
smecchk
 
PPTX
Database Modernization (Azure SQL Database)
Radu Vunvulea
 
PPTX
Distributed Data Quality - Technical Solutions for Organizational Scaling
Justin Cunningham
 
PDF
Solution Brief: Real-Time Pipeline Accelerator
BlueData, Inc.
 
PDF
Digital foundations - Fixing slow delivery of existing applications
Eric D. Schabell
 
PDF
Lambda-B-Gone: In-memory Case Study for Faster, Smarter and Simpler Answers
VoltDB
 
PDF
DevOps Toolbox: Infrastructure as code
sriram_rajan
 
PDF
Incrementalism: An Industrial Strategy For Adopting Modern Automation
Sean Chittenden
 
ODP
Why Sun for Drupal?
smattoon
 
PDF
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Christina Lin
 
PDF
Lambda architecture
Szilveszter Molnár
 
PDF
PLNOG 8: Kazimierz Jantas - Innowacyjne rozwiązania dla IT
PROIDEA
 
PDF
WJAX 2019 - Taking Distributed Tracing to the next level
Frank Pfleger
 
PDF
Forward Networks - Networking Field Day 13 presentation
Forward Networks
 
PDF
DevOps Days Tel Aviv - Serverless Architecture
Antons Kranga
 
PDF
The Next Generation IT Department MUST HAVE CLOUD
Rackspace
 
PDF
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Christina Lin
 
PDF
Scaling up Near Real-time Analytics @Uber &LinkedIn
C4Media
 
Be a Cloud Native
InnoTech
 
Keynote: Jay Kreps, Confluent | Kafka ♥ Cloud | Kafka Summit 2020
confluent
 
Leveraging the Power of the Cloud for Your Business to Grow: Nate Taylor at S...
smecchk
 
Database Modernization (Azure SQL Database)
Radu Vunvulea
 
Distributed Data Quality - Technical Solutions for Organizational Scaling
Justin Cunningham
 
Solution Brief: Real-Time Pipeline Accelerator
BlueData, Inc.
 
Digital foundations - Fixing slow delivery of existing applications
Eric D. Schabell
 
Lambda-B-Gone: In-memory Case Study for Faster, Smarter and Simpler Answers
VoltDB
 
DevOps Toolbox: Infrastructure as code
sriram_rajan
 
Incrementalism: An Industrial Strategy For Adopting Modern Automation
Sean Chittenden
 
Why Sun for Drupal?
smattoon
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Christina Lin
 
Lambda architecture
Szilveszter Molnár
 
PLNOG 8: Kazimierz Jantas - Innowacyjne rozwiązania dla IT
PROIDEA
 
WJAX 2019 - Taking Distributed Tracing to the next level
Frank Pfleger
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks
 
DevOps Days Tel Aviv - Serverless Architecture
Antons Kranga
 
The Next Generation IT Department MUST HAVE CLOUD
Rackspace
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Christina Lin
 
Scaling up Near Real-time Analytics @Uber &LinkedIn
C4Media
 
Ad

More from DataStax Academy (20)

PDF
Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
DataStax Academy
 
PPTX
Introduction to DataStax Enterprise Graph Database
DataStax Academy
 
PPTX
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
DataStax Academy
 
PPTX
Cassandra on Docker @ Walmart Labs
DataStax Academy
 
PDF
Cassandra 3.0 Data Modeling
DataStax Academy
 
PPTX
Cassandra Adoption on Cisco UCS & Open stack
DataStax Academy
 
PDF
Data Modeling for Apache Cassandra
DataStax Academy
 
PDF
Coursera Cassandra Driver
DataStax Academy
 
PDF
Production Ready Cassandra
DataStax Academy
 
PDF
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
DataStax Academy
 
PPTX
Cassandra @ Sony: The good, the bad, and the ugly part 1
DataStax Academy
 
PPTX
Cassandra @ Sony: The good, the bad, and the ugly part 2
DataStax Academy
 
PDF
Standing Up Your First Cluster
DataStax Academy
 
PDF
Real Time Analytics with Dse
DataStax Academy
 
PDF
Introduction to Data Modeling with Apache Cassandra
DataStax Academy
 
PDF
Cassandra Core Concepts
DataStax Academy
 
PPTX
Enabling Search in your Cassandra Application with DataStax Enterprise
DataStax Academy
 
PPTX
Bad Habits Die Hard
DataStax Academy
 
PDF
Advanced Data Modeling with Apache Cassandra
DataStax Academy
 
PDF
Advanced Cassandra
DataStax Academy
 
Forrester CXNYC 2017 - Delivering great real-time cx is a true craft
DataStax Academy
 
Introduction to DataStax Enterprise Graph Database
DataStax Academy
 
Introduction to DataStax Enterprise Advanced Replication with Apache Cassandra
DataStax Academy
 
Cassandra on Docker @ Walmart Labs
DataStax Academy
 
Cassandra 3.0 Data Modeling
DataStax Academy
 
Cassandra Adoption on Cisco UCS & Open stack
DataStax Academy
 
Data Modeling for Apache Cassandra
DataStax Academy
 
Coursera Cassandra Driver
DataStax Academy
 
Production Ready Cassandra
DataStax Academy
 
Cassandra @ Netflix: Monitoring C* at Scale, Gossip and Tickler & Python
DataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 1
DataStax Academy
 
Cassandra @ Sony: The good, the bad, and the ugly part 2
DataStax Academy
 
Standing Up Your First Cluster
DataStax Academy
 
Real Time Analytics with Dse
DataStax Academy
 
Introduction to Data Modeling with Apache Cassandra
DataStax Academy
 
Cassandra Core Concepts
DataStax Academy
 
Enabling Search in your Cassandra Application with DataStax Enterprise
DataStax Academy
 
Bad Habits Die Hard
DataStax Academy
 
Advanced Data Modeling with Apache Cassandra
DataStax Academy
 
Advanced Cassandra
DataStax Academy
 

Recently uploaded (20)

PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
Designing Production-Ready AI Agents
Kunal Rai
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
July Patch Tuesday
Ivanti
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Designing Production-Ready AI Agents
Kunal Rai
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
July Patch Tuesday
Ivanti
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Biography of Daniel Podor.pdf
Daniel Podor
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 

The Last Pickle: Distributed Tracing from Application to Database