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

JVMTI Profiler Hack Guide

Revision as of 11:36, 20 May 2009 by Yunan.he.intel.com (Talk | contribs) (Architecture)

Introduction

Martini Framework

Architecture

Martini Runtime is built on top of JVM. The JVM interface component is implemented as the interface between JVM and Martini Runtime by calling JVMTI/JVMPI. It’s responsible for data conversion and interface conversion and also provides rich functionality to inspect JVM state and control the execution of applications such as iterating heap. JVMTI event will be converted to internal event type and passed to Event Manger.

Event Manger component is responsible for dispatching event. Events can be sent from External components (EC, profilers) and internal components.

Martini Framework is instrumentation based profiling framework. It can record method enter/exit event, thread event and heap allocation event. Instead of generating event using JVMTI/JVMPI, Martini framework using bytecode instrumentation technology to generate execution, thread and heap event. Instrumentation Manger is responsible for managing the instrumentation process and it calls instrumentation adaptors to instrument bytecode with specific functionality.

Profiler Interface

Instrumentation Engine

External Control Interface

TPTP Java Profilers

Heap Profiler

CG Profiler

Thread Profiler


Back to TPTP wiki page

Back to the top