@@ -116,6 +116,7 @@ def response_hook(span: Span, environ: WSGIEnvironment, status: str, response_he
116
116
from opentelemetry .instrumentation .wsgi .version import __version__
117
117
from opentelemetry .propagators .textmap import Getter
118
118
from opentelemetry .semconv .trace import SpanAttributes
119
+ from opentelemetry .trace import NonRecordingSpan
119
120
from opentelemetry .trace .status import Status , StatusCode
120
121
from opentelemetry .util .http import (
121
122
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST ,
@@ -313,7 +314,7 @@ def _create_start_response(span, start_response, response_hook):
313
314
@functools .wraps (start_response )
314
315
def _start_response (status , response_headers , * args , ** kwargs ):
315
316
add_response_attributes (span , status , response_headers )
316
- if span .kind == trace .SpanKind .SERVER :
317
+ if not isinstance ( span , NonRecordingSpan ) and span .kind == trace .SpanKind .SERVER :
317
318
add_custom_response_headers (span , response_headers )
318
319
if response_hook :
319
320
response_hook (status , response_headers )
@@ -336,7 +337,7 @@ def __call__(self, environ, start_response):
336
337
context_getter = wsgi_getter ,
337
338
attributes = collect_request_attributes (environ ),
338
339
)
339
- if span .kind == trace .SpanKind .SERVER :
340
+ if not isinstance ( span , NonRecordingSpan ) and span .kind == trace .SpanKind .SERVER :
340
341
add_custom_request_headers (span , environ )
341
342
342
343
if self .request_hook :
0 commit comments