性能測試工具 TProfile代碼簡析

發表于:2013-04-10來源:酷勤網作者:不詳點擊數: 標簽:性能測試工具
對TProfile (https://github.com/taobao/TProfiler)產生了興趣,于是就下下來研究了一下: 非常簡單小巧,代碼質量也很高,最多20個class。其實現的核心原理就是利用javaAgent,在premain函數中使用java.lang.instrument.ClassFileTransformer,對允許

  對TProfile (https://github.com/taobao/TProfiler)產生了興趣,于是就下下來研究了一下:

  非常簡單小巧,代碼質量也很高,最多20個class。其實現的核心原理就是利用javaAgent,在premain函數中使用java.lang.instrument.ClassFileTransformer,對允許采樣的類生成org.objectweb.asm.ClassAdapter

  再利用org.objectweb.asm.MethodAdapter的visitXXX 系列(對應功能可到這里查:http://t.cn/SqTMQM),注入采樣代碼,如下

  注入方法開始時的采樣代碼

  注入方法結束時的采樣代碼

  visitInsn指的是執行單條指令時需要執行的勾子。

原文轉自:http://www.kuqin.com/testing/20120921/331194.html

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97