Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 196749 - JVMTI Instrumentation overhead when instrumenting lots of stuff
Summary: JVMTI Instrumentation overhead when instrumenting lots of stuff
Status: CLOSED WONTFIX
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: TPTP (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 enhancement with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: jkubasta CLA
QA Contact:
URL:
Whiteboard: housecleaned460 closed471
Keywords:
Depends on:
Blocks:
 
Reported: 2007-07-16 18:58 EDT by Chris Elford CLA
Modified: 2016-05-05 11:20 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Elford CLA 2007-07-16 18:58:02 EDT
This is somewhat related to 190802 but is more about the performance of JVMTI profiling.

Because byte code instrumentation is done dynamically w/ JVMTI profiling, are we satisfied with the startup (or attach) performance when the enabled filters trigger a bunch of instrumentations and/or class redefinitions?  Has some exploration of the overhead been performed?  Is there a problem and is there some low hanging fruit to improve it.

Related to this is the latency involved in deciding if the underlying VM is Java 1.4 or Java 5 so it can tell me which monitoring options to enable.  This seems to take between 2 and 10 seconds on my box.  Is any streamlining there planned?
Comment 1 Asaf Yaffe CLA 2007-07-17 02:50:06 EDT
There are two different use-cases here:
1. "load time" instrumentation, done when the profiler starts with the profiled application (standalone and controlled mode): the instrumentation overhead largely depends on the filter criteria. It is performing quite well as it is, and further optimizations must be done in the underlying Probekit BCI engine, although I am not sure whether this is worth the effort.

2. "dynamic" instrumentation, done when attaching the profiler to a running application (enabled mode): there are two factors here: the instrumentation overhead itself and the overhead of redefining loaded classes using the JVMTI RedefineClasses or RetransformClasses APIs. The first factor is identical to use-case 1. The second factor is more problematic: the implementation of RedefineClasses in both Sun and Bea JVMs (IBM was not tested as it does not support redefinition for certain system classes) is neither optimal nor scalable. It is slow, and consumes a lot of memory. As it is, relying on these APIs for dynamic instrumentation is a limitation which impacts performance and is not within our control.
Comment 2 Chris Elford CLA 2007-07-17 13:12:52 EDT
good information.  Has anyone tried comparable profilers that [I assume] use BCI?  (e.g., netbeans profiler) to determine if TPTP overheads are consistent with other options?
Comment 3 Asaf Yaffe CLA 2007-08-16 16:18:32 EDT
Updated target milestone. To be considered for 4.5.
Comment 4 Paul Slauenwhite CLA 2009-06-30 06:43:16 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As such, TPTP is not delivering enhancements. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement is resolved as WONTFIX. For this enhancement to be considered, please re-open with an attached patch including the Description Document (see http://www.eclipse.org/tptp/home/documents/process/development/description_documents.html), code (see http://www.eclipse.org/tptp/home/documents/resources/TPTPDevGuide.htm), and test cases (see http://www.eclipse.org/tptp/home/documents/process/TPTP_Testing_Strategy.html).
Comment 5 Paul Slauenwhite CLA 2009-06-30 06:54:44 EDT
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As such, TPTP is not delivering enhancements. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement is resolved as WONTFIX. For this enhancement to be considered, please re-open with an attached patch including the Description Document (see http://www.eclipse.org/tptp/home/documents/process/development/description_documents.html), code (see http://www.eclipse.org/tptp/home/documents/resources/TPTPDevGuide.htm), and test cases (see http://www.eclipse.org/tptp/home/documents/process/TPTP_Testing_Strategy.html).
Comment 6 Kathy Chan CLA 2010-11-18 23:08:08 EST
As of TPTP 4.6.0, TPTP is in maintenance mode and focusing on improving quality by resolving relevant enhancements/defects and increasing test coverage through test creation, automation, Build Verification Tests (BVTs), and expanded run-time execution. As part of the TPTP Bugzilla housecleaning process (see http://wiki.eclipse.org/Bugzilla_Housecleaning_Processes), this enhancement/defect is verified/closed by the Project Lead since this enhancement/defect has been resolved and unverified for more than 1 year and considered to be fixed. If this enhancement/defect is still unresolved and reproducible in the latest TPTP release (http://www.eclipse.org/tptp/home/downloads/), please re-open.