Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit f4aecdf

Browse files
srikanthccvlzchenocelotl
authored
Show helpful message when propagator is not found (open-telemetry#3259)
Co-authored-by: Leighton Chen <[email protected]> Co-authored-by: Diego Hurtado <[email protected]>
1 parent 251b74a commit f4aecdf

File tree

2 files changed

+14
-14
lines changed

2 files changed

+14
-14
lines changed

opentelemetry-api/src/opentelemetry/propagate/__init__.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,11 +144,12 @@ def inject(
144144
)
145145
).load()()
146146
)
147-
148-
except Exception: # pylint: disable=broad-except
149-
logger.exception(
150-
"Failed to load configured propagator: %s", propagator
147+
except StopIteration:
148+
raise ValueError(
149+
f"Propagator {propagator} not found. It is either misspelled or not installed."
151150
)
151+
except Exception: # pylint: disable=broad-except
152+
logger.exception("Failed to load propagator: %s", propagator)
152153
raise
153154

154155

opentelemetry-api/tests/propagators/test_propagators.py

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
# type: ignore
1616

1717
from importlib import reload
18-
from logging import ERROR
1918
from os import environ
2019
from unittest import TestCase
2120
from unittest.mock import Mock, patch
@@ -109,16 +108,16 @@ def test_propagators(propagators):
109108
)
110109
def test_composite_propagators_error(self):
111110

112-
# pylint: disable=import-outside-toplevel
113-
import opentelemetry.propagate
111+
with self.assertRaises(ValueError) as cm:
112+
# pylint: disable=import-outside-toplevel
113+
import opentelemetry.propagate
114+
115+
reload(opentelemetry.propagate)
114116

115-
with self.assertRaises(Exception):
116-
with self.assertLogs(level=ERROR) as err:
117-
reload(opentelemetry.propagate)
118-
self.assertIn(
119-
"Failed to load configured propagator `unknown`",
120-
err.output[0],
121-
)
117+
self.assertEqual(
118+
str(cm.exception),
119+
"Propagator unknown not found. It is either misspelled or not installed.",
120+
)
122121

123122

124123
class TestTraceContextTextMapPropagator(TestCase):

0 commit comments

Comments
 (0)