Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Distributed Request Tracing
Search
Kenny Hoxworth
April 23, 2014
Programming
1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Distributed Request Tracing
Overview of tracing in a distributed system from a Ruby / Rails perspective
Kenny Hoxworth
April 23, 2014
Other Decks in Programming
See All in Programming
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
680
Java × distroless で 軽量なコンテナイメージを / Java on Distroless
contour_gara
0
540
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.6k
技術記事、 専門家としてのプログラマ、 言語化
mizchi
13
6k
Oxlintのカスタムルールの現況
syumai
6
1.1k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
330
AI時代の仕事技芸論 — ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ
kuranuki
2
680
Make SRE Operations Easier with Azure SRE Agent
kkamegawa
0
6.2k
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
200
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
2k
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
180
さぁV100、メモリをお食べ・・・
nilpe
0
140
Featured
See All Featured
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Build your cross-platform service in a week with App Engine
jlugia
234
18k
It's Worth the Effort
3n
188
29k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
Optimising Largest Contentful Paint
csswizardry
37
3.7k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
A Tale of Four Properties
chriscoyier
163
24k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
210
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
590
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
Transcript
DISTRIBUTED REQUEST TRACING
Kenny Hoxworth
Request Profiler Request Lifecycle (40ms) WebService (25ms) AuthService (15ms) DB
(3ms) Worker (13ms)
SMS Trace
SMS Trace
SMS Trace
Performance 500 ms
Bad Nodes
Cats as a service
Catspammer API web
Catspammer API AUTH PurrMQ Social Media Workers web
Catspammer API AUTH PurrMQ Social Media Workers web
Tracing done Right
Low Overhead Goal 1.
Scalable Goal 2.
Transparent Instrumentation Goal 3.
X-Trace, Magpie, Pinpoint
Request Lifecycle (40ms) WebService (25ms) AuthService (15ms) DB (3ms) Worker
(13ms) trace id
Request Lifecycle (40ms) WebService (25ms) AuthService (15ms) DB (3ms) Worker
(13ms) span id
Dapper
Dapper Architecture Instrumented Services Dapper Collectors Dapper UI
Zipkin
Zipkin Pluggable Datastore Scribe Collector Highly configurable
None
Zipkin Example
System Setup Zipkin
System Setup Zipkin $> git clone https://github.com/twitter/zipkin.git $> ./zipkin/bin/collector &
$> ./zipkin/bin/query & $> ./zipkin/bin/web &
Scribe Ruby Setup finagle-thrift zipkin-tracer
gemfile.rb gem 'scribe' gem 'finagle-thrift' gem 'zipkin-tracer', :git => ‘
[email protected]
:mszenher/zipkin-
tracer.git', :require => 'zipkin-tracer', :tag => 'v0.4.0'
config/initializers/zipkin.rb config = Rails.application.config ! zipkin_tracer_config = { service_name: 'catspammer',
service_port: 9410, sample_rate: 1, scribe_server: '127.0.0.1:9410' } ! config.middleware.use ZipkinTracer::RackHandler, zipkin_tracer_config
ActiveRecord? Redis? Trace.record(Trace::Annotation.new(Trace::Annotation::CLIENT_SEND, Trace.default_endpoint)) Trace.record(Trace::Annotation.new(Trace::Annotation::CLIENT_RECV, Trace.default_endpoint)) Cat.where(:fur => “orange”)
Demo
Questions?
catspammer.com
Thanks! @hoxworth :: http://github.com/hoxworth