One of the main challenges brought by distributed systems is observability. Besides monitoring and logging, distributed tracing is emerging as a new tool for showing what is going on under the hood.
In our talk we introduce the concept of tracing, what a trace consists of and how it is collected, as well as the different tools and formats of traces. We also show how traces can be generated and delivered from functions in Golang and how header propagation can be used to complete traces in more complex setups.