1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
//! Canonical [`tracing`] span and event names emitted by the library.
//!
//! Centralised so a rename lands in one file and the `SemVer` impact of
//! changing a public-surface name is obvious from the diff. The crate-level
//! `# Tracing` section in [`lib.rs`](crate) documents the catalog plus the
//! stability contract; this module is the source of truth the emission
//! sites resolve against.
//!
//! Field names are intentionally **not** centralised: they appear at a
//! single emission site each, and the `tracing` macro syntax for
//! const-named fields (`{ FIELD_NAME } = ...`) clutters the call site
//! without a corresponding rename-cost benefit. The contract section in
//! `lib.rs` enumerates the stable field names directly.
//!
//! [`tracing`]: https://docs.rs/tracing
/// Top-level (`info!`-level) and per-target (`debug!`-level) span names.
///
/// Every value is a `'static` string suitable for use as the first argument
/// to [`tracing::info_span!`] / [`tracing::debug_span!`]. The macro accepts
/// a `const &str` in name position and emits the same metadata as a string
/// literal would.
pub