tprofiler是taobao開(kāi)源的也是國(guó)內(nèi)目前為止唯一一款Profiler工具,主要用于java應(yīng)用的性能分析,不僅能夠抓取Java方法的調(diào)用時(shí)間,還能抓取MySQL的執(zhí)行時(shí)間, 是一款不錯(cuò)的開(kāi)源性能分析工具。以下對(duì)tprofiler源碼中的各包進(jìn)行分析,幫助大家對(duì)tprofiler源碼有個(gè)初步的認(rèn)識(shí)。
主要的類(lèi)ProfilerLogAnalysis,該方面的分析以main()方式啟動(dòng),適用方式如下:
ProfilerLogAnalysis <tprofiler.log path> <tmethod.log path> <topmethod.log path> <topobject.log path>該類(lèi)分析了以下文件:(以下文件名在profile.properties定義,完整路徑為${user.home}/logs/) tprofiler.log: 性能分析數(shù)據(jù),由DataDumpThread輸出 tmethod.log: 方法相關(guān)數(shù)據(jù),由TimeControlThread或InnerSocketThread線程調(diào)用MethodCache.flushMethodData()輸出 topmethod.log: top方法相關(guān)數(shù)據(jù),由ProfilerLogAnalysis輸出 topobjects.log: top對(duì)象相關(guān)數(shù)據(jù),由ProfilerLogAnalysis輸出 mysqlProfiler.log: 由DataDumpThread輸出
這個(gè)是字節(jié)碼注入的比較核心的包,也是唯一稍微難度的地方
ProfClassAdapter : asm類(lèi)適配器,對(duì)類(lèi)進(jìn)行字節(jié)碼注入ProfMethodAdapter: asm方法適配器,對(duì)方法進(jìn)行字節(jié)碼注入ProfTransformer:用于注入Profiler的字節(jié)碼,可注入字節(jié)碼的類(lèi)分為兩類(lèi),普通類(lèi)和Mysql相關(guān)類(lèi)空行:2357 注釋行:1420 代碼行:468
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注