美文网首页程序员
如何优雅地打印函数的运行时长

如何优雅地打印函数的运行时长

作者: yellowone | 来源:发表于2020-07-06 16:21 被阅读0次

我们经常有这样一个需求,如果偶发的几个请求会突然变慢,想知道是哪个函数运行导致的变慢,那我们想把这个函数的运行时长打印出来定位问题,那我们可以这样定义一个函数。

func traceRunTime(msg string) func() {
    beginTime := time.Now()
    return func() {
        runTime := (float64)(time.Since(beginTime) / time.Millisecond)
        if runTime > 50 {
            fmt.Printf("msg:%s,runTime:%.2f", msg, runTime)
        }
    }
}

之后在我们想观察的函数头加入

func main() {
    defer traceRunTime("这是一个慢运行函数")() //注意这里还有对括号
    time.Sleep(100 * time.Millisecond)
}

运行效果

msg:这是一个慢运行函数,runTime:100.00

相关文章

  • 如何优雅地打印函数的运行时长

    我们经常有这样一个需求,如果偶发的几个请求会突然变慢,想知道是哪个函数运行导致的变慢,那我们想把这个函数的运行时长...

  • 如何优雅的打印代码执行时长

    如何优雅的打印代码执行时长 System方式 不推荐 JDK8 处理方式 不推荐 Commons-lang3的St...

  • 简短优雅地利用js实现 sleep 函数

    简短优雅地实现 sleep 函数 很多语言都有 sleep 函数,显然 js 没有,那么如何能简短优雅地实现这个方...

  • Swift reduce高阶函数与for循环运行效率比较

    1、打印代码执行时长的方法 2、运行代码计算0~10000整数的和 运行结果: 从运行结果可以看出,reduce高...

  • 如何优雅

    如何优雅?这是一个很流行,也很值得追问的问题。 如何优雅地读书?如何优雅地喝茶?如何优雅地跑步?如何优雅地追求女神...

  • iOS 打印app启动时长

    如何通过在Arguments中设置参数,打印出App加载时各项加载项的时长,包括整体加载时长,动态库加载时长等. ...

  • 一个简单的带中断策略的Thread用例

    使用: 如何优雅的"停止"一个正在运行的JAVA线程如何正确地停止一个线程?关闭线程的正确方法:“优雅”的中断Ja...

  • 笨方法学Python-习题9-打印,打印,打印

    将打印进行到底。 运行结果: 观察运行结果,不难发现"""可以实现多行的打印,不需要每行都使用一次print函数。...

  • 如何优雅地使用 KVO

    如何优雅地使用 KVO 如何优雅地使用 KVO

  • iOS日志

    Q:如何打印当前的函数和行号?A:我们可以在打印时使用一些预编译宏作为打印参数,来打印当前的函数和行号。如: NS...

网友评论

    本文标题:如何优雅地打印函数的运行时长

    本文链接:https://www.haomeiwen.com/subject/rgxgqktx.html