| 11
What Go “built in” “Modern” needs Example
Debugging
Profiling/Tracing
runtime/pprof
runtime/trace
Logging log
Metrics expvar
Slide 12
Slide 12 text
| 12
What Go “built in” “Modern” needs Example
Debugging Almost useless… You’ll find one if you
really need it.
Profiling/Tracing
runtime/pprof
runtime/trace
Distributed
tracing
opentracing/
opentracing-go
Logging log
Structured
logging
go-kit/log
Metrics expvar
Labeled
metrics
prometheus/
client_golang
Slide 13
Slide 13 text
| 13
What Go “built in” “Modern” needs Example
Debugging Almost useless… You’ll find one if you
really need it.
Profiling/Tracing
runtime/pprof
runtime/trace
Distributed
tracing
opentracing/
opentracing-go
Logging log
Structured
logging
go-kit/log
Metrics expvar
Labeled
metrics
prometheus/
client_golang
| 16
Unified instrumentation for
metrics, logging, and
distributed tracing
Slide 17
Slide 17 text
| 17
https://xkcd.com/927/
One way of doing it
Slide 18
Slide 18 text
| 18
Go!!!
Python
Java
Javascript
C#
PHP
C/C++
…
For ALL the languages
Slide 19
Slide 19 text
A rich and universal data model
| 19
Metrics are labeled.
Logs are structured.
OpenTracing.
Slide 20
Slide 20 text
For ALL data collection models
| 20
Push vs pull.
On prem vs. cloud.
Distributed vs. replicated.
Location of sampling, aggregation, buffering.
Exposition formats.
Transport protocols.