@@ -8,6 +8,7 @@ use spin_world::v2::mysql::{self as v2, Connection};
8
8
use spin_world:: v2:: rdbms_types as v2_types;
9
9
use spin_world:: v2:: rdbms_types:: { Column , DbDataType , DbValue , ParameterValue } ;
10
10
use std:: sync:: Arc ;
11
+ use tracing:: { instrument, Level } ;
11
12
use url:: Url ;
12
13
13
14
/// A simple implementation to support outbound mysql connection
@@ -85,6 +86,7 @@ impl v2::Host for OutboundMysql {}
85
86
86
87
#[ async_trait]
87
88
impl v2:: HostConnection for OutboundMysql {
89
+ #[ instrument( name = "spin_outbound_mysql.open_connection" , skip( self ) , err( level = Level :: INFO ) , fields( otel. kind = "client" , db. system = "mysql" ) ) ]
88
90
async fn open ( & mut self , address : String ) -> Result < Result < Resource < Connection > , v2:: Error > > {
89
91
if !self . is_address_allowed ( & address) {
90
92
return Ok ( Err ( v2:: Error :: ConnectionFailed ( format ! (
@@ -94,6 +96,7 @@ impl v2::HostConnection for OutboundMysql {
94
96
Ok ( self . open_connection ( & address) . await )
95
97
}
96
98
99
+ #[ instrument( name = "spin_outbound_mysql.execute" , skip( self , connection) , err( level = Level :: INFO ) , fields( otel. kind = "client" , db. system = "mysql" , otel. name = statement) ) ]
97
100
async fn execute (
98
101
& mut self ,
99
102
connection : Resource < Connection > ,
@@ -115,6 +118,7 @@ impl v2::HostConnection for OutboundMysql {
115
118
. await )
116
119
}
117
120
121
+ #[ instrument( name = "spin_outbound_mysql.query" , skip( self , connection) , err( level = Level :: INFO ) , fields( otel. kind = "client" , db. system = "mysql" , otel. name = statement) ) ]
118
122
async fn query (
119
123
& mut self ,
120
124
connection : Resource < Connection > ,
0 commit comments