Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement OTLP/HTTP exporter #882

Closed
tigrannajaryan opened this issue Apr 27, 2020 · 6 comments
Closed

Implement OTLP/HTTP exporter #882

tigrannajaryan opened this issue Apr 27, 2020 · 6 comments
Assignees
Projects

Comments

@tigrannajaryan
Copy link
Member

See spec https://github.com/open-telemetry/oteps/blob/master/text/0099-otlp-http.md

This likely should be part of the existing "otlp" exporter and the transport may be selectable via a config option.

@tigrannajaryan
Copy link
Member Author

See a similar protocol implementation as an example https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/master/exporter/sapmexporter

@tigrannajaryan tigrannajaryan added the help wanted Good issue for contributors to OpenTelemetry Service to pick up label May 8, 2020
@tigrannajaryan tigrannajaryan added this to To do in Collector May 19, 2020
@kirbyquerby
Copy link
Member

May I work on this?

@tigrannajaryan
Copy link
Member Author

@kirbyquerby yes, please!

@flands flands added this to the GA 1.0 milestone Jun 18, 2020
@tigrannajaryan
Copy link
Member Author

@kirbyquerby do you still plan to work on this?

@tigrannajaryan
Copy link
Member Author

@bogdandrutu assigning this to you since you started working on it.

@tigrannajaryan tigrannajaryan removed the help wanted Good issue for contributors to OpenTelemetry Service to pick up label Jun 26, 2020
@flands flands moved this from To do to Backlog in Collector Jul 27, 2020
tigrannajaryan pushed a commit to tigrannajaryan/opentelemetry-collector that referenced this issue Oct 9, 2020
…g tests.

Contributes to: open-telemetry#882

Testing: config and factory tests unit tests added.

Documentation: Added README.

The next PR will add the exporting logic.
tigrannajaryan pushed a commit to tigrannajaryan/opentelemetry-collector that referenced this issue Oct 9, 2020
…g tests.

Contributes to: open-telemetry#882

Testing: config and factory tests unit tests added.

Documentation: Added README.

The next PR will add the exporting logic.
tigrannajaryan pushed a commit to tigrannajaryan/opentelemetry-collector that referenced this issue Oct 9, 2020
…g tests.

Contributes to: open-telemetry#882

Testing: config and factory tests unit tests added.

Documentation: Added README.

The next PR will add the exporting logic.
@tigrannajaryan tigrannajaryan changed the title Implement OTLP/HTTP exporter Begin implementation of OTLP/HTTP exporter Oct 9, 2020
@tigrannajaryan tigrannajaryan changed the title Begin implementation of OTLP/HTTP exporter Implement OTLP/HTTP exporter Oct 9, 2020
tigrannajaryan pushed a commit to tigrannajaryan/opentelemetry-collector that referenced this issue Oct 9, 2020
This adds the initial config and factory boilerplate and corresponding tests.

Contributes to: open-telemetry#882

Testing: config and factory tests unit tests added.

Documentation: Added README.

The next PR will add the exporting logic.
tigrannajaryan pushed a commit to tigrannajaryan/opentelemetry-collector that referenced this issue Oct 9, 2020
This adds the initial config and factory boilerplate and corresponding tests.

Contributes to: open-telemetry#882

Testing: config and factory tests unit tests added.

Documentation: Added README.

The next PR will add the exporting logic.
tigrannajaryan pushed a commit to tigrannajaryan/opentelemetry-collector that referenced this issue Oct 9, 2020
This adds the initial config and factory boilerplate and corresponding tests.

Contributes to: open-telemetry#882

Testing: config and factory tests unit tests added.

Documentation: Added README.

The next PR will add the exporting logic.
tigrannajaryan pushed a commit to tigrannajaryan/opentelemetry-collector that referenced this issue Oct 9, 2020
This adds the initial config and factory boilerplate and corresponding tests.

Contributes to: open-telemetry#882

Testing: config and factory tests unit tests added.

Documentation: Added README.

The next PR will add the exporting logic.
tigrannajaryan pushed a commit to tigrannajaryan/opentelemetry-collector that referenced this issue Oct 9, 2020
This adds the initial config and factory boilerplate and corresponding tests.

Contributes to: open-telemetry#882

Testing: config and factory tests unit tests added.

Documentation: Added README.

The next PR will add the exporting logic.
bogdandrutu pushed a commit that referenced this issue Oct 13, 2020
This adds the initial config and factory boilerplate and corresponding tests.

Contributes to: #882

Testing: config and factory tests unit tests added.

Documentation: Added README.

The next PR will add the exporting logic.
@tigrannajaryan
Copy link
Member Author

Basic implementation is ready: https://github.com/open-telemetry/opentelemetry-collector/tree/master/exporter/otlphttpexporter
Closing. Create new issues for improvements.

Collector automation moved this from Backlog to Done Oct 19, 2020
MovieStoreGuy pushed a commit to atlassian-forks/opentelemetry-collector that referenced this issue Nov 11, 2021
* Correct B3 propagators and add tests

* Break up external integration and internal unit tests

* Add changes to Changelog.

* Update Changelog with PR number

* Fix lint issues

* Update trace flags

Add a new "not sampled" mask to complement the existing "sampled" one.

Rename `FlagsUnused` to `FlagsUnset`.

Add documentation for each of the flags to help understand their
purpose.

* Update extractSingle to support unset sampling

* Update existing tests to appropriately use FlagsUnset

* Remove bogus debug flag test

The B3 specification states "Debug is encoded as `X-B3-Flags: 1`. Absent
or any other values can be ignored", so testing of other values should
not result in an error.

* B3 Extract now supports parsing both headers

Remove test cases that would fail if the fallback header format was
expected to not be used.

* Feedback

* Switch to bitmask inject encoding field

Add the B3Encoding and valid HTTP based values. Change the B3 propagator
to use these bitmask fields to specify the inject encoding it will
propagate.

* Add comments

* Migrate B3 integration tests to existing testtrace

* Update comment

* Benchmark invalid B3 injects as well

* Update trace flags

Add a FlagsDebug and FlagsDeferred to track the B3 trace state.

Add helper methods to the SpanContext to check the debug and deferred
bit of the trace flags.

Update SpanContext.IsSampled to return if the sampling decision is to
sample rather than if the sample bit is set. This means that if the
debug bit is also set it will return true.

* Revert SpanContext.IsSampled back

* Add comment to b3 test data generation

* Update Changelog

* Fix trace flag name in Changelog

* Fix Changelog formatting

* Update Changelog

* Remove valid check at start of B3 injectg

This check makes sample only headers not propagate.

* Update B3 inject integration tests

Use the passed SpanContext and check directly the span ID.

* Update B3 integration tests

Run update checked SpanID to match sent.

Add tests to validate sample only transmissions and debug flag support.

* Rename injectTest parentSc to sc

This is no longer the parent.

* Update GetAllKeys for B3

* Un-Export the B3 headers

The B3SingleHeader name will conflict with the upcoming change to prefix
the SingleHeader encoding with "B3". There are a few options to address
this conflict, but in the end we do not need to be exporting these
values. They are duplicates of the OpenZipkin package and users should
use those.

* Rename B3 encodings and move support method to B3Encoding

Include a `B3` prefix to scope the encoding names.

Move the related support method to the B3Encoding itself, instead of the
B3 propagator.

Add tests to provide a sanity check for encoding bitmasks.

* Update span_context_test tests

Update test name to better describe how unused bits have no affect on
the sampling decision. Include the inverse of this test as well: not
sampled but has unused bits.

* Use named const for Single Header decoding widths

* Update api/trace/b3_propagator.go

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>

Co-authored-by: Anthony Mirabella <a9@aneurysm9.com>
hughesjj pushed a commit to hughesjj/opentelemetry-collector that referenced this issue Apr 27, 2023
Troels51 pushed a commit to Troels51/opentelemetry-collector that referenced this issue Jul 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
No open projects
Collector
  
Done
Development

No branches or pull requests

4 participants