dqj29136 2018-12-18 19:40
浏览 58

如何确定在API调用期间调用的所有函数的执行时间?

I built an API in golang. I want to determine where, in the lifetime of serving a request, I have slow downs. My current solution is to log the duration times for every function in the request call. So, something like this:

start := time.Now()
defer func() {
    log.Debugf("duration: %d", time.Since(start).Seconds())
}()

Putting the code above in the beginning of every function is cumbersome and clutters the codebase. Is there a better way to accomplish what I'm trying to do? Are there tools I can use for this?

I looked at libraries in github but couldn't find a more elegant solution.

UPDATE:

To add to the complication:

  1. My APIs calls other APIs and those calls needs to be timed.
  2. The APIs are hosted in Heroku and AWS.
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 java在应用程序里获取不到扬声器设备
    • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
    • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
    • ¥15 Attention is all you need 的代码运行
    • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
    • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
    • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
    • ¥30 关于<main>标签页面跳转的问题
    • ¥80 部署运行web自动化项目
    • ¥15 腾讯云如何建立同一个项目中物模型之间的联系