* Update B3 header names
Correct the B3 single header name from `X-B3` to `b3`.
Use the lowercase version of the B3 multiple headers. This is based on
the fact that HTTP headers are case-insensitive, however, other
protocols may not be.
* Update Changelog
* Added support array attributes
* Changed function signature for AsArray attribute
* Fixed code comments for array attributes
* Fixed typos in comments in value.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
fixes#851
This includes all of the associated methods, such as
AsUint64, AsUint64Atomic, AsUint64Ptr, CoerceToUint64, SetUint64
SetUint64Atomic, SwapUint64, SwapUint64Atomic, AddUint64,
AddUint64Atomic, CompamreAndSwapUint64, CompareUint64
Only significant change as a result was converting the histogram
aggregator's `count` state field into an int64 from a `metric.Number`.
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Support instrumentation library in metrics
* Update stdout exporter to display instrumentation info
* Fix tests that use the STDOUT exporter
* Refactor to keep SDK out of API
* Update global Meter and test Meter version
* Revert unneeded import syntax change
* Fix Unit comment
* Update comments
* Update comment
* Revert no-op change to import
On slower VMs (like the CI VMs), this test was timing out in 2ms and
failing. Additionally, in the process of failing, the suite tear-down
function would reset the globalHandler and cause a race with the spawned
goroutine that was abandoned.
This increases the pause from 2ms to 10ms, unifies and simplifies the
wait logic, and stops the child goroutine on failure.
* Update Tracer API with instrumentation version
Add option to the `Provider.Tracer` method to specify the
instrumentation version.
Update the global, noop, opentracing bridge, and default SDK
implementations.
This does not propagate the instrumentation library version to the
exported span. That is left for a follow-on PR.
* Revert trace_test.go
This is for the next PR.
* Update SDK to include version for default instrumentation
If the instrumentation library name is empty and the default
instrumentation is uses, include the SDK version.
* Update comments and documentation
* Remove default instrumentation version
* Remove the push controller named Meter map
* Checkpoint
* Remove Provider impls
* Add a test
* Expose Provider() getter instead of implementing the interface
* Refactor api.go
* Refactor more
* Finish
* More
* Rename
* More rename
* Split observer.go common into async.go; rename common.go sync.go
* Move types a bit