@@ -175,7 +175,8 @@ async def _inner(self: "Connection") -> T:
175175 span_attributes : dict [str , Any ] = {
176176 "sentry.op" : OP .DB ,
177177 "sentry.origin" : AioMySQLIntegration .origin ,
178- SPANDATA .DB_SYSTEM : "mysql" ,
178+ SPANDATA .DB_SYSTEM_NAME : "mysql" ,
179+ SPANDATA .DB_DRIVER_NAME : "aiomysql" ,
179180 }
180181 host = getattr (self , "host" , None )
181182 if host is not None :
@@ -185,7 +186,7 @@ async def _inner(self: "Connection") -> T:
185186 span_attributes [SPANDATA .SERVER_PORT ] = port
186187 database = getattr (self , "db" , None )
187188 if database is not None :
188- span_attributes [SPANDATA .DB_NAME ] = database
189+ span_attributes [SPANDATA .DB_NAMESPACE ] = database
189190 user = getattr (self , "user" , None )
190191 if user is not None :
191192 span_attributes [SPANDATA .DB_USER ] = user
@@ -222,7 +223,7 @@ async def _inner(self: "Connection") -> T:
222223
223224
224225def _get_connect_data (conn : Any ) -> dict [str , Any ]:
225- data : dict [str , Any ] = {SPANDATA .DB_SYSTEM : "mysql" }
226+ data : dict [str , Any ] = {SPANDATA .DB_SYSTEM : "mysql" , SPANDATA . DB_DRIVER_NAME : "aiomysql" }
226227 host = getattr (conn , "host" , None )
227228 if host is not None :
228229 data [SPANDATA .SERVER_ADDRESS ] = host
@@ -240,22 +241,43 @@ def _get_connect_data(conn: Any) -> dict[str, Any]:
240241
241242def _set_db_data (span : Any , conn : Any ) -> None :
242243 """Set database-related span data from connection object."""
243- set_value = span .set_attribute if isinstance (span , StreamedSpan ) else span .set_data
244-
245- set_value (SPANDATA .DB_SYSTEM , "mysql" )
246-
247- host = getattr (conn , "host" , None )
248- if host is not None :
249- set_value (SPANDATA .SERVER_ADDRESS , host )
250-
251- port = getattr (conn , "port" , None )
252- if port is not None :
253- set_value (SPANDATA .SERVER_PORT , port )
254-
255- database = getattr (conn , "db" , None )
256- if database is not None :
257- set_value (SPANDATA .DB_NAME , database )
258-
259- user = getattr (conn , "user" , None )
260- if user is not None :
261- set_value (SPANDATA .DB_USER , user )
244+ if isinstance (span , StreamedSpan ):
245+ span .set_attribute (SPANDATA .DB_SYSTEM_NAME , "mysql" )
246+ span .set_attribute (SPANDATA .DB_DRIVER_NAME , "aiomysql" )
247+
248+ host = getattr (conn , "host" , None )
249+ if host is not None :
250+ span .set_attribute (SPANDATA .SERVER_ADDRESS , host )
251+
252+ port = getattr (conn , "port" , None )
253+ if port is not None :
254+ span .set_attribute (SPANDATA .SERVER_PORT , port )
255+
256+ database = getattr (conn , "db" , None )
257+ if database is not None :
258+ span .set_attribute (SPANDATA .DB_NAMESPACE , database )
259+
260+ user = getattr (conn , "user" , None )
261+ if user is not None :
262+ span .set_attribute (SPANDATA .DB_USER , user )
263+ else :
264+ # Remove this else block once we've completely migrated to streamed spans
265+ # The use of deprecated attributes here is to ensure backwards compatibility
266+ span .set_data (SPANDATA .DB_SYSTEM , "mysql" )
267+ span .set_data (SPANDATA .DB_DRIVER_NAME , "aiomysql" )
268+
269+ host = getattr (conn , "host" , None )
270+ if host is not None :
271+ span .set_data (SPANDATA .SERVER_ADDRESS , host )
272+
273+ port = getattr (conn , "port" , None )
274+ if port is not None :
275+ span .set_data (SPANDATA .SERVER_PORT , port )
276+
277+ database = getattr (conn , "db" , None )
278+ if database is not None :
279+ span .set_data (SPANDATA .DB_NAME , database )
280+
281+ user = getattr (conn , "user" , None )
282+ if user is not None :
283+ span .set_data (SPANDATA .DB_USER , user )
0 commit comments