feat: use specific message for slow query logs (#2880)

closes #2669
This commit is contained in:
Austin Bonander 2023-11-15 20:08:09 -08:00 committed by GitHub
parent 16eeea8611
commit 979a55da9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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> {