Skip to content

Commit 76386a8

Browse files
committed
Revert "code change to resolve the bug #449"
This reverts commit 76b2278.
1 parent c36c445 commit 76386a8

File tree

2 files changed

+9
-55
lines changed

2 files changed

+9
-55
lines changed

Diff for: instrumentation/opentelemetry-instrumentation-pyramid/src/opentelemetry/instrumentation/pyramid/callbacks.py

+9-23
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,13 @@
2020
from pyramid.tweens import EXCVIEW
2121

2222
import opentelemetry.instrumentation.wsgi as otel_wsgi
23-
from opentelemetry import context
23+
from opentelemetry import context, trace
2424
from opentelemetry.instrumentation.propagators import (
2525
get_global_response_propagator,
2626
)
2727
from opentelemetry.instrumentation.pyramid.version import __version__
2828
from opentelemetry.propagate import extract
2929
from opentelemetry.semconv.trace import SpanAttributes
30-
from opentelemetry.trace import (
31-
INVALID_SPAN,
32-
SpanKind,
33-
get_current_span,
34-
get_tracer,
35-
use_span,
36-
)
3730
from opentelemetry.util._time import _time_ns
3831
from opentelemetry.util.http import get_excluded_urls
3932

@@ -89,24 +82,19 @@ def _before_traversal(event):
8982

9083
start_time = request_environ.get(_ENVIRON_STARTTIME_KEY)
9184

92-
token = context = None
93-
span_kind = SpanKind.INTERNAL
94-
tracer = get_tracer(__name__, __version__)
85+
token = context.attach(
86+
extract(request_environ, getter=otel_wsgi.wsgi_getter)
87+
)
88+
tracer = trace.get_tracer(__name__, __version__)
9589

9690
if request.matched_route:
9791
span_name = request.matched_route.pattern
9892
else:
9993
span_name = otel_wsgi.get_default_span_name(request_environ)
10094

101-
if get_current_span() is INVALID_SPAN:
102-
context = extract(request_environ, getter=otel_wsgi.wsgi_getter)
103-
token = context.attach(context)
104-
span_kind = SpanKind.SERVER
105-
10695
span = tracer.start_span(
10796
span_name,
108-
context,
109-
kind=span_kind,
97+
kind=trace.SpanKind.SERVER,
11098
start_time=start_time,
11199
)
112100

@@ -119,12 +107,11 @@ def _before_traversal(event):
119107
for key, value in attributes.items():
120108
span.set_attribute(key, value)
121109

122-
activation = use_span(span, end_on_exit=True)
110+
activation = trace.use_span(span, end_on_exit=True)
123111
activation.__enter__() # pylint: disable=E1101
124112
request_environ[_ENVIRON_ACTIVATION_KEY] = activation
125113
request_environ[_ENVIRON_SPAN_KEY] = span
126-
if token:
127-
request_environ[_ENVIRON_TOKEN] = token
114+
request_environ[_ENVIRON_TOKEN] = token
128115

129116

130117
def trace_tween_factory(handler, registry):
@@ -193,8 +180,7 @@ def trace_tween(request):
193180
else:
194181
activation.__exit__(None, None, None)
195182

196-
if request.environ.get(_ENVIRON_TOKEN, None) is not None:
197-
context.detach(request.environ.get(_ENVIRON_TOKEN))
183+
context.detach(request.environ.get(_ENVIRON_TOKEN))
198184

199185
return response
200186

Diff for: instrumentation/opentelemetry-instrumentation-pyramid/tests/test_automatic.py

-32
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
from opentelemetry.instrumentation.pyramid import PyramidInstrumentor
1818
from opentelemetry.test.test_base import TestBase
1919
from opentelemetry.test.wsgitestutil import WsgiTestBase
20-
from opentelemetry.trace import SpanKind
2120

2221
# pylint: disable=import-error
2322
from .pyramid_base_test import InstrumentationTest
@@ -78,34 +77,3 @@ def test_tween_list(self):
7877
self.assertEqual([b"Hello: 123"], list(resp.response))
7978
span_list = self.memory_exporter.get_finished_spans()
8079
self.assertEqual(len(span_list), 1)
81-
82-
83-
class TestWrappedWithOtherFramework(
84-
InstrumentationTest, TestBase, WsgiTestBase
85-
):
86-
def setUp(self):
87-
super().setUp()
88-
PyramidInstrumentor().instrument()
89-
self.config = Configurator()
90-
self._common_initialization(self.config)
91-
92-
def tearDown(self) -> None:
93-
super().tearDown()
94-
with self.disable_logging():
95-
PyramidInstrumentor().uninstrument()
96-
97-
def test_with_existing_span(self):
98-
tracer_provider, _ = self.create_tracer_provider()
99-
tracer = tracer_provider.get_tracer(__name__)
100-
101-
with tracer.start_as_current_span(
102-
"test", kind=SpanKind.SERVER
103-
) as parent_span:
104-
resp = self.client.get("/hello/123")
105-
self.assertEqual(200, resp.status_code)
106-
span_list = self.memory_exporter.get_finished_spans()
107-
self.assertEqual(SpanKind.INTERNAL, span_list[0].kind)
108-
self.assertEqual(
109-
parent_span.get_span_context().span_id,
110-
span_list[0].parent.span_id,
111-
)

0 commit comments

Comments
 (0)