Skip to content

Commit 65801c3

Browse files
authored
Fix requests and urllib instrumentations span name callback parameters (#259)
1 parent 187987d commit 65801c3

File tree

5 files changed

+12
-12
lines changed

5 files changed

+12
-12
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3939
([#242](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/242))
4040
- `opentelemetry-instrumentation-flask` Do not emit a warning message for request contexts created with `app.test_request_context`
4141
([#253](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/253))
42+
- `opentelemetry-instrumentation-requests`, `opentelemetry-instrumentation-urllib` Fix span name callback parameters
43+
- ([#259](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/259))
4244

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

instrumentation/opentelemetry-instrumentation-requests/src/opentelemetry/instrumentation/requests/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ def _instrumented_requests_call(
122122
method = method.upper()
123123
span_name = ""
124124
if name_callback is not None:
125-
span_name = name_callback()
125+
span_name = name_callback(method, url)
126126
if not span_name or not isinstance(span_name, str):
127127
span_name = get_default_span_name(method)
128128

instrumentation/opentelemetry-instrumentation-requests/tests/test_requests_integration.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,19 +108,19 @@ def test_basic(self):
108108
self.assertGreaterEqual(view_data.aggregator.current.sum, 0)
109109

110110
def test_name_callback(self):
111-
def name_callback():
112-
return "test_name"
111+
def name_callback(method, url):
112+
return "GET" + url
113113

114114
RequestsInstrumentor().uninstrument()
115115
RequestsInstrumentor().instrument(name_callback=name_callback)
116116
result = self.perform_request(self.URL)
117117
self.assertEqual(result.text, "Hello!")
118118
span = self.assert_span()
119119

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

122122
def test_name_callback_default(self):
123-
def name_callback():
123+
def name_callback(method, url):
124124
return 123
125125

126126
RequestsInstrumentor().uninstrument()

instrumentation/opentelemetry-instrumentation-urllib/src/opentelemetry/instrumentation/urllib/__init__.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,6 @@ def uninstrument_opener(
101101
_uninstrument_from(opener, restore_as_bound_func=True)
102102

103103

104-
# pylint: disable=unused-argument
105-
# pylint: disable=R0915
106104
def get_default_span_name(method):
107105
"""Default implementation for name_callback, returns HTTP {method_name}."""
108106
return "HTTP {}".format(method).strip()
@@ -145,7 +143,7 @@ def _instrumented_open_call(
145143

146144
span_name = ""
147145
if name_callback is not None:
148-
span_name = name_callback()
146+
span_name = name_callback(method, url)
149147
if not span_name or not isinstance(span_name, str):
150148
span_name = get_default_span_name(method)
151149

instrumentation/opentelemetry-instrumentation-urllib/tests/test_urllib_integration.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ def test_basic(self):
137137
self.assertGreaterEqual(view_data.aggregator.current.sum, 0)
138138

139139
def test_name_callback(self):
140-
def name_callback():
141-
return "test_name"
140+
def name_callback(method, url):
141+
return "GET" + url
142142

143143
URLLibInstrumentor().uninstrument()
144144
URLLibInstrumentor().instrument(name_callback=name_callback)
@@ -147,10 +147,10 @@ def name_callback():
147147
self.assertEqual(result.read(), b"Hello!")
148148
span = self.assert_span()
149149

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

152152
def test_name_callback_default(self):
153-
def name_callback():
153+
def name_callback(method, url):
154154
return 123
155155

156156
URLLibInstrumentor().uninstrument()

0 commit comments

Comments
 (0)