@@ -49,14 +49,25 @@ 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+
5257 def set_node_metadata (
53- self , host : str , port : int , base_url : str , target : str
58+ self ,
59+ host : str ,
60+ port : int ,
61+ base_url : str ,
62+ target : str ,
63+ method : str ,
5464 ) -> None :
5565 if self .otel_span is None :
5666 return
5767
5868 # url.full does not contain auth info which is passed as headers
5969 self .otel_span .set_attribute ("url.full" , base_url + target )
70+ self .otel_span .set_attribute ("http.request.method" , method )
6071 self .otel_span .set_attribute ("server.address" , host )
6172 self .otel_span .set_attribute ("server.port" , port )
6273
@@ -66,10 +77,10 @@ def set_elastic_cloud_metadata(self, headers: Mapping[str, str]) -> None:
6677
6778 cluster_name = headers .get ("X-Found-Handling-Cluster" )
6879 if cluster_name is not None :
69- self .otel_span .set_attribute ("db.elasticsearch.cluster.name " , cluster_name )
80+ self .otel_span .set_attribute ("db.namespace " , cluster_name )
7081 node_name = headers .get ("X-Found-Handling-Instance" )
7182 if node_name is not None :
72- self .otel_span .set_attribute ("db. elasticsearch.node.name" , node_name )
83+ self .otel_span .set_attribute ("elasticsearch.node.name" , node_name )
7384
7485 def set_db_statement (self , serialized_body : bytes ) -> None :
7586 if self .otel_span is None :
@@ -79,5 +90,11 @@ def set_db_statement(self, serialized_body: bytes) -> None:
7990 return
8091 elif self .body_strategy == "raw" and self .endpoint_id in SEARCH_ENDPOINTS :
8192 self .otel_span .set_attribute (
82- "db.statement " , serialized_body .decode ("utf-8" )
93+ "db.query.text " , serialized_body .decode ("utf-8" )
8394 )
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 ))
0 commit comments