Expand description
§indicio
Indicio provides a framework for emitting clues that may be used for debugging.
§Status
Active development. Indicio is likely to change in the near future in backwards-incompatible ways.
§Scope
Indicio provides:
- A
Valuetree for structured clue payloads. - The
value!andclue!macros for lazy clue construction. Collectorfor registering an emitter and filtering by verbosity.StdioEmitterfor human-readable stderr output.ProtobufEmitterfor append-only clue files when theprototkfeature is enabled.
The protobuf file format is a sequence of field-1 clue messages. It remains readable as a
ClueVector so existing consumers can continue to decode files written by ProtobufEmitter.
§Warts
Mappreserves insertion order and duplicate keys. Lookup returns the first matching key.Valueequality givesf64values a total ordering semantics, so values such as-0.0and0.0compare differently.puzzle_piece!is intentionally small. Usetry_extractwhen callers need a missing-path or type-mismatch diagnostic;extractremains available for the olderOption-returning API.
§Documentation
The latest documentation is always available at docs.rs.
Re-exports§
pub use stdio::StdioEmitter;pub use protobuf::ClueFrame;pub use protobuf::ClueVector;pub use protobuf::ProtobufEmitter;
Modules§
Macros§
- clue
- Emit the specified value if and only if the collector is logging.
- puzzle_
piece - Match a “shape” of a clue and flatten it.
- value
- Construct a value literal using something that looks like rust literals.
Structs§
- Clue
- Collector
- A collector is meant to be a static singleton that conditionally logs.
- Extraction
Error - Level
Filter - An emitter that filters log messages above a log level.
- Map
- MapEntry
- Values
Enums§
Constants§
Traits§
- Emitter
- An emitter for indicio that emits values.
Functions§
- register_
biometrics - Registers this crate’s biometrics with the provided Collector.
- register_
monitors - Registers this crate’s monitors with the provided HeyListen.