Skip to content

Commit

Permalink
Fix requests and urllib instrumentations span name callback parameters (
Browse files Browse the repository at this point in the history
  • Loading branch information
lzchen committed Dec 16, 2020
1 parent 187987d commit 65801c3
Show file tree
Hide file tree
Showing 5 changed files with 12 additions and 12 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
([#242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/242))
- `opentelemetry-instrumentation-flask` Do not emit a warning message for request contexts created with `app.test_request_context`
([#253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/253))
- `opentelemetry-instrumentation-requests`, `opentelemetry-instrumentation-urllib` Fix span name callback parameters
- ([#259](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/259))

## [0.16b1](https://github.com/open-telemetry/opentelemetry-python-contrib/releases/tag/v0.16b1) - 2020-11-26

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ def _instrumented_requests_call(
method = method.upper()
span_name = ""
if name_callback is not None:
span_name = name_callback()
span_name = name_callback(method, url)
if not span_name or not isinstance(span_name, str):
span_name = get_default_span_name(method)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,19 +108,19 @@ def test_basic(self):
self.assertGreaterEqual(view_data.aggregator.current.sum, 0)

def test_name_callback(self):
def name_callback():
return "test_name"
def name_callback(method, url):
return "GET" + url

RequestsInstrumentor().uninstrument()
RequestsInstrumentor().instrument(name_callback=name_callback)
result = self.perform_request(self.URL)
self.assertEqual(result.text, "Hello!")
span = self.assert_span()

self.assertEqual(span.name, "test_name")
self.assertEqual(span.name, "GET" + self.URL)

def test_name_callback_default(self):
def name_callback():
def name_callback(method, url):
return 123

RequestsInstrumentor().uninstrument()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,6 @@ def uninstrument_opener(
_uninstrument_from(opener, restore_as_bound_func=True)


# pylint: disable=unused-argument
# pylint: disable=R0915
def get_default_span_name(method):
"""Default implementation for name_callback, returns HTTP {method_name}."""
return "HTTP {}".format(method).strip()
Expand Down Expand Up @@ -145,7 +143,7 @@ def _instrumented_open_call(

span_name = ""
if name_callback is not None:
span_name = name_callback()
span_name = name_callback(method, url)
if not span_name or not isinstance(span_name, str):
span_name = get_default_span_name(method)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,8 @@ def test_basic(self):
self.assertGreaterEqual(view_data.aggregator.current.sum, 0)

def test_name_callback(self):
def name_callback():
return "test_name"
def name_callback(method, url):
return "GET" + url

URLLibInstrumentor().uninstrument()
URLLibInstrumentor().instrument(name_callback=name_callback)
Expand All @@ -147,10 +147,10 @@ def name_callback():
self.assertEqual(result.read(), b"Hello!")
span = self.assert_span()

self.assertEqual(span.name, "test_name")
self.assertEqual(span.name, "GET" + self.URL)

def test_name_callback_default(self):
def name_callback():
def name_callback(method, url):
return 123

URLLibInstrumentor().uninstrument()
Expand Down

0 comments on commit 65801c3

Please sign in to comment.