2012-05-03 11 views
1

カスタム・フィドラー・インスペクタ(Inspector2を継承し、IResponseInspector2を実装しています)を作成しています。インスペクタの出力に表示したいものの1つは、応答がサーバーから返される(対応する要求がクライアントから送信された時間と比較して)。カスタム・フィドラー・インスペクタで転送時間を取得する方法

基本的には、タイムラインビューに切り替える必要がなくても、リクエストの所要時間を確認する必要があります。

誰かがこれを行う方法があるかどうか知っていますか?

答えて

0

オクラホマ - 私は方法を見つけましたが、それは一種のハッキーのようです - おそらくもっと良い方法があります。

Session[] sessions = FiddlerApplication.UI.GetSelectedSessions(); 
if (sessions != null && sessions.Length == 1) 
{ 
    Session s = sessions[0]; 
    if (s != null && (s.state == SessionStates.Done)) 
    { 
     TimeSpan totalTime = s.Timers.ClientDoneResponse - s.Timers.ClientBeginRequest; 
     Debug.WriteLine("Time = " + totalTime.ToString()); 
    } 
} 

は、私は検査員が現在処理していることを応答に関連するSessionを得るために、よりエレガントな方法をしたいと思います。

+1

この複雑なトピックは、今後のフィドラーの本でよく説明されています。簡単な答えは、Inspector2の実装で仮想AssignSession関数をオーバーライドする必要があるということです。そこでは、インスペクタのヘッダとボディのプロパティを設定するために提供されたセッションを使用し、タイマなどを参照するためのSessionオブジェクトへの参照を保つことができます。 – EricLaw

+0

Thanks Eric - Fiddler is awesome! – RobSiklos

1

FilderScriptで、変数m_ShowTTLBおよびm_ShowTimestampを見つけて、すべてtrueに設定します。 結果をカスタム列に表示

// Show the duration between the start of Request.Send and Response.Completed in Milliseconds 
    public static RulesOption("&Show Time-to-Last-Byte", "Per&formance") 
    var m_ShowTTLB: boolean = true; 

    // Show the time of response completion 
    public static RulesOption("Show Response &Timestamp", "Per&formance") 
    var m_ShowTimestamp: boolean = true; 
関連する問題