* feature/exporter: add Drop Counts for oltptracer's event
Signed-off-by: 1046102779 <seachen@tencent.com>
* feature/exporter: add Drop Counts for oltptracer's event
Signed-off-by: 1046102779 <seachen@tencent.com>
* feature/exporter: add Drop Counts for oltptracer's event and link
Signed-off-by: 1046102779 <seachen@tencent.com>
* feature/exporter: add Drop Counts for oltptracer's event and link
Signed-off-by: 1046102779 <seachen@tencent.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update versions.yaml
* Prepare stable-v1 for version v1.4.1
* Prepare experimental-metrics for version v0.27.1
* Prepare bridge for version v0.27.1
* Update CHANGELOG
* Revert "Prepare experimental-metrics for version v0.27.1"
This reverts commit 838743af21.
* Do not release experimental-metrics with v0.27.1
* Update versions.yaml
* Update changelog
* Upgrade stable-v1 to version v1.4.0
* Upgrade experimental-metrics to version v0.27.0
* Upgrade bridge to version v0.27.0
* Update CHANGELOG.md
* Change trace options to accept type not pointer
Add benchmark to show allocation improvement.
* Update CONTRIBUTING.md guidelines
* Update all Option iface
* Fix grammar in CONTRIBUTING
* Update versions.yaml for release
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Prepare stable-v1 for version v1.3.0
* Prepare experimental-metrics for version v0.26.0
* Prepare bridge for version v0.26.0
* Update CHANGELOG
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Fix per-signal endpoint parsing in otlptrace
* Add distinguishing non-per-signal env var value
* Fix per-signal endpoint parsing in otlpmetric
* Add changes to changelog
* Use else if to prevent unnecessary work
* Add spec link to otlptrace README
* Use host CA set by default for otlptrace
* Remove test for invalid default certs
* Default to host CA for otlpmetric
* Add changes to changelog
* Update CHANGELOG.md
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
* Centralize the retry package for the otlp exporters
* Add dependabot config
* Use unified internal/retry module in otlp exporters
* Remove otlpmetric and otlptrace internal/retry module
* Run go mod tidy in otlp{metric,trace}
* POC using the grpc.ClientConn to handle connections
* Update invalid client security test
* Update client start test for a bad endpoint
* Use any ClientConn a user provides
* Connect ReconnectionPeriod to gRPC conn retries
* Replace connection retry handling direct in otlptracegrpc
* Fix client comments
* Fix comment for NewGRPCConfig
* Replace reconnection test
* Fix grammar
* Remove unrelated changes
* Remove connection pkg
* Rename evaluate to retryable
* POC using the grpc.ClientConn to handle connections
* Replace connection retry handling direct in otlptracegrpc
* Add ClientConn use changes to changelog
* Update otlptracegrpc options
* Only close ClientConn that the Client create
* Remove listener wrapper from mock_collector_test
This is not needed now that no tests relies on the listener to wait for
a connection to be established before continuing.
* Fix spelling error
* Do not use deprecated options in the otel-collector example
* Add unit tests for retryable and throttleDelay funcs
* Add unit tests for context heredity
* Add test that exporter stop is linked to context cancel
* go mod tidy
* Update exporters/otlp/otlptrace/otlptracegrpc/client.go
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
* Fix go.mod from rebase
* Remove wrong comment about client stop closing gRPC conn
* Fix shutdown test cleanup
Do not check the second call to the client Stop. There is no guarantee
it will not error in normal operation.
* Make lint fixes
* Fix flaky unit test
Use the internals of the client to explicit cancel the context returned
from exportContext. This gets around the bug where the select in Stop
may randomly choose the non-context Done case and avoid returning an
error (also failing to cancel the context).
* Remove deprecation
To configure the client/exporter with environment variables these
options are used. There is no way to fully remove these options without
removing support for configuration with environment variables. Leave
that decision and strategy determination to a separate PR.
* Fix grammatical error in comment
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
* Fail in RunEndToEndTest if collector stop fails
* Use testing T.Cleanup to check shut downs
* Add goroutine leak detection
* Fix TestExporterShutdown go leak
The shutdown tests checking if a context error is honored did not
completely clean up the resources used by the client after the error was
evaluated. Update the connection client to handle multiple calls to
shutdown and make a second call to these clients that must succeed so
the test does not have abandoned goroutines.
* Fix leak in TestNew_WithTimeout
The mockTraceService did not delay with its lock being held. This
resulted in the mockCollector stopping and being able to acquire the
lock. It was assumed that no export was taking place because of this and
the mockTraceService was abandoned without cleaning up resources it held
and goroutines it had spawned. This reworks the export blocking logic to
block on a channel read. This will make the block more deterministic and
not depend on the scheduler timing. Additionally, this blocking is moved
inside the lock acquire. Meaning code will deadlock if the block is not
released before a shutdown (something the developer will immediately be
aware of when they submit a bad patch), and will ensure all resources
are released before shutdown.
Replace TestNew_WithTimeout with TestExportSpansTimeoutHonored which
directly tests if a span export errors when the timeout is reached. This
is the only unique thing that TestNew_WithTimeout, but it also tests the
non-error path. That non-error path is tested in many other tests.
* Guard otlptracehttp client stopCh when stopping
In normal operations the exporter is guaranteed to only ever call the
client Stop method once. However in testing we need to call this
multiple times when checking it returns an error in particular context.
Add a lightweight sync.Once to the closing of the stopCh to ensure tests
do not panic when cleaning up.
* Release export block after export
Prevent deadlock in TestExportSpansTimeoutHonored.
This is a simple loggin interface to be used interally for the sdk.
Included is an exmaple in `namedtracer` run:
```
cd example/namedtracer
go run . >/dev/null
```
Bump github.com/golangci/golangci-lint from 1.42.1 to 1.43.0 in /internal/tools.
Bump google.golang.org/grpc from 1.41.0 to 1.42.0 in /exporters/otlp/otlpmetric.
Bump go.opentelemetry.io/proto/otlp from 0.9.0 to 0.10.0 in /exporters/otlp/otlpmetric/otlpmetrichttp.
Bump go.opentelemetry.io/proto/otlp from 0.9.0 to 0.10.0 in /exporters/otlp/otlpmetric.
Bump go.opentelemetry.io/proto/otlp from 0.9.0 to 0.10.0 in /exporters/otlp/otlptrace.
Bump google.golang.org/grpc from 1.41.0 to 1.42.0 in /exporters/otlp/otlpmetric/otlpmetricgrpc.
Bump google.golang.org/grpc from 1.41.0 to 1.42.0 in /exporters/otlp/otlptrace.
Bump go.opentelemetry.io/proto/otlp from 0.9.0 to 0.10.0 in /exporters/otlp/otlptrace/otlptracehttp.
Bump google.golang.org/grpc from 1.41.0 to 1.42.0 in /exporters/otlp/otlptrace/otlptracegrpc.
Bump go.opentelemetry.io/proto/otlp from 0.9.0 to 0.10.0 in /exporters/otlp/otlpmetric/otlpmetricgrpc.
Bump go.opentelemetry.io/proto/otlp from 0.9.0 to 0.10.0 in /exporters/otlp/otlptrace/otlptracegrpc.
Bump github.com/benbjohnson/clock from 1.1.0 to 1.2.0 in /sdk/metric.
Bump google.golang.org/grpc from 1.41.0 to 1.42.0 in /example/otel-collector.
* Version stable-v1 modset to be 1.0.2 for release
* Prepare stable-v1 for version v1.0.2
* Update changelog
Add new 1.0.2 section and move relevant items that the release will
contain to this section.
* Add article to CHANGELOG entry to correct grammar
* Release 1.1.0 instead of 1.0.2
* Prepare stable-v1 for version v1.1.0
* Apply suggestions from code review
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
* Add semconv/v1.7.0 package
Generated from the v1.7.0 release of the specification using the
semconvgen tool manually. This also updates the project to use this
version of the semconv package.
This does not include the prior, and missing, v1.5.0 and v1.6.0 versions
of the semconv package. They are planned to be added in a follow-on PR.
* Update CHANGELOG.md
Explicitly return nil if the wait time and the context deadline expire
simultaneously, instead of indeterminately the context error or nil, for
the retry wait function in the otlptrace/internal package.
* Add ability to parse Schema files according to OTEP 0152
The parser and parsed representation (AST) are placed in a separate
Go module so that they are can be consumed independently without
the need to bring the rest of the SDK.
Ability to use the parsed representation for schema conversions
can be added later.
* Fixes based on PR comments
* Rename "label" to "attributes"
See https://github.com/open-telemetry/oteps/pull/181
* Fixes based on PR comments
* Add README.md
* Wrap the error in Parse()
* Add docs for exporter types
* Use yaml.NewDecoder
* Verify parsed content in the test
* Fix indentation in README example
* Fix README spaces vs tabs
* Correctly space imports
* Add heading to README
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update build tools
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Update CHANGELOG and versions.yaml
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Prepare stable-v1 for version v1.0.1
* Prepare experimental-metrics for version v0.24.0
* Prepare bridge for version v0.24.0
* Update releasing documentation and create add-tags make target
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* use multimod from the .tools directory
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* precommit
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Update versions file for 1.0.0 release
* Prepare stable-v1 for version v1.0.0
* Update trace signal status in documentation
* Update changelog
* Update CHANGELOG.md
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
We previously were recording the Schema URL but were not setting
the recorded value when exporting. This change now uses the recorded
value when exporting to OTLP.
* Fix slice-valued attributes when used as map keys
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* store pointers to slice values to make them usable as map keys
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Emit slice-typed attribute values as slices, not pointers to slices
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
keep import comments of otelpconfig consistent with other
Signed-off-by: DQ <dengq@vmware.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update release versions
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Prepare experimental-metrics for version v0.23.0
* Prepare bridge for version v0.23.0
* Prepare stable-v1 for version v1.0.0-RC3
* Update CHANGELOG
Signed-off-by: Anthony J Mirabella <a9@aneurysm9.com>
* Update the website getting started docs
Add a new example, fib, that contains an application for the computation
of Fibonacci numbers. Use this example to update the website getting
started documentation.
* Revise docs english
* Update example/fib/go.mod
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
* Add a What's Next section
* Clean up intro
* Apply suggestions from code review
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
* Apply feedback
* Return from Poll on error
* Update website_docs/getting-started.md
Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>
* Add root and parent relationship info
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Joshua MacDonald <jmacd@users.noreply.github.com>