Web Application Trace Explorer

The Web Application Trace Explorer is a Windows desktop application designed to assist you in gathering, examining, understanding, and analyzing web application and network trace event data gathered by the Event Tracing for Windows (ETW) facility. The Web App Trace Explorer is designed for use primarily by professional web application developers, web server administrators, and software performance engineers. It is specifically designed to gather and analyze the trace events built into Windows-based, web applications, including the HttpService and TCP/IP components of Windows. It also gathers and report web browser Real User Measurements (RUM) on Page Load Time measurements that you can obtain from Boomerang web beacons using the MeasurementWareWeb component library and calls to the Scenario instrumentation library embedded in your application. Both the web browser Page Load Time and Scenario measurements require separate installation steps to generate the event data that is then processed by the Web Application Trace Explorer.

Web App Trace Explorer Main Window Screenshot 2014-11-05 16.15.02

Web Application Trace Explorer Main Navigation Window.

The Web Application Trace Explorer combines and integrates several types of event trace records from built-in Windows components and optional 3rd party components that can be used to diagnose a wide range of web application response time problems and related networking operations concerns, including capacity, performance, and security issues. The program displays these events in time sequence, but also correlates these measurements in a variety of useful ways. For example, using the Web Application Trace Explorer program, it is possible to correlate web client-side RUM measurements gathered by the web browser with the processing that results on the web server. For web applications, network events are correlated using the IP address and TCP Port of the Request messages received and processed at the web server. For any networking application that relies on the session-oriented connections that the TCP protocol creates, the TCP Port number assigned to that connection serves as a unique correlation ID while that connection remains active.

Web application response time reporting

The Web Application Trace Explorer summarizes and reports web application response times by URL for both the web client measurements and the server-side HTTP request processing. The web client RUM measurements are generated by adding the Yahoo boomerang.js script library into your ASP.NET web pages. The boomerang.js JavaScript code captures the web client measurements and sends them to a designated IIS web server using a web beacon. Inside IIS, you need to install a MeasurementWareWeb component that intercepts these web beacons and creates the web app response time events that are then processed by the program. The web server-side response time measurements are based on HttpServer Request and Response events that are built into Windows. TCP/IP diagnostic tracing events provide additional insight into networking operations, including performance issues associated with TCP retransmits, IP packet loss, poor use of TCP ReceiveWindow scaling options, and other common conditions that lead to degradation in network performance.

The Web Application Trace Explorer reports the response times associated with web browser Page load requests, networking requests, server-side Http requests, and instrumented application scenarios. You can use the request rate and response time measurements to monitor and understand the service levels associated with Windows-based web applications. The response times of web browser Page load requests are measured using the standard Navigation/Timing API built into the web client, which are then transmitted to your web server using a web beacon. The response times of instrumented application scenarios is gathered from the Scenario.End trace events. The response times of Http Requests are calculated by subtracting the time stamp of an Http Receive event from the time stamp of an Http Send completion event for each unique Http Request ID.

The Web Application Trace Explorer allows you to observe and analyze a wide range of web browser, Http and TCP/IP diagnostic tracing events that were gathered in time sequence. To deal with the challenges associated with analyzing large quantities of detailed trace event data, the Web Application Trace Explorer provides extensive filtering capabilities. At a high level, you can filter events based on the protocol (e.g., HTTP, TCP, UDP, and IP) or manipulate a graphic visualization to create a time-based filtering window. To isolate the behavior of individual, application-oriented request-response sequences, you can filter on specific Http connections and TCP sessions (which are readily identified by the unique TCP Port number assigned). You may choose to view only events originating at a specific IP address or focus on events of a specific type, or set a variety of other filters that work in combination with each other. Filters allow you to identify problems in the trace event stream easily and then navigate quickly to the relevant diagnostics events so you can understand precisely what occurred and why.

Screenshot 2014-12-22 17.40.23

An example HTTP Request response time detail report.


Leave a Reply

Your email address will not be published. Required fields are marked *