Используйте Fiddler, чтобы получить время сеанса с миллисекундами - PullRequest
0 голосов
/ 02 декабря 2011

Таким образом, поваренная книга скрипача показывает способ получения информации о времени для каждого сеанса путем добавления контекстного меню. Это последний пример кода, тестируемый здесь.

public static ContextAction("CopyTimers")
function CopyTimers(oSessions: Fiddler.Session[]){
if (null == oSessions){
  MessageBox.Show("Please select sessions to copy timers for.", "Nothing to Do");
  return;
}

var s: System.Text.StringBuilder = new System.Text.StringBuilder();

for (var x = 0; x < oSessions.Length; x++)  {
  s.AppendFormat("{0}, {1}, {2}, {3}, {4}, {5}, {6}\r\n",
  oSessions[x].Timers.ClientConnected,
  oSessions[x].Timers.ClientDoneRequest,
  //oSessions[x].Timers.ServerConnected,
  oSessions[x].Timers.ServerGotRequest,
  oSessions[x].Timers.ServerBeginResponse,
  oSessions[x].Timers.ServerDoneResponse,
  oSessions[x].Timers.ClientBeginResponse,
  oSessions[x].Timers.ClientDoneResponse
);
}
Utilities.CopyToClipboard(s.ToString());
MessageBox.Show("Done.");
}

Примечание. Мне пришлось закомментировать одну из строк, поскольку в противном случае скрипт не компилировался. (И, следовательно, пришлось изменить количество аргументов на AppendFormat)

К сожалению, это дает только время до секунды. Как мне узнать время на миллисекундном уровне? Где я могу найти общую информацию о том, какие объекты доступны для скриптов Fiddler?

Заранее спасибо.

1 Ответ

1 голос
/ 02 декабря 2011

Хитрость заключается в том, чтобы использовать объектный браузер, такой как Visual Studio, в исполняемом файле Fiddler, чтобы изучить, что доступно в Fiddler.

Класс Session имеет переменную timers, которая действительно возвращает массив System.DateTimes.

Отсюда мы можем использовать отформатированную строку для получения миллисекунд, например, ToString ("чч: мм: сс.фффф").

...