カスタム・フィドラー・インスペクタ(Inspector2を継承し、IResponseInspector2を実装しています)を作成しています。インスペクタの出力に表示したいものの1つは、応答がサーバーから返される(対応する要求がクライアントから送信された時間と比較して)。カスタム・フィドラー・インスペクタで転送時間を取得する方法
基本的には、タイムラインビューに切り替える必要がなくても、リクエストの所要時間を確認する必要があります。
誰かがこれを行う方法があるかどうか知っていますか?
カスタム・フィドラー・インスペクタ(Inspector2を継承し、IResponseInspector2を実装しています)を作成しています。インスペクタの出力に表示したいものの1つは、応答がサーバーから返される(対応する要求がクライアントから送信された時間と比較して)。カスタム・フィドラー・インスペクタで転送時間を取得する方法
基本的には、タイムラインビューに切り替える必要がなくても、リクエストの所要時間を確認する必要があります。
誰かがこれを行う方法があるかどうか知っていますか?
オクラホマ - 私は方法を見つけましたが、それは一種のハッキーのようです - おそらくもっと良い方法があります。
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
を得るために、よりエレガントな方法をしたいと思います。
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;
この複雑なトピックは、今後のフィドラーの本でよく説明されています。簡単な答えは、Inspector2の実装で仮想AssignSession関数をオーバーライドする必要があるということです。そこでは、インスペクタのヘッダとボディのプロパティを設定するために提供されたセッションを使用し、タイマなどを参照するためのSessionオブジェクトへの参照を保つことができます。 – EricLaw
Thanks Eric - Fiddler is awesome! – RobSiklos