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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kenny Hoxworth
April 23, 2014
Programming
2
1k
Distributed Request Tracing
Overview of tracing in a distributed system from a Ruby / Rails perspective
Kenny Hoxworth
April 23, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
Oxlint JS plugins
kazupon
1
760
0→1 フロントエンド開発 Tips🚀 #レバテックMeetup
bengo4com
0
540
インターン生でもAuth0で認証基盤刷新が出来るのか
taku271
0
190
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.5k
CSC307 Lecture 05
javiergs
PRO
0
500
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
400
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
420
「ブロックテーマでは再現できない」は本当か?
inc2734
0
590
AIと一緒にレガシーに向き合ってみた
nyafunta9858
0
170
今から始めるClaude Code超入門
448jp
7
8.5k
SourceGeneratorのススメ
htkym
0
190
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
730
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
300
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
1.9k
Six Lessons from altMBA
skipperchong
29
4.1k
Designing for Timeless Needs
cassininazir
0
130
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
49
4 Signs Your Business is Dying
shpigford
187
22k
sira's awesome portfolio website redesign presentation
elsirapls
0
140
Code Review Best Practice
trishagee
74
20k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
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