Advertisement
Guest User

Fiddler Export Timings

a guest
Feb 4th, 2015
1,094
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     public static ToolsAction("Copy Request Timings to Excel")
  2.     function DoHighlightSlowRequests() {
  3.         var oSessions = FiddlerApplication.UI.GetAllSessions();
  4.  
  5.         var s: String = "";
  6.         s = s +
  7.             "Id\t" +
  8.             "URL\t" +
  9.             "Is HTTPS\t" +
  10.             "Response Code\t" +
  11.             "Request Bytes\t" +
  12.             "Response Bytes\t" +
  13.  
  14.             "ClientConnected\t" +
  15.             "ClientBeginRequest\t" +
  16.             "ClientDoneRequest\t" +
  17.  
  18.             "ServerConnected\t" +
  19.             "FiddlerBeginRequest\t" +
  20.             "ServerGotRequest\t" +  
  21.             "ServerBeginResponse\t" +
  22.             "ServerDoneResponse\t" +
  23.             "ClientBeginResponse\t" +
  24.             "ClientDoneResponse\t" +
  25.  
  26.             "DNSTime\t" +
  27.             "GatewayDeterminationTime\t" +
  28.             "TCPConnectTime\t" +
  29.             "HTTPSHandshakeTime\t" +
  30.  
  31.             "Request Transmission Time\t" +
  32.             "Server Time Spent\t" +
  33.             "Response Transmission Time\t" +
  34.             "Transmission time (down + up)\t" +
  35.             "Total Round Trip Time" +
  36.             "\r\n";
  37.         for (var x:int = 0; x < oSessions.Length; x++){
  38.             var logEntryId = oSessions[x].id
  39.             var session = oSessions[x]
  40.             var timer = session.Timers
  41.             // use tabs intead of CSV because
  42.             // Excel and .NET have incompatible
  43.             // expectations for unicode format
  44.  
  45.             var t = oSessions[x].Timers
  46.             var transmissionTime =
  47.                 new TimeSpan(t.ServerGotRequest.Ticks -
  48.                 t.FiddlerBeginRequest.Ticks)
  49.             var serverTimeSpent =
  50.                 new TimeSpan(t.ServerDoneResponse.Ticks -
  51.                 t.ServerGotRequest.Ticks)
  52.             var responseTransmissionTime =
  53.                 new TimeSpan(t.ServerDoneResponse.Ticks -
  54.                 t.ServerBeginResponse.Ticks)
  55.             var totalTransferTime =
  56.                 transmissionTime + responseTransmissionTime
  57.             var roundTripTime =
  58.                 new TimeSpan(t.ClientDoneResponse.Ticks -
  59.                 t.ClientBeginRequest.Ticks)
  60.            
  61.             var transmissionTimeStr =
  62.                 transmissionTime.ToString().Contains("-") ? "" : transmissionTime + ""
  63.             var serverTimeSpentStr =  
  64.                 serverTimeSpent.ToString().Contains("-") ? "" : serverTimeSpent + ""
  65.             var responseTransmissionTimeStr =
  66.                 responseTransmissionTime.ToString().Contains("-") ? "" : responseTransmissionTime + ""
  67.             var totalTransferTimeStr =
  68.                 totalTransferTime.ToString().Contains("-") ? "" : totalTransferTime + ""
  69.             var roundTripTimeStr =
  70.                 roundTripTime.ToString().Contains("-") ? "" : roundTripTime + ""
  71.  
  72.             s = s +
  73.                 logEntryId + "\t" +
  74.                 oSessions[x].url + "\t" +
  75.                 oSessions[x].isHTTPS + "\t" +
  76.                 oSessions[x].responseCode + "\t" +
  77.                 oSessions[x].requestBodyBytes.Length + "\t" +
  78.                 oSessions[x].responseBodyBytes.Length + "\t" +              
  79.  
  80.                 oSessions[x].Timers.ClientConnected.ToString("HH:mm:ss.fff") + "\t" +
  81.                 oSessions[x].Timers.ClientBeginRequest.ToString("HH:mm:ss.fff") + "\t" +
  82.                 oSessions[x].Timers.ClientDoneRequest.ToString("HH:mm:ss.fff") + "\t" +
  83.  
  84.                 oSessions[x].Timers.ServerConnected.ToString("HH:mm:ss.fff") + "\t" +
  85.                 oSessions[x].Timers.FiddlerBeginRequest.ToString("HH:mm:ss.fff") + "\t" +
  86.                 oSessions[x].Timers.ServerGotRequest.ToString("HH:mm:ss.fff") + "\t" +
  87.                 oSessions[x].Timers.ServerBeginResponse.ToString("HH:mm:ss.fff") + "\t" +
  88.                 oSessions[x].Timers.ServerDoneResponse.ToString("HH:mm:ss.fff") + "\t" +
  89.                 oSessions[x].Timers.ClientBeginResponse.ToString("HH:mm:ss.fff") + "\t" +
  90.                 oSessions[x].Timers.ClientDoneResponse.ToString("HH:mm:ss.fff") + "\t" +
  91.  
  92.                 oSessions[x].Timers.DNSTime + "\t" +
  93.                 oSessions[x].Timers.GatewayDeterminationTime + "\t" +
  94.                 oSessions[x].Timers.TCPConnectTime + "\t" +              
  95.                 oSessions[x].Timers.HTTPSHandshakeTime + "\t" +
  96.  
  97.                 transmissionTimeStr + "\t" +
  98.                 serverTimeSpentStr + "\t" +
  99.                 responseTransmissionTimeStr + "\t" +
  100.                 totalTransferTimeStr + "\t" +
  101.                 roundTripTimeStr +
  102.                 "\r\n";
  103.         }
  104.         System.Windows.Forms.Clipboard.SetText(
  105.             s.ToString(),
  106.             TextDataFormat.Text);    
  107.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement