feat(@opentelemetry-instrumentation-fetch): optionally ignore network events #3028
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?
Summary: This PR allows to optionally disable adding network events as span events to control the total volume of telemetry data produced.
Some of the modern vendors treat spans and span events (annotations) equally – both are counted towards the overall retained events volume. Similarly, vendors that charge for the overall size of data retained will count span annotations as part of the data. Typically, span produced by the
@opentelemetry-instrumentation-fetch
includes 9 network events – 10 event items along with the span itself. It would be great to have ability to optionally disable network events being added as span annotations to reduce the overall volume of data/events generated and eventually retained.Short description of the changes
This PR adds an optional boolean flag
ignoreNetworkEvents
to theFetchInstrumentation
. When set totrue
network events are not added to the span.Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Running
npm run test:browser
will run the newly added test as part of the suite:Checklist: