想象一下,當(dāng)程序所有的業(yè)務(wù)邏輯都完成的時(shí)候,你可能還來不及喘口氣,緊張的測(cè)試即將來臨。你的Boss告訴你,雖然程序沒問題,但某些方法為什么執(zhí)行這么慢,性能堪憂。領(lǐng)會(huì)了Boss的意圖之后,漫長(zhǎng)的排查問題開始了。你會(huì)寫日志,或者是其他工具來追蹤原因。那么如何以一種優(yōu)雅的形式,并且不侵入業(yè)務(wù)代碼的形式來跟蹤呢?這正是本文的內(nèi)容。
跟蹤問題
通過觀察,你發(fā)現(xiàn)方法Do
執(zhí)行緩慢,可能有性能問題,因?yàn)檫@是一個(gè)線上的版本,你無法進(jìn)行Debug,所以你通過日志的形式來追蹤執(zhí)行步驟:
class Foo1{ void Do() { //日志記錄開始 //性能監(jiān)控開始 DoSomething(); //日志記錄結(jié)束 //性能監(jiān)控結(jié)束 } }