ワンクリックで
telemetry
Telemetry and observability conventions. Apply when adding tracing, logging, metrics, or instrumentation to Rust code.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Telemetry and observability conventions. Apply when adding tracing, logging, metrics, or instrumentation to Rust code.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Use `mdvs search` for any content lookup in a markdown directory — semantic / hybrid / SQL-filtered, beats Grep / Glob for finding by meaning. `mdvs init` infers a schema from existing markdown, `mdvs check` validates frontmatter, `mdvs update` evolves the schema as the KB grows. Activate whenever the project contains markdown with frontmatter, whether or not `mdvs.toml` exists yet.
Release process for mdvs. Use when the user asks to make a release (patch, minor, major, or release candidate).
Use when the user asks to commit, commit and push, or make a git commit. Covers branching, commit workflow, conventional commits, TODO updates, and push/PR rules.
Use when writing, modifying, or removing Rust code in the mdvs codebase. Covers implementation workflow, testing, verification, and downstream updates (specs, example_kb, mdbook).
mdBook documentation conventions. Apply when writing, editing, or reviewing pages in book/src/. Covers content rules, example verification, tone, and structure.
GitHub Issues + Project tracking. Use when creating, updating, or querying issues and managing the project board.
SOC 職業分類に基づく
| name | telemetry |
| description | Telemetry and observability conventions. Apply when adding tracing, logging, metrics, or instrumentation to Rust code. |
If the project has a dedicated telemetry/observability spec or conventions document, read it first — it takes precedence over the generic guidance below.
| Level | When to Use | Example |
|---|---|---|
error! | Unrecoverable failures requiring operator attention | External service call failed permanently |
warn! | Recoverable issues, degraded operation | Retry triggered, fallback activated |
info! | Lifecycle events, operational milestones | Server started, connection established |
debug! | Internal state useful during development | State machine transition details |
trace! | Per-frame, hot-path data (high volume) | Frame encoded, bytes serialized |
Not all code deserves the same instrumentation level. Choose based on the crate's role:
trace! only, no spans. Spans add overhead that matters here.trace! only if anything at all.#[instrument] + spans.#[instrument] Rulesskip sensitive fields: tokens, keys, passwords, raw payloadslevel — default is INFO, use level = "debug" or level = "trace" for noisy functionsAlways use named fields, never string interpolation:
// Good: named fields — searchable, parseable
trace!(payload_bytes = payload.len(), frame_bytes = buf.len(), "frame encoded");
// Bad: string interpolation — opaque to log aggregators
trace!("frame encoded, payload={}, frame={}", payload.len(), buf.len());
For request/message processing pipelines, use a three-tier span pattern:
This gives visibility into where time is spent and enables per-hop latency analysis.
tracing over log — structured spans enable distributed tracingtrace! levelDisplay for user-facing context, Debug for developer diagnostics