2013-08-02 34 views
1

StackTrace在源文件中給出類,方法,行號。帶時間戳的StacktraceElement

有沒有辦法獲得執行該方法的時間戳?

+0

添加時間戳會使每個方法調用慢10倍以上。你爲什麼需要知道這個? –

+0

這會給我們一個想法1.執行順序2.呼叫之間的時間 –

+0

執行順序由堆棧順序定義。你不需要爲這些時間戳。呼叫之間的時間通常對同一級別的呼叫更有用。如果您想爲應用程序的不同階段添加時間戳記,那麼我有一個枚舉時間戳記階段,並在達到階段時將時間戳記添加到長陣列中。最後,我分析了這一點,看看時間的直方圖是看什麼時候最長的延遲發生。 –

回答

1

我不thnik,因爲API不給你訪問時間戳。無論是Exception還是StatckTraceElement API。

您可以使用日誌記錄(例如log4j)並記錄異常。日誌記錄可以打印出日誌記錄的時間戳。當然,這是記錄記錄的時間戳,而不是當發生異常時,但如果你在異常後立即登錄,它不應該是 會產生很大的差異。

0

執行語句時JVM不會跟蹤。因此堆棧跟蹤將不會有這些信息。你可以修改你的java代碼來獲得這樣的功能。這裏是你應該嘗試的產品 - Chronon Time travelling debugger.(我從來沒有使用它)