Tyler Yahn
fdfc821bac
Add godot linter to golangci ( #2845 )
...
Comment should be complete sentences outside of lists with sentence
fragments. This adds the godot linter to check these complete sentences
end with punctuation. If they do not, running fix will append a period.
2022-04-25 13:22:49 -07:00
Damien Mathieu
c65c3becb0
Don't import testing package in production builds ( #2786 )
...
* switch all tests to be on the global package
* move ResetForTest to be available only during tests
Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2022-04-14 08:22:03 -07:00
Tyler Yahn
9838bba16a
Allow non-comparable global types ( #2773 )
...
* Fix #2772 : allow non-comparable global types
The global MeterProvider, TracerProvider, and TextMapPropagator should
not panic when they are set to a non-comparable implementation of each.
* Add changes to changelog
* No lint unused field for testing
2022-04-07 13:22:19 -07:00
Damien Mathieu
625d76daea
Don't panic when setting a provider to itself ( #2749 )
...
* don't panic when setting a provider to itself
* check for the presence of a delegate in all tests
* use t.Fatal instead of t.Error
* remove unneeded return
* Update CHANGELOG.md
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* log errors when skipping providers
* check for current provider outside of the run once
* Update internal/global/state_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update internal/global/state_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update internal/global/state_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update internal/global/state_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update internal/global/state_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update internal/global/state_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update metric/internal/global/state_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update metric/internal/global/state_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update internal/global/state_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2022-03-31 11:16:51 -07:00
Damien Mathieu
60041d2992
run ResetForTest during cleanup ( #2754 )
...
Co-authored-by: Chester Cheung <cheung.zhy.csu@gmail.com>
2022-03-31 10:21:14 -07:00
Aaron Clawson
0f2b54b746
Minor PR fixes
2021-12-01 16:47:46 +00:00
Aaron Clawson
d467ac529a
Fixes race, moved into global
2021-11-24 20:06:39 +00:00
Pablo Baeyens
19294aab4c
Add vanity imports to internal packages ( #2280 )
...
* `porto -w --include-internal .`
* Bump `porto` to 0.4.0 and include internal files
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-10-29 09:34:37 -07:00
Tyler Yahn
1f527a52ab
Update trace API config creation functions ( #2212 )
...
* Update trace API config creation funcs
Follow our style guide and return the config struct instead of pointers.
* Update changelog with changes
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-09-01 15:44:13 -04:00
Tyler Yahn
db81d4aa3d
Update internal/global/trace testing ( #2111 )
...
* Update internal/global/trace testing
Use existing testing types instead of the oteltest package.
* Make precommit
2021-07-22 09:12:21 -07:00
Tyler Yahn
7f10ef72d4
Remove propagation testing types from oteltest ( #2116 )
...
* Add propagationtest package
* Update internal/global to use propagationtest
* Move propagationtest into internal
2021-07-22 08:16:57 -07:00
Anthony Mirabella
39fe8092ed
Add span.TracerProvider() ( #2009 )
...
* Ensure that no-op tracer still progates non-recording spans
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Add `TracerProvider` to the `trace.Span` interface
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Remove config from oteltest.Tracer as it can be accessed through the provider
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-06-17 12:05:44 -04:00
Anthony Mirabella
7728a52135
Remove dependency on metrics packages ( #1988 )
...
* Declare internal/metric module to version it separately
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Remove dependency on metrics module from soon-to-be-stable modules
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Add PR ID to CHANGELOG
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* rename metric/oteltest to metric/metrictest
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Fix metrictest package name in CHANGELOG
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
2021-06-10 15:05:25 -04:00
Aaron Clawson
c1f460e097
Update API configs. ( #1921 )
...
* Added Reason to Contributing and Updated TracerConfig
* PR comment fixup
* Changed how span Options work.
* Fix Markdown linting
* Added meter configs.
* Fixes from PR comments
* fix for missing instrument
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-05-27 07:53:56 -07:00
Tyler Yahn
63e0ecfc22
Implement global default non-recording span ( #1901 )
...
* Remove the Tracer method from the Span API
* Update CHANGELOG with changes
* Update CHANGELOG.md
* Fix misspell
* Address feedback
* Implement global default non-recording span
* Add changes to CHANGELOG
* Update PR number in changelog
2021-05-12 13:11:56 -04:00
Bogdan Drutu
77aa218d4d
Fix issue #1490 , apply same logic as in the SDK ( #1687 )
...
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
2021-03-10 11:04:05 -08:00
Bogdan Drutu
9d3416cc91
Fix synchronization issues in global trace delegate implementation ( #1686 )
...
* Fix synchronization issues in global trace delegate implementation
Running tests with `-race` and before the fix
```
➜ opentelemetry-go git:(fixconcurrency) go test -race go.opentelemetry.io/otel/internal/global
==================
WARNING: DATA RACE
Write at 0x00c00010ffc8 by goroutine 28:
go.opentelemetry.io/otel/internal/global.(*tracer).setDelegate.func1()
/Users/lazy/github/opentelemetry-go/internal/global/trace.go:118 +0xf4
sync.(*Once).doSlow()
/usr/local/opt/go/libexec/src/sync/once.go:68 +0x109
sync.(*Once).Do()
/usr/local/opt/go/libexec/src/sync/once.go:59 +0x68
go.opentelemetry.io/otel/internal/global.(*tracer).setDelegate()
/Users/lazy/github/opentelemetry-go/internal/global/trace.go:118 +0x76
go.opentelemetry.io/otel/internal/global.(*tracerProvider).setDelegate()
/Users/lazy/github/opentelemetry-go/internal/global/trace.go:75 +0x16f
go.opentelemetry.io/otel/internal/global.SetTracerProvider.func1()
/Users/lazy/github/opentelemetry-go/internal/global/state.go:65 +0xd0
sync.(*Once).doSlow()
/usr/local/opt/go/libexec/src/sync/once.go:68 +0x109
sync.(*Once).Do()
/usr/local/opt/go/libexec/src/sync/once.go:59 +0x68
go.opentelemetry.io/otel/internal/global.SetTracerProvider()
/Users/lazy/github/opentelemetry-go/internal/global/state.go:57 +0x79
go.opentelemetry.io/otel.SetTracerProvider()
/Users/lazy/github/opentelemetry-go/trace.go:43 +0x388
go.opentelemetry.io/otel/internal/global_test.TestTracerDelegates_MultiGoRoutines()
/Users/lazy/github/opentelemetry-go/internal/global/trace_test.go:177 +0x373
testing.tRunner()
/usr/local/opt/go/libexec/src/testing/testing.go:1194 +0x202
Previous read at 0x00c00010ffc8 by goroutine 29:
go.opentelemetry.io/otel/internal/global.(*tracer).Start()
/Users/lazy/github/opentelemetry-go/internal/global/trace.go:124 +0x64
go.opentelemetry.io/otel/internal/global_test.TestTracerDelegates_MultiGoRoutines.func1()
/Users/lazy/github/opentelemetry-go/internal/global/trace_test.go:165 +0xf1
Goroutine 28 (running) created at:
testing.(*T).Run()
/usr/local/opt/go/libexec/src/testing/testing.go:1239 +0x5d7
testing.runTests.func1()
/usr/local/opt/go/libexec/src/testing/testing.go:1512 +0xa6
testing.tRunner()
/usr/local/opt/go/libexec/src/testing/testing.go:1194 +0x202
testing.runTests()
/usr/local/opt/go/libexec/src/testing/testing.go:1510 +0x612
testing.(*M).Run()
/usr/local/opt/go/libexec/src/testing/testing.go:1418 +0x3b3
go.opentelemetry.io/otel/internal/global_test.TestMain()
/Users/lazy/github/opentelemetry-go/internal/global/internal_test.go:39 +0x4dc
main.main()
_testmain.go:85 +0x271
Goroutine 29 (running) created at:
go.opentelemetry.io/otel/internal/global_test.TestTracerDelegates_MultiGoRoutines()
/Users/lazy/github/opentelemetry-go/internal/global/trace_test.go:160 +0x259
testing.tRunner()
/usr/local/opt/go/libexec/src/testing/testing.go:1194 +0x202
==================
==================
WARNING: DATA RACE
Write at 0x00c00037a000 by goroutine 29:
sync/atomic.StoreInt32()
/usr/local/opt/go/libexec/src/runtime/race_amd64.s:242 +0xb
go.opentelemetry.io/otel/internal/global_test.TestTracerDelegates_MultiGoRoutines.func2.1()
/Users/lazy/github/opentelemetry-go/internal/global/trace_test.go:183 +0x6d
go.opentelemetry.io/otel/internal/global_test.fnTracer.Start()
/Users/lazy/github/opentelemetry-go/internal/global/trace_test.go:81 +0x98
go.opentelemetry.io/otel/internal/global.(*tracer).Start()
/Users/lazy/github/opentelemetry-go/internal/global/trace.go:125 +0xfd
go.opentelemetry.io/otel/internal/global_test.TestTracerDelegates_MultiGoRoutines.func1()
/Users/lazy/github/opentelemetry-go/internal/global/trace_test.go:165 +0xf1
Previous write at 0x00c00037a000 by goroutine 28:
go.opentelemetry.io/otel/internal/global_test.TestTracerDelegates_MultiGoRoutines()
/Users/lazy/github/opentelemetry-go/internal/global/trace_test.go:176 +0x2c4
testing.tRunner()
/usr/local/opt/go/libexec/src/testing/testing.go:1194 +0x202
Goroutine 29 (running) created at:
go.opentelemetry.io/otel/internal/global_test.TestTracerDelegates_MultiGoRoutines()
/Users/lazy/github/opentelemetry-go/internal/global/trace_test.go:160 +0x259
testing.tRunner()
/usr/local/opt/go/libexec/src/testing/testing.go:1194 +0x202
Goroutine 28 (running) created at:
testing.(*T).Run()
/usr/local/opt/go/libexec/src/testing/testing.go:1239 +0x5d7
testing.runTests.func1()
/usr/local/opt/go/libexec/src/testing/testing.go:1512 +0xa6
testing.tRunner()
/usr/local/opt/go/libexec/src/testing/testing.go:1194 +0x202
testing.runTests()
/usr/local/opt/go/libexec/src/testing/testing.go:1510 +0x612
testing.(*M).Run()
/usr/local/opt/go/libexec/src/testing/testing.go:1418 +0x3b3
go.opentelemetry.io/otel/internal/global_test.TestMain()
/Users/lazy/github/opentelemetry-go/internal/global/internal_test.go:39 +0x4dc
main.main()
_testmain.go:85 +0x271
==================
--- FAIL: TestTracerDelegates_MultiGoRoutines (0.20s)
testing.go:1093: race detected during execution of test
FAIL
FAIL go.opentelemetry.io/otel/internal/global 0.920s
FAIL
```
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
* Update internal/global/trace_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update internal/global/trace_test.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Make tests not flaky
Signed-off-by: Bogdan Drutu <bogdandrutu@gmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-03-10 08:45:31 -08:00
Punya Biswal
ecf65d7968
Rename otel/label -> otel/attribute ( #1541 )
...
* Rename otel/label -> otel/attr
Leave the imported name alone, to avoid a large diff and conflicts
* Better import comment
* Update CHANGELOG.md
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* otel/attr -> otel/attribute
* Missed the changelog entry
* Get rid of import renaming
* Merge remaining conflicts
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
2021-02-18 12:59:37 -05:00
Punya Biswal
0b1a1c7237
Make oteltest.SpanRecorder into a concrete type ( #1542 )
...
* Make oteltest.SpanRecorder into a concrete time
* Fixes
* Fix PR #
* Re-run
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-02-17 07:31:59 -08:00
Punya Biswal
9b242bc401
Organize API into Go modules based on stability and dependencies ( #1528 )
...
* Add a tool to auto-generate replace directives
* Auto-generated changes from previous commit
* Create new modules required for trace release
* otel/metric
* otel/trace
* otel/oteltest
* otel/sdk/export/metric
* otel/sdk/metric
Relates to #1467
* Move metric-related public API out of otel/ pkg
Move GetMeterProvider, Meter and SetMeterProvider to new package
otel/metric/global in the otel/metric module.
This will allow otel/ module to be released as v1.0.
* Include PR references in CHANGELOG
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Check for root dir
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2021-02-12 08:23:51 -08:00
Eundoo Song
9c949411ce
Rename internal/testing to internal/internaltest ( #1449 )
2021-01-12 08:56:16 -08:00
Chris Bandy
c857a3da18
Pass options to configured TracerProvider ( #1329 )
...
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-11-17 10:02:21 -08:00
Krzesimir Nowak
3d6e8b5078
Move Version function and code from global to toplevel ( #1330 )
...
* Move global code to toplevel package
* Move version function to toplevel package
* Update changelog
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2020-11-16 09:30:54 -08:00