Proc macros for tracing-wide.
event!(Foo { a, b })— constructs aMessage, dispatches it to registered subscribers, then records it to tracing.#[message(msg = "...")]— marks a struct as an emittable message: implementsMessage/MessageBehaviour, fills the inherent consts, generates the recording, and asserts every field type implementsField.