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

Add Jaeger Thrift HTTP exporter #926

Merged
merged 8 commits into from
Jul 28, 2021
Merged

Conversation

seemk
Copy link
Contributor

@seemk seemk commented Jul 27, 2021

Adds capability to upload Thrift over HTTP for Jaeger exporter.

  • Max POST body size defaults to 4 MiB
  • Extra headers can be provided to the HTTP uploads.

Not sure how to automatically test it since we don't have integration tests anywhere, or do we? The UDP exporter is pretty much in the same state.

  • CHANGELOG.md updated for non-trivial changes
  • Unit tests have been added
  • Changes in public API reviewed

@seemk seemk requested a review from a team July 27, 2021 20:29
@codecov
Copy link

codecov bot commented Jul 27, 2021

Codecov Report

Merging #926 (3bf905f) into main (a1db1ca) will increase coverage by 0.02%.
The diff coverage is n/a.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #926      +/-   ##
==========================================
+ Coverage   95.43%   95.44%   +0.02%     
==========================================
  Files         158      158              
  Lines        6749     6749              
==========================================
+ Hits         6440     6441       +1     
+ Misses        309      308       -1     
Impacted Files Coverage Δ
...include/opentelemetry/sdk/common/circular_buffer.h 100.00% <0.00%> (+2.09%) ⬆️

@lalitb
Copy link
Member

lalitb commented Jul 28, 2021

Not sure how to automatically test it since we don't have integration tests anywhere, or do we?

otlp-http exporter uses the test http server provided as part of this repo for functional tests :

class OtlpHttpExporterTestPeer : public ::testing::Test, public HTTP_SERVER_NS::HttpRequestCallback

Copy link
Member

@lalitb lalitb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks for adding the support.


bool isOpen() const override;

uint32_t read(uint8_t *buf, uint32_t len);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need to provide read as it is not used?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The base Transport class (TTransport::read_virt) will throw if this is invoked and I wasn't sure if the Thrift binary protocol will actually call this method, probably not, but just to be on the safe side 😨

@lalitb lalitb merged commit 914df66 into open-telemetry:main Jul 28, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants