This section covers observability and debugging specifications for Aranya.
The Aranya observability system targets remote debugging of deployed systems rather than real-time monitoring. It focuses on diagnosing production issues when direct access is limited.
Add logging to daemon code:
info!(
duration_ms = start.elapsed().as_millis(),
cmd_count,
effects_count,
"Sync completed successfully"
);
Configure daemon log level:
# daemon.toml
log_filter = "info,aranya_daemon::sync=debug"
Initialize logging in your application:
use tracing_subscriber::{prelude::*, EnvFilter};
fn main() {
tracing_subscriber::registry()
.with(
tracing_subscriber::fmt::layer()
.with_filter(EnvFilter::from_env("MY_APP_LOG")),
)
.init();
// Client library logs are now captured
let client = aranya_client::Client::connect(...).await?;
}
Enable AFC debugging:
APP_LOG=aranya_client::afc=debug ./application
Principles:
When adding observability features: