golang 记录函数执行耗时的一个简单方法。
2015-01-28 15:17
176 查看
先写一个公共函数,比如在common包下有这么一个方法:
//写超时警告日志通用方法
tag、detailed表示超时发生位置的两个字符串参数。
start程序开始执行的时间
timeLimit函数执行超时阀值,单位是秒。
//
//写超时警告日志通用方法
funcTimeoutWarning(tag,detailedstring,starttime.Time,timeLimitfloat64){
dis:=time.Now().Sub(start).Seconds()
ifdis>timeLimit{
log.Warning(log.CENTER_COMMON_WARNING,tag,"detailed:",detailed,"TimeoutWarningusing",dis,"s")
//pubstr:=fmt.Sprintf("%scount%v,using%fseconds",tag,count,dis)
//stats.Publish(tag,pubstr)
}
}
这个函数的几个参数说明如下:
tag、detailed表示超时发生位置的两个字符串参数。
start程序开始执行的时间
timeLimit函数执行超时阀值,单位是秒。
使用时,在每个函数的第一行有下面一段代码就行了:
//
funcSave函数名(…)(…){
//如果这个方法执行超时3秒,则会记录日志
defercommon.TimeoutWarning("SaveAppLogMain","Total",time.Now(),float64(3)) //…函数自身的逻辑。
}
相关文章推荐
- Golang记录、计算函数执行耗时、运行时间的一个简单方法
- 介绍一个计算函数执行时间的简单方法!
- 你知道的,javascript语言的执行环境是"单线程模式",这种模式的好处是实现起来比较简单,执行环境相对单纯;坏处是只要有一个任务耗时很长,后面的任务都必须排队等着,会拖延整个程序的执行,因此很多时候需要进行“异步模式”,请列举js异步编程的方法。
- 一个简单实用的ASP调试函数和使用方法
- 如何用最简单最快的方法判断一个BMP图片是否为黑白图片?我现在是全图片scanline 然后再加以分析,太慢了,有没有直接的函数可以做到呢?
- 多种方法实现当jsp页面完全加载完成后执行一个js函数
- 判断ShellExecute函数是否执行完一个程序的方法
- 页面加载完成后自动执行一个方法函数的JQ、JS方法
- hadoop下执行一个执行一个简单的MapReduce例子记录
- 用函数模板,写一个简单高效的 JSON 查询器的方法介绍
- 判断ShellExecute函数是否执行完一个程序的方法
- 在linux应用程序使用system函数执行简单的shell交互命令的方法
- 公布一个简单的日志记录方法
- 一个button同时执行多个有返回值的函数的解决方法(return false; or return true;)
- 一个简单的执行程序的GNU automake自动生成Makefile的方法及案例
- 一个解析xml的简单方法(记录)
- 判断ShellExecute函数是否执行完一个程序的方法
- 公布一个简单的日志记录方法 【转】-要研究
- 一个取数据集中指定一段记录的简单方法
- 判断ShellExecute函数是否执行完一个程序的方法