Browse Prior Art Database

Page-Level Performance Profiler to Heighten Developer Awareness of Performance Implications

IP.com Disclosure Number: IPCOM000212127D
Publication Date: 2011-Oct-31
Document File: 4 page(s) / 506K

Publishing Venue

The IP.com Prior Art Database

Abstract

These days, highly available web sites have to consider performance as a core feature, rather than just an after thought. The best way to do this is to introduce instant, continuous feedback to the developer so that when they are developing new features, they can immediately see the performance impact of their changes. This document describes a system for using an in-memory profiler to display page level performance metrics within a web application, so that developers have immediate feedback necessary for maintaining high performance standards within their products.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 4

Page-Level Performance Profiler to Heighten Developer Awareness of Performance Implications

By Clay Lehman and Tim Lambert

Abstract

These days, highly available web sites have to consider performance as a core feature, rather than just an after thought. The best way to do this is to introduce instant, continuous feedback to the developer so that when they are developing new features, they can immediately see the performance impact of their changes. This document describes a system for using an in-memory profiler to display page level performance metrics within a web application, so that developers have immediate feedback necessary for maintaining high performance standards within their products.

Detailed Description

We have implemented an in-memory profiler that displays the appropriate metrics for each page load of a web application. This tool gives the developers a summary view of all the important performance metrics, which is immediately available when testing new features being put into an application. The immediate feedback allows developers to detect and correct possible performance issues very early in the development cycle, saving the team time and effort.

There are two parts to the implementation of this solution. The first part is an in- memory java profiler, which tracks timing information of all methods called by the code of any system that has this solution installed. The timing information will be tracked on a per-thread basis. Having a profiler that can be directly accessed in- memory, and filtered per-thread is important to giving useful information on a single page's interaction. The currently implemented solution uses "The Java Interactive Profiler" to collect this information. The second part is a Servlet Filter, which will access all performance related information for a specific user request, and then add a section to the response the user sees, which includes this information in an easy to read format. The Servlet Filter can be installed into all web applications, giving a development team consistent performance feedback across multiple projects.

The tool displays the time elapsed during rendering of each page that is displayed by the system. If the time is over a given threshold, then the timing information is displayed larger, and highlighted with red to attract attention. When a user clicks on the timing...