2010-07-29 77 views
47

我收到了一個很長的Fiddler trace(帶有一個複雜的場景),需要將這些請求與應用程序日誌關聯起來。在Fiddler中顯示請求的時間戳?

不幸的是,雖然Fiddler按時間順序顯示請求,但它不顯示請求的時間戳。要訪問這些信息(這是記錄的),我必須右鍵單擊每一行,然後在彈出窗口中查看屬性。當需要梳理數百條線時,這非常耗時。查看原始捕獲數據並不會更好,因爲每個請求都有自己的文件,而且我確實需要Fiddler接口。

迂腐的筆記:我知道沒有一個時間戳顯示(下面是所有記錄的時間戳)。 ClientConnected可以(或者任何其他的,只要它是相同的,使我可以直觀地關聯日誌)。

謝謝。

== TIMING INFO ============ 
ClientConnected:  10:32:57:8906 
ClientDoneRequest:  10:32:57:8906 
Gateway Determination: 0ms 
DNS Lookup:   0ms 
TCP/IP Connect:   0ms 
ServerGotRequest:  10:32:57:9062 
ServerBeginResponse: 10:32:58:2812 
ServerDoneResponse: 10:32:58:2884 
ClientBeginResponse: 10:32:58:2900 
ClientDoneResponse: 10:32:58:2912 

回答

80

更新:在提琴手的當前版本,只需右鍵單擊列標題,並選擇自定義列。在下拉菜單中,選擇會話計時器並在下拉列表中選擇ClientBeginRequest

舊的方法是使用FiddlerScript。點擊規則>自定義規則

Handlers中,添加下面的腳本代碼:

public static BindUIColumn("BeginRequestTime", 60) 
function BeginRequestTime(oS: Session) 
{ 
    if (oS.Timers != null) 
    { 
     return oS.Timers.ClientBeginRequest.ToString();  
    } 
    return String.Empty; 
} 

然後,只需重新加載您的SAZ文件。

+2

我正在使用Fiddler 4.5.1.0。按照您告訴的方式,我可以顯示**時間**信息,但沒有看到**日期**信息。我怎樣才能顯示日期信息?謝謝。 – cateyes 2015-05-07 00:04:34

+0

@cateyes:內置列提供程序顯示僅使用時間字符串格式化的DateTime。要顯示日期,請使用'BindUIColumn'方法並使用接受datetimeformatstring的'ToString()'的重載。 – EricLaw 2015-05-08 12:25:40

+0

我在哪裏可以找到重載方法的用法/定義呢? – cateyes 2015-05-11 01:47:44