go语言中如何监测每一个query查询sql的耗时时间?

提问者:帅平 问题分类:go语言
go语言中如何监测每一个query查询sql的耗时时间?想要实现统计慢查询的日志记录。
1 个回答
小xの碎碎念
小xの碎碎念
可在查询的时候添加一个defer进行统计,示例的代码如下:
func QueryWithMetrics(db *sql.DB, query string, args ...interface{}) (*sql.Rows, error) {
    start := time.Now()
    defer func() {
        log.Printf("Query %s took %v", query, time.Since(start))
    }()
    return db.Query(query, args...)
}
发布于:4周前 (02-17) IP属地:
我来回答