Golang记录、计算函数执行耗时、运行时间的一个简单方法
程序员文章站
2022-08-29 09:19:00
先写一个公共函数, 比如在 common 包下有这么一个方法:
// 写超时警告日志 通用方法
func timeoutwarning(tag, detai...
先写一个公共函数, 比如在 common 包下有这么一个方法:
// 写超时警告日志 通用方法 func timeoutwarning(tag, detailed string, start time.time, timelimit float64) { dis := time.now().sub(start).seconds() if dis > timelimit { log.warning(log.center_common_warning, tag, " detailed:", detailed, "timeoutwarning using", dis, "s") //pubstr := fmt.sprintf("%s count %v, using %f seconds", tag, count, dis) //stats.publish(tag, pubstr) } }
这个函数的几个参数说明如下:
tag、detailed 表示超时发生位置的两个字符串参数。
start 程序开始执行的时间
timelimit 函数执行超时阀值,单位是秒。
使用时,在每个函数的第一行有下面一段代码就行了:
// func save函数名(…) (…) { // 如果这个方法执行超时3秒,则会记录日志 defer common.timeoutwarning("saveapplogmain", "total", time.now(), float64(3)) // … 函数自身的逻辑。 }