+ All Categories
Home > Documents > JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California...

JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California...

Date post: 15-Jan-2016
Category:
Upload: cesar-coster
View: 215 times
Download: 0 times
Share this document with a friend
Popular Tags:
19
JPManager: A J2EE PERFORMANCE MANAGEMENT SYSTEM Jiang Guo Department of Computer Science California State University Los Angeles March 24, 2010
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!


Recommended