Golang记录、计算函数执行耗时、运行时间的一个简单方法
// 写超时警告日志 通用方法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记录、计算函数执行耗时、运行时间的一个简单方法的更多相关文章
- C# .Net计算函数执行的时间
C#计算函数执行的时间 protected void StopwatchTest() { System.Diagnostics.Stopwatch stopwatch = new System.Dia ...
- vue.js之生命周期,防止闪烁,计算属性的使用,vue实例简单方法和循环重复数据
摘要:今天是比较糟糕的一天没怎么学习,原因是学校的wifi连不上了~~.今天学习一下vue的生命周期,如何防止闪烁(也就是用户看得到花括号),计算属性的使用,vue实例简单方法,以及当有重复数据时如何 ...
- git使用记录二: 给文件重命名的简单方法
git使用记录三: 给文件重命名的简单方法 git mv file_name_old file_name_new mv: 文件命名 file_name_old : 文件当前的名字 file_name_ ...
- golang 记录函数执行耗时的一个简单方法。
先写一个公共函数, 比如在 common 包下有这么一个方法: // 写超时警告日志 通用方法 func TimeoutWarning(tag, detailed string, start time ...
- Java自定义线程池-记录每个线程执行耗时
ThreadPoolExecutor是可扩展的,其提供了几个可在子类化中改写的方法,如下: protected void beforeExecute(Thread t, Runnable r) { } ...
- C#计算一段程序运行时间的三种方法
第一种方法利用System.DateTime.Now: static void SubTest() { DateTime beforDT = System.DateTime.Now; //耗时巨大的代 ...
- 三种记录 MySQL 所执行过的 SQL 语句的方法
程式 Debug 有時後從前面第一行追起來很辛苦(程式碼太多或 compile 過), 另一種做法就是從後面追起來, 反正最後寫入的是 DB, 那就從 DB 開始往前推, 所以就是要抓程式是執行哪些 ...
- 转--利用函数模板技术,写一个简单高效的 JSON 查询器
http://www.cnblogs.com/index-html/archive/2012/07/18/js_select.html http://www.ibm.com/developerwork ...
- Linq学习系列-----1.2 一个简单方法的改进思考及不同的执行形式
一.普通模式: #region 模式1 public Form1() { InitializeComponent(); GetProcessByJudge(); } public bool Memor ...
随机推荐
- 有时候eclipse 导入maven项目 启动的时候回出现这样一个问题
严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catali ...
- SQL语法基础之CREATE语句
SQL语法基础之CREATE语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.查看帮助信息 1>.使用“?”来查看MySQL命令的帮助信息 mysql> ? CR ...
- OS + linux proxy
s Linux主机通过代理服务器进行网络连接 http://www.linuxidc.com/Linux/2015-01/111703.htm 新手用Linux做代理服务器 三招搞定 http://b ...
- mysql 快速生成删除数据库中所有的表的语句
SELECT concat('DROP TABLE IF EXISTS ', table_name, ';') FROM information_schema.tables WHERE table_s ...
- python html css 初识
##################总结############ 浏览器发请求 --> HTTP协议 --> 服务端接收请求 --> 服务端返回响应 --> 服务端把HTML文 ...
- Hadoop记录-Hive调优:让任务并行执行
set mapred.job.queue.name=pms; //设置队列set hive.exec.reducers.max=8; //设置最大的reducersset mapred.redu ...
- try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}}引发的惨案
如题,ajax请求报错:try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}}引发的惨案 要么是404,要么是40 ...
- SpringMVC的概念和图解
1.概念 Spring MVC起步:慕课网视频 SpringMVC架构浅析:参考 Spring详解(一)------概述 Spring架构简单描述 2.图片
- 细说tomcat之session持久化探秘
业务场景:通常,我们会在会话级别存放一些参数,期望在session生命周期内,可以一直取得保存在session中的指定数据:而只要session过期或者失效,则需要执行重新登录等操作.但是!我们对于这 ...
- 20155324王鸣宇安装虚拟机+初次学习Linux的感想20155324
安装Linux系统 这是最后一次预备作业,但不是最后一次作业.当然要认真对待,在这个除旧迎新的日子里.认真的花了一个下午的时间专研学习了如何安装Linux系统.通过学习了基于VirtualBox虚拟机 ...