Opentelemetry observable metric implementations based on std::sync::atomic types. Opentelemetry has a concept of "observable" metrics that are not reported as they are updated, but rather, when an update happens, they are polled. For ease-of-use in code, it is often desirable to have these metrics be backed by [std::sync::atomic] types, so that they can be easily updated throughout the code, and fetched whenever a metric reporting poll occurs. This crate provides the [MeterExt] trait and associated types to make it easy to use [std::sync::atomic] backed metrics with opentelemetry.
```rust use influxiveotelatomic_obs::MeterExt;
let (mymetric, _) = opentelemetryapi::global::meter("mymeter") .u64observablegaugeatomic("my_metric", 0) .init();
mymetric.set(66); // probably will not be reported mymetric.set(99); // probably will not be reported my_metric.set(42); // will be reported next time reporting runs ```