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 ...
随机推荐
- jenkins-ant-jmeter
jenkins下通过ant执行jmeter脚本 先下个ant 解压开来 在到jenkins中设置:系统管理-全局工具配置-ant安装-新增ant,填上name和ant-home 将jmeter的ant ...
- Java通过Mybatis实现批量插入数据到Oracle中
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- 怎么正确的回滚git的代码?
1. git reflog或者git log查看到节点的hash值 2. git reset滚回某个节点 1)如果想保留当前的代码用 git reset --mixed ${Hash} 2)如果想联通 ...
- db mysql / mysql cluster 5.7.19 / my.cnf / thread_pool_stall_limit
s MYSQL Thread Pool简介 在MySQL5.5中,MySQL为每一个数据库连接创建一个线程,并分配其所需要的所有内存,当数据库连接数较大,或者有多个并发同时请求数据库连接时,服务器需要 ...
- cmd 开启热点
开启热点,需要先打开Wifi,ssid 为 WiFi 名称,key 为密码 netsh wlan set hostednetwork mode=allow ssid=123 key=12345678 ...
- js中得计算问题算式结果拼接成字符串怎么解决
如题:经常遇到类似问题 一种:自定义的弱类型 var savNum=0; var num=$("#numU").val();//jsp页面获得得值 savNum=parseInt( ...
- weblogic的基本概念
1.Domain,Administration Server, Managed Server 域包含一个或多个 WebLogic Server 实例. Domain 中包含一个特殊的 WebLogic ...
- Spark Submitting Applications浅析
Submitting Applications提交应用程序 在spark的bin目录下spark-submit脚本被用于在集群中启动应用程序.它可以通过一个统一的接口来使用Spark支持的所有集群管理 ...
- javascript中var、let和const的区别
在javascript中,var.let和const都可以用来声明变量,那么三者有什么区别呢?要回答这个问题,我们可以从先想想:三种不同的声明会影响变量的哪些方面?这些方面也就是变量的特性,那么变量有 ...
- python初认识、基础数据类型以及 if 流程控制
python初认识 CPU.内存.硬盘以及操作系统之间的关系 CPU:中央处理器,计算机的逻辑运算单元 硬盘:长期存储数据的地方,断电不会丢失 内存:位于CPU与硬盘之间,缓解高速CPU与低速硬盘之间 ...