* 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
* Replace recordingSpan attributes implementation
Instead of an LRU strategy for cap-ing span attributes, comply with the
specification and drop last added. To do this, the attributesmap is
replaced with a slice of attributes.
* Remove attributesmap files
* Refine addition algorithm
Unify duplicated code.
Fix deduplication algorithm.
Fix droppedAttributes to always be returned, even if the span has no
attributes.
* Unify span SetAttributes tests
* Doc fix to attr drop order in changelog
* Test span and snapshot attrs
* fix lint
* Add tests for recordingSpan method defaults
* Comment why pre-allocation is not done
* Correct grammar in recordingSpan allocation comment
* Update sdk/trace/tracer.go
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
* use NewMember, or specify if the member is not validated when creating new ones
* expect members to already be validated when creating a new package
* add changelog entry
* add an isEmpty field to member and property for quick validation
* rename isEmpty to hasData
So by default, an empty struct really is marked as having no data
* Update baggage/baggage_test.go
Co-authored-by: Aaron Clawson <Aaron.Clawson@gmail.com>
* don't validate the member in parseMember, we alredy ran that validation
We also don't want to use NewMember, as that runs the property
validation again, making the benchmark quite slower
* move changelog entry to the fixed section
* provide the member/property data when returning an invalid error
Co-authored-by: Aaron Clawson <Aaron.Clawson@gmail.com>
* support zipkin exporter endpoint env
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* update interface and changelog
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* add pr number
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* fix lint
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* add import
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* add additional batch overhead in jaeger agent udp exporter
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
* update changelog
Signed-off-by: Ben Ye <ben.ye@bytedance.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* 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 Jaeger exporter status conversion
The status tag needs to be a string of value `ERROR` or `OK` for Error
and Ok statuses respectively according to the OTel spec.
* Add PR number to changelog
* 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>
* Use gRPC ClientConn for otlpmetricgrpc conn handling
* Update PR number
* Update otlpmetrichttp to use retry package
* Remove old commented code
* Add all other external changes to changelog
* 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>
* change resource.Default to be evaluated on first call, rather than on import
* guard defaultResource creation with sync.Once, fallback to emtpyResource
* update CHANGELOG
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Empty queued spans when ForceFlush called
Update the implementation of ForceFlush() to first ensure that all spans
which are queued are added to the batch before calling export spans.
Create a small ReadOnlySpan implementation which can be used as a marker
that ForceFlush has been invoked and used to notify when all spans are
ready to be exported.
Fixes#2080.
* Add a changelog entry.
* Update CHANGELOG.md
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Update sdk/trace/batch_span_processor.go
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* Improve test case to verify multiple flushes.
* Refactor code to use enqueue.
* Be more defensive on waiting for queue.
Update the handling of the force flush span so we only wait on the
channel if we were able to enqueue the span to the queue.
* Fix linter.
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
* 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>
Generated from a modified version of the v1.5.0 release of the
specification using a modified version of the semconvgen tools. The
specification contained capitalized IDs that caused errors from the
semconvgen tool. These errors were manually resolved and the rest of the
Go formatting tools were used to provide consistent code.
Important to note, the Go semconvgen tooling includes new name
capitalization rules for ReplicaSet, StatefulSet, and DaemonSet that
mean code names are not backwards compatible. This is included in the
changelog to help users perform the upgrade.
Generated from the v1.6.1 release of the specification using the
semconvgen tool manually.
This skips the v1.6.0 release of the specification, with no plans to add
support in the future, due to a backwards in compatibility bug in
included.
* 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
* Fix IPv6 handling errors in semconv.NetAttributesFromHTTPRequest
fixes#2283
* Enter PR number in CHANGELOG
* Remove unnecessary creation and then assignment
Standardize order of checks for IP, Name, Port
* Assume happy path when parsing host and port
i.e. assume net.SplitHostPort(input) will succeed
* Get rid of uint64 for port
* Fix git merge of main by adding back strings import
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
Co-authored-by: Tyler Yahn <codingalias@gmail.com>
* Fix: http.client_ip vs multiple addresses #2282
* Split only the necessary number of values.
As suggested by @pellared. Good suggestion, that.
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
* 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>
* move Descriptor to sdkapi, add test
* rename Descriptor to sdkapi
* precommit
* Move the rest of the sdkapi
* use alias for Observation and Measurement
* Changelog
* pr num
* comment Measurement and Observation
* swap comments
* move->moved