Skip to content

Commit e6c9c44

Browse files
Revert "Update opentelemetry conventions (#245) (#249)"
This reverts commit c7e210d.
1 parent c7e210d commit e6c9c44

File tree

10 files changed

+24
-45
lines changed

10 files changed

+24
-45
lines changed

docs/sphinx/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,5 @@
4545

4646
intersphinx_mapping = {
4747
"python": ("https://docs.python.org/3", None),
48-
"requests": ("https://requests.readthedocs.io/en/latest", None),
48+
"requests": ("https://docs.python-requests.org/en/latest", None),
4949
}

elastic_transport/_async_transport.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,7 @@ async def perform_request( # type: ignore[override, return]
260260
node: BaseAsyncNode = self.node_pool.get() # type: ignore[assignment]
261261
start_time = self._loop.time()
262262
try:
263-
otel_span.set_node_metadata(
264-
node.host, node.port, node.base_url, target, method
265-
)
263+
otel_span.set_node_metadata(node.host, node.port, node.base_url, target)
266264
resp = await node.perform_request(
267265
method,
268266
target,
@@ -366,7 +364,6 @@ async def perform_request( # type: ignore[override, return]
366364
# We either got a response we're happy with or
367365
# we've exhausted all of our retries so we return it.
368366
if not retry or attempt >= max_retries:
369-
otel_span.set_db_response(resp.meta.status)
370367
return TransportApiResponse(resp.meta, body)
371368
else:
372369
_logger.warning(

elastic_transport/_node/_http_aiohttp.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ async def perform_request( # type: ignore[override]
141141
headers: Optional[HttpHeaders] = None,
142142
request_timeout: Union[DefaultType, Optional[float]] = DEFAULT,
143143
) -> NodeApiResponse:
144+
global _AIOHTTP_FIXED_HEAD_BUG
144145
if self.session is None:
145146
self._create_aiohttp_session()
146147
assert self.session is not None

elastic_transport/_otel.py

Lines changed: 4 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -49,25 +49,14 @@ def __init__(
4949
self.body_strategy = body_strategy
5050
self.endpoint_id = endpoint_id
5151

52-
if self.otel_span:
53-
self.otel_span.set_attribute("db.system.name", "elasticsearch")
54-
if self.endpoint_id:
55-
self.otel_span.set_attribute("db.operation.name", self.endpoint_id)
56-
5752
def set_node_metadata(
58-
self,
59-
host: str,
60-
port: int,
61-
base_url: str,
62-
target: str,
63-
method: str,
53+
self, host: str, port: int, base_url: str, target: str
6454
) -> None:
6555
if self.otel_span is None:
6656
return
6757

6858
# url.full does not contain auth info which is passed as headers
6959
self.otel_span.set_attribute("url.full", base_url + target)
70-
self.otel_span.set_attribute("http.request.method", method)
7160
self.otel_span.set_attribute("server.address", host)
7261
self.otel_span.set_attribute("server.port", port)
7362

@@ -77,10 +66,10 @@ def set_elastic_cloud_metadata(self, headers: Mapping[str, str]) -> None:
7766

7867
cluster_name = headers.get("X-Found-Handling-Cluster")
7968
if cluster_name is not None:
80-
self.otel_span.set_attribute("db.namespace", cluster_name)
69+
self.otel_span.set_attribute("db.elasticsearch.cluster.name", cluster_name)
8170
node_name = headers.get("X-Found-Handling-Instance")
8271
if node_name is not None:
83-
self.otel_span.set_attribute("elasticsearch.node.name", node_name)
72+
self.otel_span.set_attribute("db.elasticsearch.node.name", node_name)
8473

8574
def set_db_statement(self, serialized_body: bytes) -> None:
8675
if self.otel_span is None:
@@ -90,11 +79,5 @@ def set_db_statement(self, serialized_body: bytes) -> None:
9079
return
9180
elif self.body_strategy == "raw" and self.endpoint_id in SEARCH_ENDPOINTS:
9281
self.otel_span.set_attribute(
93-
"db.query.text", serialized_body.decode("utf-8")
82+
"db.statement", serialized_body.decode("utf-8")
9483
)
95-
96-
def set_db_response(self, status_code: int) -> None:
97-
if self.otel_span is None:
98-
return
99-
100-
self.otel_span.set_attribute("db.response.status_code", str(status_code))

elastic_transport/_transport.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -338,9 +338,7 @@ def perform_request( # type: ignore[return]
338338
node = self.node_pool.get()
339339
start_time = time.time()
340340
try:
341-
otel_span.set_node_metadata(
342-
node.host, node.port, node.base_url, target, method
343-
)
341+
otel_span.set_node_metadata(node.host, node.port, node.base_url, target)
344342
resp = node.perform_request(
345343
method,
346344
target,
@@ -444,7 +442,6 @@ def perform_request( # type: ignore[return]
444442
# We either got a response we're happy with or
445443
# we've exhausted all of our retries so we return it.
446444
if not retry or attempt >= max_retries:
447-
otel_span.set_db_response(resp.meta.status)
448445
return TransportApiResponse(resp.meta, body)
449446
else:
450447
_logger.warning(

tests/async_/test_async_transport.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,6 +393,7 @@ async def test_sniff_on_start():
393393
calls = []
394394

395395
def sniff_callback(*args):
396+
nonlocal calls
396397
calls.append(args)
397398
return [NodeConfig("http", "localhost", 80)]
398399

@@ -419,6 +420,7 @@ async def test_sniff_before_requests():
419420
calls = []
420421

421422
def sniff_callback(*args):
423+
nonlocal calls
422424
calls.append(args)
423425
return []
424426

@@ -444,6 +446,7 @@ async def test_sniff_on_node_failure():
444446
calls = []
445447

446448
def sniff_callback(*args):
449+
nonlocal calls
447450
calls.append(args)
448451
return []
449452

@@ -548,15 +551,15 @@ async def test_sniffed_nodes_added_to_pool(async_sniff_callback):
548551
if async_sniff_callback:
549552

550553
async def sniff_callback(*_):
551-
nonlocal sniffed_at
554+
nonlocal loop, sniffed_at
552555
await asyncio.sleep(0.1)
553556
sniffed_at = loop.time()
554557
return sniffed_nodes
555558

556559
else:
557560

558561
def sniff_callback(*_):
559-
nonlocal sniffed_at
562+
nonlocal loop, sniffed_at
560563
time.sleep(0.1)
561564
sniffed_at = loop.time()
562565
return sniffed_nodes

tests/test_node_pool.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,8 @@ def __init__(self):
245245
self.nodes_gotten = 0
246246

247247
def run(self) -> None:
248+
nonlocal pool
249+
248250
while time.time() < start + 2:
249251
node = pool.get()
250252
self.nodes_gotten += 1

tests/test_otel.py

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ def test_no_span():
4141
9200,
4242
"http://localhost:9200/",
4343
"_ml/anomaly_detectors/my-job/_open",
44-
"POST",
4544
)
4645
span.set_elastic_cloud_metadata(
4746
{
@@ -66,30 +65,23 @@ def test_detailed_span():
6665
9200,
6766
"http://localhost:9200/",
6867
"_ml/anomaly_detectors/my-job/_open",
69-
"POST",
7068
)
7169
span.set_elastic_cloud_metadata(
7270
{
7371
"X-Found-Handling-Cluster": "e9106fc68e3044f0b1475b04bf4ffd5f",
7472
"X-Found-Handling-Instance": "instance-0000000001",
7573
}
7674
)
77-
span.set_db_response(202)
7875

7976
spans = memory_exporter.get_finished_spans()
8077
assert len(spans) == 1
8178
assert spans[0].name == "ml.open_job"
8279
assert spans[0].attributes == {
83-
"db.system.name": "elasticsearch",
8480
"url.full": "http://localhost:9200/_ml/anomaly_detectors/my-job/_open",
85-
"http.request.method": "POST",
8681
"server.address": "localhost",
8782
"server.port": 9200,
88-
"db.operation.name": "my-job/_open",
89-
"http.request.method": "POST",
90-
"db.namespace": "e9106fc68e3044f0b1475b04bf4ffd5f",
91-
"elasticsearch.node.name": "instance-0000000001",
92-
"db.response.status_code": "202",
83+
"db.elasticsearch.cluster.name": "e9106fc68e3044f0b1475b04bf4ffd5f",
84+
"db.elasticsearch.node.name": "instance-0000000001",
9385
}
9486

9587

@@ -103,7 +95,5 @@ def test_db_statement():
10395
assert len(spans) == 1
10496
assert spans[0].name == "search"
10597
assert spans[0].attributes == {
106-
"db.system.name": "elasticsearch",
107-
"db.operation.name": "search",
108-
"db.query.text": '{"query":{"match_all":{}}}',
98+
"db.statement": '{"query":{"match_all":{}}}',
10999
}

tests/test_transport.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -434,6 +434,7 @@ def test_sniff_on_start():
434434
calls = []
435435

436436
def sniff_callback(*args):
437+
nonlocal calls
437438
calls.append(args)
438439
return [NodeConfig("http", "localhost", 80)]
439440

@@ -457,6 +458,7 @@ def test_sniff_before_requests():
457458
calls = []
458459

459460
def sniff_callback(*args):
461+
nonlocal calls
460462
calls.append(args)
461463
return []
462464

@@ -480,6 +482,7 @@ def test_sniff_on_node_failure():
480482
calls = []
481483

482484
def sniff_callback(*args):
485+
nonlocal calls
483486
calls.append(args)
484487
return []
485488

@@ -652,6 +655,8 @@ def __init__(self):
652655
self.successful_requests = 0
653656

654657
def run(self) -> None:
658+
nonlocal t, start
659+
655660
while time.time() < start + 2:
656661
t.perform_request("GET", "/")
657662
self.successful_requests += 1

utils/build-dists.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ def set_tmp_dir():
5454

5555

5656
def run(argv, expect_exit_code=0):
57+
global tmp_dir
5758
if tmp_dir is None:
5859
os.chdir(base_dir)
5960
else:

0 commit comments

Comments
 (0)