jpmanager: a j2ee performance management system jiang guo department of computer science california...

19
JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Upload: cesar-coster

Post on 15-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

JPManager: A J2EE PERFORMANCE

MANAGEMENT SYSTEM

Jiang GuoDepartment of Computer ScienceCalifornia State University Los Angeles

March 24, 2010

Page 2: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Background

J2EE is widely used in enterprise scale application

Performance management of J2EE application is a challenge issue

A tool is developed to solve the problem based on Java instrumentation

Page 3: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Two End-to-end Monitoring Tools

Non-intrusive Ghost Transaction

Simulates the scenarios of user interactions

intrusive Java Instrumentation

Insert extra Java codes into the applications

Page 4: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Benefit of Java Instrumentation

Collecting executing information at low level

Make fine-grained measurements into the application structure

Page 5: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Dynamic or Static

Dynamic – Java Instrumentation Can deal with third party classes from

remote side Static – Aspect Programming

Only deal with classes with source code

Page 6: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

J2EE-based Enterprise Applications

BrowsersIE, Firefox

AppletsJavaScripts

HTML

Clients

Filters

Web ServersApache, Tomcat

Web Servers

Servlets

JSPs

EJB Containers

JBoss, WebLogic

Application Servers

EJBs

JDBCs

DB Servers

MySQL …

Legacy Systems

Remote Classes

Page 7: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

The Architecture of JPManager

Data CollectionAgent

Data CollectionAgent

Server

JPManagerServer

Client Browser Tier

Web Server TierApplication Server Tier

DataBase

Browser

AnalysisAgent

Page 8: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Data Collection Agent of JPManager

Java Virtual Machine

Java Application Environment(Tomcat, JBoss, WebLogic)

Target ApplicationServlets, JSP, EJBs, Threads

Data Collection Agents

Instrumenter

Instrumenter

InstrumenterApplicatoin Class

Instrumentation Profile

Metrics Information: Class MetricsThread Metrics

DCAMetric Provider

Page 9: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Two instrumentation methods

Class Intercepting Instrument the byte code by changing the

hierarchy of class inheritance. Method Hijacking

Instrument the byte code by adding new methods to classes or new probe codes to the methods.

Page 10: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Java Virtual Machine Components

Class loaders Class file verifier Execution engine

Page 11: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

The Delegation of Class Loaders

Primary Class Loader

Extension Class Loader

Application Class Loader

User Defined Class Loader

Page 12: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Data Flow of the Instrumentation

Modified ClassLoader

Instrumentation Profile

DCA Instrumenter

InstrumentedClasses

Metrics Information

DCAMetric Provider

ApplicationClasses

JVM Execution Engine

Dynamic Information

JPManagerServer

JVM

Page 13: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Steps of the Java Instrumentation

Run Data CollectionAgents in a Standard

JVM

Modify theClassLoaderBased on the

Instrumentation Profile

Create a New JVMwith Modified

ClassLoader and RunJ2EE Application in the

Modified JVM

Extract Data and Sendthem to JPManger

Server

Page 14: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Analysis of Java Instrumentation (1)

Static Structure Consistency instrumentation : R = <L, P >x, v [P.start(x) = R.start(x) v before L

P.ValueOf(v) = R.ValueOf(v)]x, v [P.start(x) = R.start(x) w after L

P.ValueOf(w) = R.ValueOf(w)] Dynamic Execution Consistency

Object o can be described by a six-tuple = (S, s0, Mcall, T, )

Page 15: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Analysis of Java Instrumentation (2)

is o life spaceS is a finite set of states of objects0 is a single start state of the object s0 ,

this state is usually created by new.Mcall is a set of method callsT is a set of valid timestamps is a mapping

Page 16: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Execution of the WEB Store Application

Page 17: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Conclusions (1)

Most commercial J2EE tools focus on service transactions database serversdirectory servicesapplication servers themselves

Page 18: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Conclusions (2)

Our tool support monitoring and analyzing the J2EE components and APIs

Can monitor all Java based systems

Page 19: JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010

Thank you!

Thank you!