Observability

Duende integrates with the PAIML observability stack.

Metrics

RED method metrics are collected automatically:

  • Rate: Requests per second
  • Errors: Error rate
  • Duration: Request latency
#![allow(unused)]
fn main() {
fn metrics(&self) -> &DaemonMetrics {
    &self.metrics
}
}

Tracing

Integration with renacer for syscall tracing:

#![allow(unused)]
fn main() {
let tracer_handle = adapter.attach_tracer(&daemon_handle).await?;
}

Logging

Structured logging with tracing:

#![allow(unused)]
fn main() {
use tracing::{info, warn, error};

info!(pid = %process.id(), "Daemon started");
warn!(queue_depth = %depth, "Queue backlog detected");
error!(error = %e, "Failed to process request");
}