ExpertiDict

Rust · Intermediário · Inglês · Técnico

tracing

/ˈtreɪsɪŋ/substantivo

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

Veja também

Todos os termos de Rust