Suppress http receive/send
spans from Starlette Instrumentor for Agent Observability
#464
+80
−26
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.
Description of changes:

Starlette Instrumentor
utilizes theOpenTelemetryMiddleware
instrumentation to capture all events generated by ASGIRequest received, Response headers sent (http.response.start), Response body sent (http.response.body)
which leads to a lot of span noises for streaming events:Luckily, the upstream
OpenTelemetryMiddleware
provides a configuration in the constructor to suppress these instrumentations: https://github.com/open-telemetry/opentelemetry-python-contrib/blob/51da0a766e5d3cbc746189e10c9573163198cfcd/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py#L573Enabling this for Agent Observability to help filter out noise.

Related issue for removing the need for this patch in the long term, using the proposed
OTEL_PYTHON_STARLETTE_EXCLUDED_SPANS
environment variable:open-telemetry/opentelemetry-python-contrib#3725
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.