@@ -172,31 +172,19 @@ async def _inner(self: "Connection") -> T:
172172 return await f (self )
173173
174174 if has_span_streaming_enabled (client .options ):
175+ breadcrumb_data = _get_connect_data (self , use_streaming_keys = True )
176+
175177 span_attributes : dict [str , Any ] = {
176178 "sentry.op" : OP .DB ,
177179 "sentry.origin" : AioMySQLIntegration .origin ,
178- SPANDATA .DB_SYSTEM_NAME : "mysql" ,
179- SPANDATA .DB_DRIVER_NAME : "aiomysql" ,
180- }
181- host = getattr (self , "host" , None )
182- if host is not None :
183- span_attributes [SPANDATA .SERVER_ADDRESS ] = host
184- port = getattr (self , "port" , None )
185- if port is not None :
186- span_attributes [SPANDATA .SERVER_PORT ] = port
187- database = getattr (self , "db" , None )
188- if database is not None :
189- span_attributes [SPANDATA .DB_NAMESPACE ] = database
190- user = getattr (self , "user" , None )
191- if user is not None :
192- span_attributes [SPANDATA .DB_USER ] = user
180+ } | breadcrumb_data
193181
194182 with sentry_sdk .traces .start_span (
195183 name = "connect" , attributes = span_attributes
196184 ) as span :
197185 with capture_internal_exceptions ():
198186 sentry_sdk .add_breadcrumb (
199- message = "connect" , category = "query" , data = span_attributes
187+ message = "connect" , category = "query" , data = breadcrumb_data
200188 )
201189 res = await f (self )
202190 else :
@@ -222,20 +210,35 @@ async def _inner(self: "Connection") -> T:
222210 return _inner
223211
224212
225- def _get_connect_data (conn : Any ) -> dict [str , Any ]:
226- data : dict [str , Any ] = {SPANDATA .DB_SYSTEM : "mysql" , SPANDATA .DB_DRIVER_NAME : "aiomysql" }
213+ def _get_connect_data (conn : Any , * , use_streaming_keys : bool = False ) -> dict [str , Any ]:
214+ if use_streaming_keys :
215+ db_system = SPANDATA .DB_SYSTEM_NAME
216+ db_name = SPANDATA .DB_NAMESPACE
217+ else :
218+ db_system = SPANDATA .DB_SYSTEM
219+ db_name = SPANDATA .DB_NAME
220+
221+ data : dict [str , Any ] = {
222+ db_system : "mysql" ,
223+ SPANDATA .DB_DRIVER_NAME : "aiomysql" ,
224+ }
225+
227226 host = getattr (conn , "host" , None )
228227 if host is not None :
229228 data [SPANDATA .SERVER_ADDRESS ] = host
229+
230230 port = getattr (conn , "port" , None )
231231 if port is not None :
232232 data [SPANDATA .SERVER_PORT ] = port
233+
233234 database = getattr (conn , "db" , None )
234235 if database is not None :
235- data [SPANDATA .DB_NAME ] = database
236+ data [db_name ] = database
237+
236238 user = getattr (conn , "user" , None )
237239 if user is not None :
238240 data [SPANDATA .DB_USER ] = user
241+
239242 return data
240243
241244
0 commit comments