欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Golang记录、计算函数执行耗时、运行时间的一个简单方法

程序员文章站 2022-04-29 13:05:23
先写一个公共函数, 比如在 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))
  // … 函数自身的逻辑。
}