Skip to main content

doido_core/
trace.rs

1/// Emit a structured event for an HTTP request.
2///
3/// `doido-controller`'s `logging::log_requests` middleware emits richer,
4/// header-aware request/response events directly; this stays as a lightweight
5/// helper for code that just wants a one-line structured request event.
6pub fn request(method: &str, path: &str, status: u16, latency_ms: u64) {
7    tracing::info!(
8        method = method,
9        path = path,
10        status = status,
11        latency_ms = latency_ms,
12        "request"
13    );
14}
15
16/// Emit a structured event for a background job execution
17pub fn job(job_name: &str, queue: &str, attempt: u32, result: &str) {
18    tracing::info!(
19        job_name = job_name,
20        queue = queue,
21        attempt = attempt,
22        result = result,
23        "job"
24    );
25}
26
27/// Emit a structured event for a database query
28pub fn query(sql: &str, duration_ms: u64) {
29    tracing::info!(sql = sql, duration_ms = duration_ms, "query");
30}
31
32/// Emit a structured event for email delivery
33pub fn mail(to: &str, subject: &str, deliverer: &str) {
34    tracing::info!(to = to, subject = subject, deliverer = deliverer, "mail");
35}