* Create metric API Callback type
Document the type according the OTel specification requirements.
* Update all impls of the metric API with new type
* Add changes to changelog
* Update PR number in changelog entry
* Update Meter RegisterCallback method
Return a Registration from the method that can be used by the caller to
unregister their callback.
Update documentation of the method to better explain expectations of
use and implementation.
* Update noop impl
* Update global impl
* Test global Unregister concurrent safe
* Use a map to track reg in global impl
* Update sdk impl
* Use a list for global impl
* Fix prom example
* Lint metric/meter.go
* Fix metric example
* Placeholder for changelog
* Update PR number in changelog
* Update sdk/metric/pipeline.go
Co-authored-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>
* Add test unregistered callback is not called
Co-authored-by: Aaron Clawson <3766680+MadVikingGod@users.noreply.github.com>
* docs(metric): document public interfaces with versioning policy
* docs(metric): remove versioning policy warning from interfaces without public method(s)
* Add WithScopeAttributes MeterOption to metric pkg
* Add MeterConfig unit tests
* Add changes to changelog
* Fix import linting
* Update MeterProvider documentation
Include information about how to use WithScopeAttributes.
* Empty All of the metrics dir
* Add instrument api with documentation
* Add a NoOp implementation.
* Updated to the new config standard
* Address PR comments
* This change moves components to sdk/metrics
The Moved components are:
- metric/metrictest
- metric/number
- metric/internal/registry
- metric/sdkapi
* The SDK changes necessary to satasify the new api
* This fixes the remaing tests.
* Update changelog
* refactor the Noop meter and instruments into one package.
* Renamed pkg.Instruments to pkg.InstrumentProvider
Co-authored-by: Aaron Clawson <MadVikingGod@users.noreply.github.com>