Как узнать время передачи в кастомном Fiddler инспекторе

Я пишу пользовательский инспектор Fiddler (унаследованный от Inspector2 и реализующий IResponseInspector2), и одна из вещей, которые я хочу показать в выводе инспектора, это время, которое требуется для ответа, возвращаемого с сервера (относительно времени соответствующий запрос был отправлен от клиента).

Я в основном хочу, чтобы пользователь видел, сколько времени потребовался запрос, без необходимости переключаться в представление временной шкалы.

Кто-нибудь знает, есть ли способ сделать это?

2 ответа

Решение

Хорошо, я нашел способ, но кажется, что он был хакерским - может быть, есть лучший способ.

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;
Другие вопросы по тегам