mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-30 13:43:03 +08:00
Bugfix django instrumentation (#1309)
This commit is contained in:
@ -3,6 +3,7 @@
|
||||
## Unreleased
|
||||
|
||||
- Django instrumentation is now enabled by default but can be disabled by setting `OTEL_PYTHON_DJANGO_INSTRUMENT` to `False` ([#1239](https://github.com/open-telemetry/opentelemetry-python/pull/1239))
|
||||
- Bugfix use request.path replace request.get_full_path(). It will get correct span name ([#1309](https://github.com/open-telemetry/opentelemetry-python/pull/1309#))
|
||||
|
||||
## Version 0.14b0
|
||||
|
||||
|
@ -81,7 +81,7 @@ class _DjangoMiddleware(MiddlewareMixin):
|
||||
if getattr(request, "resolver_match"):
|
||||
match = request.resolver_match
|
||||
else:
|
||||
match = resolve(request.get_full_path())
|
||||
match = resolve(request.path)
|
||||
|
||||
if hasattr(match, "route"):
|
||||
return match.route
|
||||
|
@ -250,6 +250,7 @@ class TestMiddleware(TestBase, WsgiTestBase):
|
||||
self.assertEqual(len(span_list), 1)
|
||||
|
||||
def test_span_name(self):
|
||||
# test no query_string
|
||||
Client().get("/span_name/1234/")
|
||||
span_list = self.memory_exporter.get_finished_spans()
|
||||
self.assertEqual(len(span_list), 1)
|
||||
@ -262,6 +263,22 @@ class TestMiddleware(TestBase, WsgiTestBase):
|
||||
else "tests.views.route_span_name",
|
||||
)
|
||||
|
||||
def test_span_name_for_query_string(self):
|
||||
"""
|
||||
request not have query string
|
||||
"""
|
||||
Client().get("/span_name/1234/?query=test")
|
||||
span_list = self.memory_exporter.get_finished_spans()
|
||||
self.assertEqual(len(span_list), 1)
|
||||
|
||||
span = span_list[0]
|
||||
self.assertEqual(
|
||||
span.name,
|
||||
"^span_name/([0-9]{4})/$"
|
||||
if DJANGO_2_2
|
||||
else "tests.views.route_span_name",
|
||||
)
|
||||
|
||||
def test_span_name_404(self):
|
||||
Client().get("/span_name/1234567890/")
|
||||
span_list = self.memory_exporter.get_finished_spans()
|
||||
|
Reference in New Issue
Block a user