Rust · Intermediário · Inglês · Técnico
tracing
Crate de instrumentação para logs estruturados e spans, que registra eventos com campos e o contexto de execução. É a base de observabilidade no ecossistema async.
Onde usar
Aparece em serviços com tokio. As macros info! e warn! e o atributo #[instrument] geram eventos, e um subscriber decide onde mostrá-los.
Em código
use tracing::{info, instrument};
#[instrument]
fn processa(id: u32) {
info!(id, "processando");
}
processa(7);
// tracing_subscriber::fmt::init();Exemplos
Add a tracing span around the request.
Adicione um span do tracing em volta da requisição.
We export tracing events to the collector.
Exportamos os eventos do tracing para o coletor.
Cuidado
Não é só um log com outro nome: os spans acompanham tarefas async mesmo quando elas trocam de thread.
Sinônimos
logs estruturados