Workshop: 1 day
You can't fix what you can't see: telemetry for Rust APIs
Workshop description
Your Rust application has finally been deployed to production! Nice! But is it working? This workshop will introduce you to a comprehensive toolkit to detect, troubleshoot and resolve issues in your Rust APIs.
This workshop is designed for developers who are operating Rust services in production-like environments, or are preparing to do so.
Structured logging (tracing)
An introduction to the tracing
instrumentation library, covering both how to instrument your code (capturing fields, log levels, macros) and how to process the resulting telemetry data in your application (subscriber configuration, logging levels, log filtering).
Error handling
We will cover Rust’s Error
trait, with a focus on the information that can be retrieved and recorded in your logs; we will also spend some time on logging patterns (e.g. when should an error be logged?).
Panic handling
You should always manage to capture details about what went wrong, even if it’s due to an uncaught panic rather than an error. We will review panic hooks and integrate them in our tracing
setup.
Metrics
Structured logs are important, but they don’t tell the full story. We will look at how to capture metric data using the metrics
library, as a tool for designing alarms as well troubleshooting faulty behaviour.