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
Observability_at_Google_--_OSCON.pdf
Search
JBD
July 23, 2018
Programming
1
190
Observability_at_Google_--_OSCON.pdf
JBD
July 23, 2018
Tweet
Share
More Decks by JBD
See All by JBD
eBPF in Microservices Observability at eBPF Day
rakyll
1
2k
eBPF in Microservices Observability
rakyll
1
1.6k
OpenTelemetry at AWS
rakyll
1
1.8k
Debugging Code Generation in Go
rakyll
5
1.4k
Are you ready for production?
rakyll
8
2.5k
Servers are doomed to fail
rakyll
3
1.4k
Serverless Containers
rakyll
1
220
Critical Path Analysis
rakyll
0
400
Monitoring and Debugging Containers
rakyll
2
1.1k
Other Decks in Programming
See All in Programming
try!Swift Tokyo 2024 参加報告 LT
akidon0000
1
190
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
180
Folding Cheat Sheet #3
philipschwarz
PRO
0
120
SwiftUI Performance 不要なViewの再描画と更新を抑える
bigamitiongit
1
160
puregoの活用例
aethiopicuschan
0
220
[SF Ruby, March 2024] Rails on Wasm
palkan
0
380
Elm Form Validation
bkuhlmann
0
510
1인 개발자로 행복하게 살기 - GDG 송도 헬로월드 2024
benjaminkim
1
5.6k
PostmanでAPIの動作確認が楽になった話
h455h1
0
140
エンターテイメント業界で利用されるAWS
demuyan
0
200
educure_カリキュラム生操作マニュアル.pdf
linew_official
0
500
ONE WEDGE_company_guide
1wedge_one
0
390
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
354
18k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
Building a Modern Day E-commerce SEO Strategy
aleyda
16
6.4k
[RailsConf 2023] Rails as a piece of cake
palkan
22
3.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
23
2k
Making the Leap to Tech Lead
cromwellryan
123
8.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
18
1.7k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Infographics Made Easy
chrislema
237
18k
The Art of Programming - Codeland 2020
erikaheidi
41
12k
What's new in Ruby 2.0
geeforr
337
31k
Transcript
Observability at Google JBD, Google (@rakyll)
@rakyll History Long history of distributed systems 10ks of different
services built by 100s of teams Many backends/analysis tools invented here ™
@rakyll
@rakyll 100% availability (is a lie)
“ @rakyll A service is available if users cannot tell
there is an outage.
“ @rakyll Google Load Balancers are available if users cannot
tell there is an outage.
@rakyll Principled way of saying what level of downtime is
acceptable. • Error rate • Latency expectations SLOs
@rakyll An observable system tells more than its availability.
@rakyll Context, status, expectations, debuggability
@rakyll How? Observe by collecting signals Export them to analysis
tools Correlate and analyze to find root cause
@rakyll
@rakyll
@rakyll
@rakyll
@rakyll This is hard Must have integrations for web, RPC,
and storage clients Must support all languages Must be context aware (e.g. canary vs prod) Must support many analysis tools Developers need to add custom instrumentation
@rakyll This is too hard!
@rakyll Borg Stubby Census
opencensus.io
@rakyll
@rakyll
@rakyll
@rakyll
@rakyll Z-Pages • Allows processes report their own dashboards. •
Z-Pages have no sampling.
@rakyll Try! import “go.opencensus.io/plugin/ocgrpc” s := grpc.NewServer(grpc.StatsHandler(&ocgrpc.ServerHandler{})) if err :=
s.Serve(lis); err != nil { log.Fatalf("Failed to serve: %v", err) }
@rakyll import ( “go.opencensus.io/stats/view” “go.opencensus.io/trace” “contrib.go.opencensus.io/exporter/stackdriver” ) exporter, err :=
stackdriver.NewExporter(stackdriver.Options{ … }) if err != nil { log.Fatal(err) } view.RegisterExporter(exporter) trace.RegisterExporter(exporter)
@rakyll
@rakyll
@rakyll Roadmap Stable libraries in 8+ languages Exporter daemon Cluster-wide
Z-Pages Smart sampling Exemplars Framework, database, MQ integrations
opencensus.io
Thank you! opencensus.io JBD, Google
[email protected]
@rakyll