1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-01-12 02:28:07 +02:00
Commit Graph

185 Commits

Author SHA1 Message Date
jmacd
c829d3ea67 Tests pass 2020-05-21 00:36:17 -07:00
jmacd
1c8c5df4db resource.Merge uses label.MergeIterator 2020-05-21 00:33:39 -07:00
jmacd
63df1b5e22 Add merged iterator 2020-05-20 23:20:29 -07:00
Joshua MacDonald
15e8edd498
Add the UpDownSumObserver instrument (#750)
* Add the UpDownSumObserver instrument

* Precommit

* Downcase error message
2020-05-20 10:19:51 -07:00
Joshua MacDonald
1fab21ddbf
Support use of synchronous instruments in async callbacks (#725)
* Support use of synchronous instruments in async callbacks

* Add a test
2020-05-19 21:33:10 -07:00
Joshua MacDonald
c5f2252c48
Add the SumObserver instrument (#747)
* Add the SumObserver instrument

* Lint
2020-05-19 11:49:24 -07:00
Joshua MacDonald
0a333cade1
Add the UpDownCounter instrument (#745)
* Add UpDownCounter to the API

* Add an SDK test

* Comment fix
2020-05-19 10:00:22 -07:00
Vladimir Mihailenco
9adedba214
Fix String in Infer (#746) 2020-05-19 09:10:30 -07:00
Joshua MacDonald
ee3c9ed1a5
Rename Observer to ValueObserver (#734)
* Observer -> ValueObserver

* Move wrappers into async.go
2020-05-18 11:03:43 -07:00
Joshua MacDonald
76baa9cc7a
Remove the push controller named Meter map (#738)
* Remove the push controller named Meter map

* Checkpoint

* Remove Provider impls

* Add a test

* Expose Provider() getter instead of implementing the interface
2020-05-18 10:48:58 -07:00
Joshua MacDonald
6bc14ffd2c
Replace Measure instrument by ValueRecorder instrument (#732)
* Measure->Value recorder and cleanups re: measure

* More edits

* More edits

* Feedback
2020-05-15 22:11:12 -07:00
Tyler Yahn
5abfeb02a9
Add tracing standards 2020-05-15 15:20:30 -07:00
Tyler Yahn
5c160d31e5
Update to v0.4.0 specification
Change `library.*` to `telemetry.sdk.*`.

Add FaaS.

Add comments to all constants.
2020-05-15 13:21:52 -07:00
Tyler Yahn
721628d402
Update standard package docs 2020-05-15 12:46:53 -07:00
Tyler Yahn
1d554f34c1
Add standard package contain all semantic conventions 2020-05-15 12:42:13 -07:00
Tyler Yahn
80a59c2275
Update correlation context header name 2020-05-15 09:33:06 -07:00
Joshua MacDonald
f1112a4fbb
Rearrange api/metric code layout (#724)
* 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
2020-05-14 13:10:48 -07:00
Joshua MacDonald
fefdf59a0b
Batch Observer callback support (#717)
* api/metric changes from jmacd:jmacd/batch_obs_2

* Add an SDK test

* Use a single collector method

* Two fixes

* Comments; embed AsyncRunner

* Comments

* Comment fix

* More comments

* Renaming for clarity

* Renaming for clarity (fix)

* Lint
2020-05-13 16:27:52 -07:00
Joshua MacDonald
587cde3352
Remove NewKey and update doc comment (#721)
* Update doc comment

* Remove NewKey

* NewKey->Key
2020-05-13 16:21:23 -07:00
Chen Yixiao
1301b6f3e4
Move core and key to kv package (#720)
* Move core to kv

* Move kv.Value to kv.value.Value

* Move key to kv
2020-05-13 16:06:03 -07:00
Joshua MacDonald
32ddc16e1b
Make Meter a struct, simplify the global Meter (#709)
* Tests pass

* Precommit pass

* More lint

* Remove a few interfaces

* Final edits

* Fix comments

* Indentation

* registry->unique

* Comments
2020-05-11 20:29:06 -07:00
Joshua MacDonald
64afb05e53
Metric SDK renames to align with draft SDK spec (#710)
* Replace batcher w/ integrator; rename ungrouped to simple

* SDK -> Accumulator

* Cleamup

* Address feedback
2020-05-11 10:23:06 -07:00
Chen Yixiao
f0855b7d08
Move Number to api/metric package (#706)
Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
2020-05-10 23:44:42 -07:00
Anthony Mirabella
a547cc3bfe
Use a constant padding for 64-bit B3 trace IDs (#701) 2020-05-06 11:09:41 -04:00
Anthony Mirabella
0a9b2e0d8c
left-pad 64-bit B3 trace IDs (#698) 2020-05-05 14:20:09 -04:00
tensorchen
2ffbd869d7 Rename TraceFlagsSampled, TraceFlagsUnused 2020-05-06 01:41:54 +08:00
tensorchen
40e8769e83 Merge remote-tracking branch 'origin' into move_span_context 2020-05-06 01:37:37 +08:00
Anthony J Mirabella
7a605a3345 Add named capture groups to traceCtxRegExp, avoid potential panic when injecting tracestate 2020-05-04 16:34:07 -04:00
tensorchen
bae2298a36 Rename trace.TraceID & trace.TraceIDFromHex 2020-05-03 13:48:38 +08:00
Anthony J Mirabella
1dc6bc09d4 propagate at least the first w3c tracestate header 2020-05-02 15:23:03 -04:00
tensorchen
c6c155de6f Move SpanContext from core package into trace 2020-05-02 20:17:11 +08:00
Joshua MacDonald
4c9a29d2d7
Add a key benchmark, use reflection in key.Infer() (#679)
* Add a key benchmark, optimize SDK SetAttribute

* Use reflect in key.Infer

* Move to separate benchmark file; remove pointer test; remove dead comment

* Run go mod tidy

* Add license header

* Use the reflect scalar accessors

Co-authored-by: Liz Fong-Jones <lizf@honeycomb.io>
2020-04-30 13:06:00 -07:00
NiaoGe
f865a6c3d4
Fix Traceparent to traceparent (#681)
* Fix Traceparent to traceparent

* Fix unittest Traceparent to traceparent
2020-04-30 08:55:16 -07:00
Joshua MacDonald
d7b3c3d7e7
Fix and test uses of global.Meter with RecordBatch() (#680)
* Test use of global.Meter.RecordBatch

* Avoid new dep
2020-04-29 16:13:55 -07:00
Liz Fong-Jones
ee30252752
add SetAttribute(string,interface{}) (#674) 2020-04-28 14:24:47 -07:00
ET
3809f7bba3
Remove references in godoc comments to WithKeys (#672)
* Remove references in godoc comments to WithKeys

WithKeys was removed in PR#639

* Apply suggestions from code review

Fix copy pasta

Co-Authored-By: Tyler Yahn <MrAlias@users.noreply.github.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
2020-04-28 12:29:48 -07:00
ET
1e057dfc4f
Two tiny character transposes /Mulitple/Multiple/ (#668) 2020-04-27 16:07:14 -07:00
Krzesimir Nowak
c23e09c7f7
Fix clobbering of the span context if extraction fails (#656)
* Do not put span context into go context if extraction failed

This causes problems if multiple trace propagators are chained,
because the first propagator in chain may extract a valid span
context, then next propagator will overwrite it with an empty span
context when required headers in supplier are missing.

* Test for clobbering propagators

Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
2020-04-27 11:37:40 -07:00
Liz Fong-Jones
33e60677db
[key] add Stringer and Infer methods (#662)
* add Stringer and Infer methods

* fix nit

* Update api/key/key.go

Co-Authored-By: Tyler Yahn <MrAlias@users.noreply.github.com>

Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-04-24 16:40:49 -07:00
Joshua MacDonald
3008c1bf02
Pass Resources through the metrics export pipeline (#659) 2020-04-24 09:44:21 -07:00
Joshua MacDonald
0bb12d9b1b
New api/label package, common label set impl (#651)
* New label set API

* Checkpoint

* Remove label.Labels interface

* Fix trace

* Remove label storage

* Restore metric_test.go

* Tidy tests

* More comments

* More comments

* Same changes as 654

* Checkpoint

* Fix batch labels

* Avoid Resource.Attributes() where possible

* Update comments and restore order in resource.go

* From feedback

* From feedback

* Move iterator_test & feedback

* Strenghten the label.Set test

* Feedback on typos

* Fix the set test per @krnowak

* Nit
2020-04-23 12:10:58 -07:00
Joshua MacDonald
acb350b8f3
Support JSON marshal of Resources (#654)
* Support JSON marshal of Resources

* Add a test

* Another test

* Fix arch bug

* Fix other test
2020-04-22 14:32:58 -07:00
Krzesimir Nowak
927d9155ae
Increase the visibility of the api/key package (#650)
* Point to the convenience functions in api/key package

This is to increase the visibility of the api/key package through the
api/core package, otherwise developers often tend to miss the api/key
package altogether and write `core.Key(name).TYPE(value)` and complain
at the verbosity of such a construction. The api/key package would
allow them to write `key.TYPE(name, value)`.

* Use the api/key package where applicable

This transforms all the uses of `core.Key(name).TYPE(value)` to
`key.TYPE(name, value)`. This also should help increasing the
visibility of the api/key package for developers reading the otel-go
code.

Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
2020-04-21 20:26:51 -07:00
Shouri Piratla
669d4b3a6c
TraceID and SpanID implementations for Stringer Interface (#642)
* TraceID and SpanID implementations for Stringer Interface

* Hex encode while stringifying

* Modify format specifiers wherever SpanID is used

* comment changes

* Remove TraceIdString() and SpanIdString()

* Comments Fixes
2020-04-16 15:42:48 -07:00
Joshua MacDonald
a8f7b3247b
Remove WithKeys() option, defaultkeys batcher (#639) 2020-04-14 16:07:11 -07:00
Joshua MacDonald
e8546e3bc5
Remove Labelset (#595)
* Remove LabelSet frmo api/metric

* SDK tests pass

* Restore benchmarks

* All tests pass

* Remove all mentions of LabelSet

* Test RecordBatch

* Batch test

* Improves benchmark (some)

* Move the benchmark to match HEAD

* Align labels for GOARCH=386

* Add alignment test

* Disable the stress test fo GOARCH=386

* Fix bug

* Move atomic fields into their own file

* Add a TODO

* Comments

* Remove metric.Labels(...)

* FTB

Co-authored-by: Liz Fong-Jones <lizf@honeycomb.io>
2020-03-27 14:06:48 -07:00
Tyler Yahn
c97b4f726c
Update project License headers and checking (#596)
Update license header to standard format for source files missed prior.

Add license header to new source files.

Add Makefile check to test all `*.go` and `*.sh` files have a copyright
notice (or comment about them being auto-generated) within the first few
lines.
2020-03-25 14:47:17 -07:00
Joshua MacDonald
06f833e2ae
Unique instrument checking (#580)
* Add skeleton uniqueness checker

* Fix the build w/ new code in place

* Add sync tests

* More test

* Implement global uniqueness checking

* Set the library name

* Ensure ordered global initialization

* Use proper require statement for errors

* Comment

* Apply feedback fixes

* Comment and rename from feedback
2020-03-24 10:54:08 -07:00
Krzesimir Nowak
d648712cf2
Kick label encoder out of sdk (#574)
* Temporarily opt-out export.Labels from label encoding stuff

* Stop passing label encoding stuff to export.Labels

* Drop label encoding stuff from SDK

* Dogstatd exporter does not need to implement label exporter anymore

* more dogstatd exporter fixes

* export labels get back to encoding stuff

in a lame way, but improvements are coming in following commits

* Get encoded labels through export.Labels

* make SDK to provide its own implementation of export.Labels

* drop dead code

* add noop label exporter

* make export simple labels immutable

* Move the default label encoder to export package

* Simplify the simple export labels a bit

* Reserve some label exporter IDs

* Document and shuffle the code a bit

* Prepare for bring the iterator benchmark test back

We can install a callback to the Batcher's process function - this is
the place where we can access the labels, and thus test the label
iterator.

* Bring back the iterator benchmarks

* Simplifications and docs

* Fix copyright to be consistent with the rest

* Fix typo

* Put reserved label encoder IDs into constants

We get fewer comments about magic numbers that way.

* Fix the label encoder as label exporter thinko
2020-03-24 09:30:12 -07:00
Tyler Yahn
a485d0ec64
Update License header for all source files (#586)
* Update License header for all source files

- Add Apache 2.0 header to source files that did not have one.
- Update all existing headers dated to 2019 to be 2020
- Remove comma from License header to comply with the Apache 2.0
  guidelines.

* Update Copyright notice

Use the standard Copyright notices outlined by the
[CNCF](https://github.com/cncf/foundation/blob/master/copyright-notices.md#copyright-notices)
2020-03-23 22:41:10 -07:00