mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-08-01 17:34:38 +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
|
## 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
|
- Record span status and http.status_code attribute on exception
|
||||||
([#1257](https://github.com/open-telemetry/opentelemetry-python/pull/1257))
|
([#1257](https://github.com/open-telemetry/opentelemetry-python/pull/1257))
|
||||||
|
|
||||||
|
@ -110,9 +110,13 @@ def _before_request():
|
|||||||
return
|
return
|
||||||
|
|
||||||
environ = flask.request.environ
|
environ = flask.request.environ
|
||||||
span_name = flask.request.endpoint or otel_wsgi.get_default_span_name(
|
span_name = None
|
||||||
environ
|
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(
|
token = context.attach(
|
||||||
propagators.extract(otel_wsgi.get_header_from_environ, environ)
|
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()
|
span_list = self.memory_exporter.get_finished_spans()
|
||||||
self.assertEqual(len(span_list), 1)
|
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].kind, trace.SpanKind.SERVER)
|
||||||
self.assertEqual(span_list[0].attributes, expected_attrs)
|
self.assertEqual(span_list[0].attributes, expected_attrs)
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ class TestProgrammatic(InstrumentationTest, TestBase, WsgiTestBase):
|
|||||||
resp.close()
|
resp.close()
|
||||||
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)
|
||||||
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].kind, trace.SpanKind.SERVER)
|
||||||
self.assertEqual(span_list[0].attributes, expected_attrs)
|
self.assertEqual(span_list[0].attributes, expected_attrs)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user