mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-30 05:32:30 +08:00
Use url.rule instead of request.endpoint for span name flask instrumentation (#1260)
This commit is contained in:
@ -2,6 +2,8 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
- Use `url.rule` instead of `request.endpoint` for span name
|
||||
([#1260](https://github.com/open-telemetry/opentelemetry-python/pull/1260))
|
||||
- Record span status and http.status_code attribute on exception
|
||||
([#1257](https://github.com/open-telemetry/opentelemetry-python/pull/1257))
|
||||
|
||||
|
@ -110,9 +110,13 @@ def _before_request():
|
||||
return
|
||||
|
||||
environ = flask.request.environ
|
||||
span_name = flask.request.endpoint or otel_wsgi.get_default_span_name(
|
||||
environ
|
||||
)
|
||||
span_name = None
|
||||
try:
|
||||
span_name = flask.request.url_rule.rule
|
||||
except AttributeError:
|
||||
pass
|
||||
if span_name is None:
|
||||
span_name = otel_wsgi.get_default_span_name(environ)
|
||||
token = context.attach(
|
||||
propagators.extract(otel_wsgi.get_header_from_environ, environ)
|
||||
)
|
||||
|
@ -102,7 +102,7 @@ class TestProgrammatic(InstrumentationTest, TestBase, WsgiTestBase):
|
||||
|
||||
span_list = self.memory_exporter.get_finished_spans()
|
||||
self.assertEqual(len(span_list), 1)
|
||||
self.assertEqual(span_list[0].name, "_hello_endpoint")
|
||||
self.assertEqual(span_list[0].name, "/hello/<int:helloid>")
|
||||
self.assertEqual(span_list[0].kind, trace.SpanKind.SERVER)
|
||||
self.assertEqual(span_list[0].attributes, expected_attrs)
|
||||
|
||||
@ -154,7 +154,7 @@ class TestProgrammatic(InstrumentationTest, TestBase, WsgiTestBase):
|
||||
resp.close()
|
||||
span_list = self.memory_exporter.get_finished_spans()
|
||||
self.assertEqual(len(span_list), 1)
|
||||
self.assertEqual(span_list[0].name, "_hello_endpoint")
|
||||
self.assertEqual(span_list[0].name, "/hello/<int:helloid>")
|
||||
self.assertEqual(span_list[0].kind, trace.SpanKind.SERVER)
|
||||
self.assertEqual(span_list[0].attributes, expected_attrs)
|
||||
|
||||
|
Reference in New Issue
Block a user