* use strconv instead of fmt.Sprint
* rollback float it has no significant improvement on time and worse allocated bytes.
* change int32 and uint32 to separate cases.
* shrink the value type
went down from 40 bytes to 24
* add missing license blurb
* stringify value type
* print string value types in stdout exporter
* make Value function take a pointer receiver
* initial metrics work
* rename cumulative to counter
* rename bidirectional to nonmonotonic
* rename unidirectional to monotonic
* rename nonnegative to signed
this changes the default semantics a bit - before the change measure
could record negative values by default, now it can't.
The specification draft currently specifies both NonNegative and
Signed, but I think it's a mistake.
* rename instrument to descriptor
* license
* rework measurement values
* make measurement value a tagged union
* simplify to one kind of metrics
* add observers
* change some interfaces to match the spec
* keep integral measurement separate from floating ones
* remove duplicated measurement type
* add checking for options
* reorder some fields and functions
* rename a function
to avoid confusion between the Handle type and the Measure type
* drop disabled field from descriptor
* add back typed API for metrics
* make metric options type safe
* merge alternatives into a single bool
* make value kind name less stuttery
* fix observation callback prototype
* drop context parameter from NewHandle
* drop useless parameter names
* make descriptor an opaque struct
* use a store helper
* handle comment fixes
* reword Alternate comment
* drop the "any value" metrics
* make measurement value simpler
* document value stuff
* add tests for values
* docs
* do not panic if there is no span ID in the event
This is to shrink the PR #100.
The only place where the registry.Variable type was used was metrics,
so just inline that type into its only user. The use of the
registry.Variable type in core.Key was limited to the Name field.
The stats package also used the registry.Variable type, but seems that
also only the Name field was used and the package is going to be
dropped anyway.
* Move scope.Active to trace.CurrentSpan
* Remove scope / does not build
* Global tracer
* Checkpoint
* Checkpoint
* Add key/key.go for key.New
* Comments
* Remove more EventID and ScopeID
* Use Handle to describe static objects
* TODOs
* Remove empty file
* Remove singletons
* Update TODOs
* TODO about map update
* Make stats package option aliases (like key has)
* Rename experimental/streaming
* streaming SDK builds w/ many TODOs
* Get the examples building
* Tidy up metric API / add interface check
* Remove logic from the registry; this is now a placeholder