-
Notifications
You must be signed in to change notification settings - Fork 805
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
feat(otlp-exporter-base)!: use transport interface in web exporters #4895
Merged
pichlermarc
merged 5 commits into
open-telemetry:main
from
dynatrace-oss-contrib:feat/browser-exporter-transport-2
Aug 21, 2024
Merged
feat(otlp-exporter-base)!: use transport interface in web exporters #4895
pichlermarc
merged 5 commits into
open-telemetry:main
from
dynatrace-oss-contrib:feat/browser-exporter-transport-2
Aug 21, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pichlermarc
force-pushed
the
feat/browser-exporter-transport-2
branch
from
August 2, 2024 12:09
0e75af3
to
bf20673
Compare
4 tasks
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #4895 +/- ##
==========================================
+ Coverage 91.04% 92.16% +1.11%
==========================================
Files 89 158 +69
Lines 1954 3471 +1517
Branches 416 761 +345
==========================================
+ Hits 1779 3199 +1420
- Misses 175 272 +97
|
pichlermarc
force-pushed
the
feat/browser-exporter-transport-2
branch
from
August 9, 2024 07:41
c365399
to
aef7d15
Compare
david-luna
approved these changes
Aug 19, 2024
trentm
approved these changes
Aug 20, 2024
Zirak
pushed a commit
to Zirak/opentelemetry-js
that referenced
this pull request
Sep 14, 2024
This was referenced Sep 19, 2024
This was referenced Sep 20, 2024
This was referenced Sep 24, 2024
This was referenced Sep 30, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Which problem is this PR solving?
This PR applies the pattern from #4743 to the browser exporters. The first commit in this draft is #4889, as existing tests rely on fixing this behavior first.
This PR makes it so that retry logic is shared across both Node.js and Browser, and by implementing the
IExporterTransport
interface forsendBeacon
andXHR
, moves us closer to combining all base classes.With this change, you'll also notice that the code from all
OTLPExporterNodeBase
,OTLPExporterBrowserBase
, andOTLPGRPCExporterBase
all start looking very similar to each other, only differing in their constructor. In a follow-up I'll tackle configuration, which will allow us to combine all three into a shared base. See #4415 for how this will look like.Breaking changes:
sendWithXhr()
headers
property was intended for internal use has been removed from all exportersOnce configuration is individually testable, we can reduce the existing tests for the exporters to higher-level integration tests as opposed to the very deep integration/unit tests that assert the state of the now individually tested sub components.
Part of #4116
Requires #4889
Type of change
How Has This Been Tested?
opentelemetry-web
example