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
Critical Path Analysis
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
JBD
February 06, 2019
700
0
Share
Critical Path Analysis
JBD
February 06, 2019
More Decks by JBD
See All by JBD
eBPF in Microservices Observability at eBPF Day
rakyll
1
2.2k
eBPF in Microservices Observability
rakyll
1
1.8k
OpenTelemetry at AWS
rakyll
1
1.9k
Debugging Code Generation in Go
rakyll
5
1.6k
Are you ready for production?
rakyll
8
2.9k
Servers are doomed to fail
rakyll
3
1.6k
Serverless Containers
rakyll
1
290
Monitoring and Debugging Containers
rakyll
2
1.1k
CPDD
rakyll
0
4.3k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.6k
We Have a Design System, Now What?
morganepeng
55
8.1k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
120
Context Engineering - Making Every Token Count
addyosmani
9
860
Designing Powerful Visuals for Engaging Learning
tmiket
1
360
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
500
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
160
sira's awesome portfolio website redesign presentation
elsirapls
0
230
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
210
Exploring anti-patterns in Rails
aemeredith
3
350
Done Done
chrislema
186
16k
Transcript
@rakyll
@rakyll
@rakyll We use facilities that are not reserved for our
flight but are essential in making it happen.
@rakyll We use facilities that are not reserved for our
flight but are essential in making it happen.
@rakyll
@rakyll Systems? who understands them?
@rakyll Jaana B. Dogan
[email protected]
@rakyll
@rakyll Growing...
@rakyll Tech stack gets fragmented, monoliths are gone...
@rakyll one becomes many failure in isolation escalation in failure?
@rakyll and it may get larger...
@rakyll good guy jeff
@rakyll
@rakyll
@rakyll code search
@rakyll go_library( name = "logs", srcs = ["logs.go"], visibility =
["//visibility:public"], deps = [ …. ], ) References (641 occurrences) - //source/ads/monitoring/BUILD - //source/ads/analysis/BUILD - //source/ads/mobile/BUILD ...
@rakyll frontend server authentication users images memcache blobservice memcache memcache
(metadata) (disks) load balancer
@rakyll frontend server authentication users images memcache blobservice memcache memcache
(metadata) (disks) load balancer critical path
@rakyll frontend server authentication users images memcache blobservice memcache memcache
(metadata) (disks) load balancer critical path
@rakyll frontend server authentication users images memcache blobservice memcache memcache
(metadata) (disks) load balancer critical path
@rakyll CPA (critical path analysis)
@rakyll discover the critical paths make them reliable and fast
make them debuggable
@rakyll How do we get there? (tracing, events, logs)
@rakyll Why? Why? Why? Why? Why?
@rakyll GET /timeline edge-lb sched api-server auth.Auth cache.Get mysql.Query user.Profile
cache.Get mysql.Query images.Filter blobstore.Get
@rakyll bare metal kernel network stack cloud stack libraries frameworks
your code
@rakyll GET /timeline edge-lb sched api-server auth.Auth cache.Get mysql.Query user.Profile
cache.Get mysql.Query images.Filter blobstore.Get not my fault
@rakyll GET /timeline auth.Auth cache.Get mysql.Query user.Profile cache.Get mysql.Query images.Filter
blobstore.Get cache.Get mysql.Query blob.Get where is the source code?
@rakyll GET /timeline auth.Auth cache.Get mysql.Query user.Profile cache.Get mysql.Query images.Filter
blobstore.Get cache.Get mysql.Query blob.Get who to call?
@rakyll GET /timeline auth.Auth cache.Get mysql.Query user.Profile cache.Get mysql.Query images.Filter
blobstore.Get cache.Get mysql.Query blob.Get give me the logs, runtime events, profiles...
@rakyll Challenges...
@rakyll This is an organizational problem. CHALLENGE #1:
@rakyll Engineers don’t know where to start. CHALLENGE #2:
@rakyll Infra is still a blackbox. CHALLENGE #3:
@rakyll Instrumentation is expensive. CHALLENGE #4:
@rakyll Dynamic capabilities are underestimated. CHALLENGE #5:
@rakyll
@rakyll A tool to close knowledge gaps (which we don’t
talk about)
@rakyll Fin
[email protected]