2 people in front of a notebook with 3 charts on the screen, only their arms visible, one points at the screen

1 day on-site or remote

You can't fix what you can't see: telemetry for Rust APIs

Luca Palmieri

Luca Palmieri

Principal Engineering Consultant

Luca Palmieri builds technology products for a living. His current focus is on backend development, software architecture and the Rust programming language. He is the author of "Zero to Production in Rust".

anchorWorkshop overview

  1. 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).

  2. 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?) and relevant libraries for error handling (anyhow/thiserror).

  3. 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.

  4. Metrics, both for application and runtime (tokio-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. We will spend some time on tokio-metrics and how to interpret the data it shows with respect to your tokio runtime usage.

Three smiling team members looking at a laptop

Book this workshop

Our mentors look forward to working with your team and unlocking new capabilities.
Get in touch