Skip to content

Commit 12a4746

Browse files
committed
Fix suppress_instrumentation functionality
1 parent 15bf875 commit 12a4746

File tree

2 files changed

+9
-5
lines changed
  • instrumentation/opentelemetry-instrumentation-pika

2 files changed

+9
-5
lines changed

instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/utils.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from pika.channel import Channel
44
from pika.spec import Basic, BasicProperties
55

6-
from opentelemetry import propagate, trace
6+
from opentelemetry import context, propagate, trace
77
from opentelemetry.instrumentation.utils import _SUPPRESS_INSTRUMENTATION_KEY
88
from opentelemetry.propagators.textmap import CarrierT, Getter
99
from opentelemetry.semconv.trace import (
@@ -102,9 +102,10 @@ def get_span(
102102
if properties.headers is None:
103103
properties.headers = {}
104104
ctx = propagate.extract(properties.headers, getter=pika_getter)
105-
if ctx.get_value("suppress_instrumentation") or ctx.get_value(
105+
if context.get_value("suppress_instrumentation") or context.get_value(
106106
_SUPPRESS_INSTRUMENTATION_KEY
107107
):
108+
print("Suppressing instrumentation!")
108109
return None
109110
task_name = properties.type if properties.type else task_name
110111
span = tracer.start_span(

instrumentation/opentelemetry-instrumentation-pika/tests/test_utils.py

+6-3
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,21 @@
2020

2121
class TestUtils(TestCase):
2222
@staticmethod
23+
@mock.patch("opentelemetry.context.get_value")
2324
@mock.patch("opentelemetry.instrumentation.pika.utils.generate_span_name")
2425
@mock.patch("opentelemetry.instrumentation.pika.utils.enrich_span")
2526
@mock.patch("opentelemetry.propagate.extract")
2627
def test_get_span(
2728
extract: mock.MagicMock,
2829
enrich_span: mock.MagicMock,
2930
generate_span_name: mock.MagicMock,
31+
get_value: mock.MagicMock,
3032
) -> None:
3133
tracer = mock.MagicMock(spec=Tracer)
3234
channel = mock.MagicMock()
3335
properties = mock.MagicMock()
3436
task_name = "test.test"
35-
context = mock.MagicMock()
36-
context.get_value.return_value = None
37-
extract.return_value = context
37+
get_value.return_value = None
3838
span = utils.get_span(tracer, channel, properties, task_name)
3939
extract.assert_called_once()
4040
generate_span_name.assert_called_once()
@@ -47,6 +47,7 @@ def test_get_span(
4747
for call in enrich_span.call_args_list
4848
), "The returned span was not enriched using enrich_span!"
4949

50+
@mock.patch("opentelemetry.context.get_value")
5051
@mock.patch("opentelemetry.instrumentation.pika.utils.generate_span_name")
5152
@mock.patch("opentelemetry.instrumentation.pika.utils.enrich_span")
5253
@mock.patch("opentelemetry.propagate.extract")
@@ -55,11 +56,13 @@ def test_get_span_suppressed(
5556
extract: mock.MagicMock,
5657
enrich_span: mock.MagicMock,
5758
generate_span_name: mock.MagicMock,
59+
get_value: mock.MagicMock,
5860
) -> None:
5961
tracer = mock.MagicMock(spec=Tracer)
6062
channel = mock.MagicMock()
6163
properties = mock.MagicMock()
6264
task_name = "test.test"
65+
get_value.return_value = True
6366
span = utils.get_span(tracer, channel, properties, task_name)
6467
self.assertEqual(span, None)
6568
extract.assert_called_once()

0 commit comments

Comments
 (0)