Skip to content

Commit 8f25a68

Browse files
committed
feat(outbound-mysql): Trace outbound-mysql host component
Signed-off-by: Caleb Schoepp <[email protected]>
1 parent 9f95d7c commit 8f25a68

File tree

1 file changed

+4
-0
lines changed
  • crates/outbound-mysql/src

1 file changed

+4
-0
lines changed

crates/outbound-mysql/src/lib.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ use spin_world::v2::mysql::{self as v2, Connection};
88
use spin_world::v2::rdbms_types as v2_types;
99
use spin_world::v2::rdbms_types::{Column, DbDataType, DbValue, ParameterValue};
1010
use std::sync::Arc;
11+
use tracing::{instrument, Level};
1112
use url::Url;
1213

1314
/// A simple implementation to support outbound mysql connection
@@ -85,6 +86,7 @@ impl v2::Host for OutboundMysql {}
8586

8687
#[async_trait]
8788
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"))]
8890
async fn open(&mut self, address: String) -> Result<Result<Resource<Connection>, v2::Error>> {
8991
if !self.is_address_allowed(&address) {
9092
return Ok(Err(v2::Error::ConnectionFailed(format!(
@@ -94,6 +96,7 @@ impl v2::HostConnection for OutboundMysql {
9496
Ok(self.open_connection(&address).await)
9597
}
9698

99+
#[instrument(name = "spin_outbound_mysql.execute", skip(self, connection), err(level = Level::INFO), fields(otel.kind = "client", db.system = "mysql", otel.name = statement))]
97100
async fn execute(
98101
&mut self,
99102
connection: Resource<Connection>,
@@ -115,6 +118,7 @@ impl v2::HostConnection for OutboundMysql {
115118
.await)
116119
}
117120

121+
#[instrument(name = "spin_outbound_mysql.query", skip(self, connection), err(level = Level::INFO), fields(otel.kind = "client", db.system = "mysql", otel.name = statement))]
118122
async fn query(
119123
&mut self,
120124
connection: Resource<Connection>,

0 commit comments

Comments
 (0)