使用fiddler以毫秒为单位获取会话时间

时间:2011-12-02 18:12:31

标签: fiddler timing

因此,小提琴手册列出了一种通过添加上下文菜单获取每个会话的时间信息的方法。 It's the last sample code block under performance-testing here.

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 个答案:

答案 0 :(得分:1)

诀窍是在Fiddler可执行文件上使用Visual Studio等对象浏览器来探索Fiddler中可用的内容。

Session类有一个timers变量,它确实返回一个System.DateTimes数组。

由此我们可以使用格式化的字符串来获取毫秒,例如ToString(&#34; hh:mm:ss.ffff&#34;)。