Abstract-In this paper, we present a design for a generic, open, application-oriented performance instrumentation of multitier applications. Measurements are performed through configurable instrumentation points at the middleware level and can be combined with application-level measurements for a conjoined analysis. In addition, we present a prototypical realisation of the design for two commonly used middleware components: Apache Tomcat and JBoss.Our approach may be used in a wide variety of application scenarios like providing a monitoring architecture for SLM scenarios or as a performance-debugging platform during application development. The architecture uses open standards and APIs and may therefore be seamlessly integrated into existing management environments.
I. MOTIVATIONBusiness processes in enterprises are more and more dependent upon a vital IT (Information Technology) infrastructure. The steady growth of enterprise networks provides a basis for the widespread use of distributed application architectures. To reduce costs of IT services or to access business to business (B2B) market places, enterprises increasingly use services provided by application service providers (ASPs), or employ internal usage-based charging of IT services.Nowadays, ASPs offer a wide range of different services from simple Web hosting to complex e-business applications. These complex applications are typically realised as Webbased multi-tier applications, which offer the necessary flexibility for adapting business processes to changing requirements. Web-based e-business applications often have a very similar architecture. On the client side, standard Web browsers are used to access the services, while on the server side, a Web server provides a service access point that encapsulates the business-logic and persistence tiers of the application. The business-logic is typically implemented on top of a variety of standard software components, for example Web containers or Enterprise JavaBeans (EJB) containers.In these contexts, an efficient Service Level Management (SLM) is generally necessary. Quality-of-service parameters, called Service Level Objectives (SLOs), agreed on by providers and customers are laid down in a contract, known as Service Level Agreement (SLA) [1], [2], [3]. Typical SLOs define availability criteria and performance-related metrics, e.g., response times. Customers are primarily interested in the enduser experience, which means short end-user response times and high service availability. Service providers care about a fine-grained view of the interrelated performance metrics of the components constituting a service, especially when using a single service infrastructure for different customers at the same time. In addition, monitoring information can be used to pro-actively adapt the system in order to ensure its compliance with defined SLAs. For SLM in ASP scenarios, it is crucial to create a unified management view upon all hosted applications including the underlying standard software components as well as t...