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

 更新时间:2015年07月04日 10:33:12   投稿:junjie  
这篇文章主要介绍了Golang记录、计算函数执行耗时、运行时间的一个简单方法,本文直接给出代码实例,需要的朋友可以参考下

先写一个公共函数, 比如在 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))
  // … 函数自身的逻辑。
}

相关文章

  • 一文搞懂Golang中的内存逃逸

    一文搞懂Golang中的内存逃逸

    我们都知道go语言中内存管理工作都是由Go在底层完成的,这样我们可以不用过多的关注底层的内存问题。本文主要总结一下 Golang内存逃逸分析,需要的朋友可以参考以下内容,希望对大家有帮助
    2022-09-09
  • goquery 入门(安装使用教程)

    goquery 入门(安装使用教程)

    这篇文章主要为大家介绍了goquery 入门(安装使用)教程示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • 一文带你了解Go语言中锁的实现

    一文带你了解Go语言中锁的实现

    这篇文章主要带大家一起学习一下go锁和读写锁的总结文档, 主要从"参考"部分的文章结合源码学习,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-03-03
  • golang使用jaeger进行链路追踪

    golang使用jaeger进行链路追踪

    链路追踪是指在分布式系统中,将一次请求的处理过程进行记录并聚合展示的一种方法,目的是将一次分布式请求的调用情况集中在一处展示,本文将介绍golang如何使用jaeger进行链路追踪,需要的朋友可以参考下
    2024-06-06
  • golang goroutine顺序输出方式

    golang goroutine顺序输出方式

    这篇文章主要介绍了golang goroutine顺序输出方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Golang时间及时间戳的获取转换超全面详细讲解

    Golang时间及时间戳的获取转换超全面详细讲解

    说实话,golang的时间转化还是很麻烦的,最起码比php麻烦很多,下面这篇文章主要给大家介绍了关于golang时间/时间戳的获取与转换的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-12-12
  • VS Code配置Go语言开发环境的详细教程

    VS Code配置Go语言开发环境的详细教程

    这篇文章主要介绍了VS Code配置Go语言开发环境的详细教程,本文通过实例代码图文相结合的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-05-05
  • golang http请求封装代码

    golang http请求封装代码

    这篇文章主要介绍了golang http请求封装代码,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • go mod的使用方法小结

    go mod的使用方法小结

    本文主要介绍了go mod的使用方法小结,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Go语言中的switch用法实例分析

    Go语言中的switch用法实例分析

    这篇文章主要介绍了Go语言中的switch用法,实例分析了switch的功能及使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02

最新评论