in AzureCT/ServerSide/DisplayAvailability.js [226:286]
function showTrace(JobID, CallID) {
// Open the AvailabilityHeader.xml file
$.get('AvailabilityTrace.xml', {}, function (xml) {
// Define HTML string Var
myHTMLOutput = '<span class="b">Select Trace Route</span>';
myHTMLOutput += '<table id="TraceTable">';
myHTMLOutput += '<tr>';
myHTMLOutput += '<th id="HopID">Hop #</th>';
myHTMLOutput += '<th id="Address">IP Address</th>';
myHTMLOutput += '<th id="Latency">Latency</th>';
myHTMLOutput += '</tr>';
// Run the function for each Trace in xml file
$('TraceRecord', xml).each(function (i) {
traceJobID = $(this).find('JobID').text();
traceCallID = $(this).find('CallID').text();
// Pull Job Header info into variables
if (traceJobID == JobID && traceCallID == CallID) {
traceTimeStamp = $(this).find('TimeStamp').text();
traceHopID = $(this).find('HopID').text();
traceAddress = $(this).find('Address').text();
traceTripTime = $(this).find('TripTime').text();
myHTMLOutput += '<tr>';
myHTMLOutput += '<td>' + traceHopID + '</td>';
myHTMLOutput += '<td>' + traceAddress + '</td>';
switch (traceTripTime) {
case '*':
myHTMLOutput += '<td>*</td>';
break;
case '0':
myHTMLOutput += '<td>< 1 ms</td>';
break;
default:
myHTMLOutput += '<td>' + traceTripTime + ' ms</td>';
};
myHTMLOutput += '</tr>';
};
});
myHTMLOutput += '</table>';
myHTMLOutput += '<br />';
myHTMLOutput += '';
myHTMLOutput += '<button style="position:absolute; right:45%;" onclick="closeTrace();">Close</button>';
myHTMLOutput += '<br />';
myHTMLOutput += '<br />';
myHTMLOutput += '<span class="b">Notes:</span><br />';
myHTMLOutput += '<span">The maximum trace route time will normally be less than the Duration value on the main web page. This is because the trace route is only calculating network latency, whereas the Duration column includes the processing time of the IIS server.</span>';
myHTMLOutput += '<br /><br />';
myHTMLOutput += '<span">This trace route was started <span class="b">*after*</span> the associated web call was completed. Network conditions may have changed in the short time span between the Web Call and the Trace Route. Also, each trace route row is a separate network trace, network conditions can vary between each trace event as well.</span>';
myHTMLOutput += '<br />';
myHTMLOutput += '<br />';
$("#TraceDiv").html(myHTMLOutput);
document.getElementById('TraceDiv').style.visibility = 'visible';
});
};