mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-10-03 15:55:45 +00:00
parent
16eeea8611
commit
979a55da9d
@ -86,7 +86,9 @@ impl<'q> QueryLogger<'q> {
|
|||||||
pub fn finish(&self) {
|
pub fn finish(&self) {
|
||||||
let elapsed = self.start.elapsed();
|
let elapsed = self.start.elapsed();
|
||||||
|
|
||||||
let lvl = if elapsed >= self.settings.slow_statements_duration {
|
let was_slow = elapsed >= self.settings.slow_statements_duration;
|
||||||
|
|
||||||
|
let lvl = if was_slow {
|
||||||
self.settings.slow_statements_level
|
self.settings.slow_statements_level
|
||||||
} else {
|
} else {
|
||||||
self.settings.statements_level
|
self.settings.statements_level
|
||||||
@ -114,18 +116,35 @@ impl<'q> QueryLogger<'q> {
|
|||||||
String::new()
|
String::new()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
if was_slow {
|
||||||
private_tracing_dynamic_event!(
|
private_tracing_dynamic_event!(
|
||||||
target: "sqlx::query",
|
target: "sqlx::query",
|
||||||
tracing_level,
|
tracing_level,
|
||||||
summary,
|
summary,
|
||||||
db.statement = sql,
|
db.statement = sql,
|
||||||
rows_affected = self.rows_affected,
|
rows_affected = self.rows_affected,
|
||||||
rows_returned= self.rows_returned,
|
rows_returned = self.rows_returned,
|
||||||
|
?elapsed,
|
||||||
|
// When logging to JSON, one can trigger alerts from the presence of this field.
|
||||||
|
slow_threshold=?self.settings.slow_statements_duration,
|
||||||
|
// Make sure to use "slow" in the message as that's likely
|
||||||
|
// what people will grep for.
|
||||||
|
"slow statement: execution time exceeded alert threshold"
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
private_tracing_dynamic_event!(
|
||||||
|
target: "sqlx::query",
|
||||||
|
tracing_level,
|
||||||
|
summary,
|
||||||
|
db.statement = sql,
|
||||||
|
rows_affected = self.rows_affected,
|
||||||
|
rows_returned = self.rows_returned,
|
||||||
?elapsed,
|
?elapsed,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl<'q> Drop for QueryLogger<'q> {
|
impl<'q> Drop for QueryLogger<'q> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user