Rust Tracing Practices
SkillMonitoring & opsHASH tracing and instrumentation practices for Rust. Use when adding spans, events, or #[tracing::instrument] to Rust code.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Rust Tracing Practices skill
What this skill tells your AI
The instructions your AI receives, as published by hashintel/hash in .agents/skills/rust-tracing-practices/SKILL.md and read by ahel’s review.
Event Recording
- Use level-specific macros for appropriate visibility:
info!,debug!,trace!,warn!,error! - Provide structured data as named arguments to facilitate automated processing and filtering
- Format log messages consistently, beginning with verbs in present tense
- Include relevant context through key-value pairs:
tracing::info!(user_id = user.id, action = "login", "User logged in successfully");
tracing::error!(error = %e, user_id = user.id, "Failed to authenticate user");
Instrumentation
- Apply the
#[tracing::instrument]attribute to functions to automatically create trace spans - Include the
errparameter to capture error returns in the span - Exclude sensitive or large parameters using
skip(password)orskip_all - Add custom context fields with
fields(request_id = req.id())
#[tracing::instrument(level = "debug", err, skip(password), fields(user_id = user.id))]
async fn authenticate_user(user: &User, password: &[u8]) -> Result<AuthToken, AuthError> {
// Implementation
}
Signals
- GitHub stars
- 2k
- Forks
- 122
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
rust-tracing-practices- Source
- github.com/hashintel/hash