obs-types 0.1.0

Foundation enums for the obs SDK: Tier, Severity, FieldKind, Cardinality, Classification, MetricKind, SamplingReason.
Documentation
  • Coverage
  • 100%
    54 out of 54 items documented0 out of 1 items with examples
  • Size
  • Source code size: 38.58 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.13 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 37s Average build duration of successful builds.
  • all releases: 37s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • tyrchen

Foundation enums for the obs SDK.

Every other crate in the workspace depends on this one. The seven enums defined here form the vocabulary of the wire envelope (10-data-model.md § 2-5) — Tier, Severity, FieldKind, Cardinality, Classification, MetricKind, SamplingReason.

All enums:

  • derive Copy + Clone + Debug + PartialEq + Eq + Hash,
  • implement [buffa::Enumeration] so they live on the wire,
  • serialize/deserialize via serde for obs.yaml config,
  • expose const fn helpers used by compile-time lints (e.g. [Cardinality::is_label_compatible], [Cardinality::cap], [Severity::as_str]).

Vocabulary changes here cause an envelope format_ver bump (per 10-data-model.md § 6 and 61-crates-and-features.md § 4). That's the intended forcing function.