mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-31 14:11:50 +08:00
Bugfix django instrumentation (#1309)
This commit is contained in:
@ -3,6 +3,7 @@
|
|||||||
## Unreleased
|
## 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))
|
- 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
|
## Version 0.14b0
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ class _DjangoMiddleware(MiddlewareMixin):
|
|||||||
if getattr(request, "resolver_match"):
|
if getattr(request, "resolver_match"):
|
||||||
match = request.resolver_match
|
match = request.resolver_match
|
||||||
else:
|
else:
|
||||||
match = resolve(request.get_full_path())
|
match = resolve(request.path)
|
||||||
|
|
||||||
if hasattr(match, "route"):
|
if hasattr(match, "route"):
|
||||||
return match.route
|
return match.route
|
||||||
|
@ -250,6 +250,7 @@ class TestMiddleware(TestBase, WsgiTestBase):
|
|||||||
self.assertEqual(len(span_list), 1)
|
self.assertEqual(len(span_list), 1)
|
||||||
|
|
||||||
def test_span_name(self):
|
def test_span_name(self):
|
||||||
|
# test no query_string
|
||||||
Client().get("/span_name/1234/")
|
Client().get("/span_name/1234/")
|
||||||
span_list = self.memory_exporter.get_finished_spans()
|
span_list = self.memory_exporter.get_finished_spans()
|
||||||
self.assertEqual(len(span_list), 1)
|
self.assertEqual(len(span_list), 1)
|
||||||
@ -262,6 +263,22 @@ class TestMiddleware(TestBase, WsgiTestBase):
|
|||||||
else "tests.views.route_span_name",
|
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):
|
def test_span_name_404(self):
|
||||||
Client().get("/span_name/1234567890/")
|
Client().get("/span_name/1234567890/")
|
||||||
span_list = self.memory_exporter.get_finished_spans()
|
span_list = self.memory_exporter.get_finished_spans()
|
||||||
|
Reference in New Issue
Block a user