Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "TPTP Java Profilers Anatomy"

(Introduction)
Line 4: Line 4:
  
 
== Profilers Design Overview  ==
 
== Profilers Design Overview  ==
 +
 +
To abstract common operations in diffrent profilers, a class named "CBaseProf" is added. The design pattern Template is used here. BaseProf defines several template methods and subclasses of it need to implement these template methods.
 +
 +
Besides BaseProf, profiling data will be stored for different profiling. We will discuss the data structure of them later. All these profiling data and handlers which point to components outside of profilers such as JPIAgent is stored in a profiling context class named "CProfEnv". 
 +
 +
Different handler classes are added for process different Martini profiling events such as enter a method or a new thread start etc. These classes is packaged with concrete profilers.
  
 
== Profiliers Anatomy  ==
 
== Profiliers Anatomy  ==

Revision as of 05:28, 29 July 2009

Introduction

TPTP provides with not only a profiling framework Martini, but also several Java profilers. Call graph, memory and thread anlysis are three basic profiling scenarios.

Profilers Design Overview

To abstract common operations in diffrent profilers, a class named "CBaseProf" is added. The design pattern Template is used here. BaseProf defines several template methods and subclasses of it need to implement these template methods.

Besides BaseProf, profiling data will be stored for different profiling. We will discuss the data structure of them later. All these profiling data and handlers which point to components outside of profilers such as JPIAgent is stored in a profiling context class named "CProfEnv". 

Different handler classes are added for process different Martini profiling events such as enter a method or a new thread start etc. These classes is packaged with concrete profilers.

Profiliers Anatomy

BaseProf: Base class for Concrete Profilers

ProfEnv: Profiling Environmental Information Storage for Profilers

Call Graph Profiler

Heap Profiler

Thread Profiler

ProbekitAgent


<Not Finished yet>...

Back to the top