JDK-6818125 : plugin2 : needs better performance data logging
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u10
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2009-03-17
  • Updated: 2010-09-08
  • Resolved: 2009-05-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6u14 b04Fixed
Description
This CR is to address the following:

1) the DEPLOY_PERF_LOG env. variable setting isn't working with the new java plugin.
The env. variable allows the user to specify a file name with full path so that the deployment perfomance data will be written to the file.
e.g. set DEPLOY_PERF_LOG=c:\temp\deploy_perf.txt

2) we need to organize the data in such a way that it's can easily be understood by anyone viewing the performance data log.
A proposed format of the log consists of 3 columns - first column is the event, second column is the elapsed time, third column is the delta time.

Comments
EVALUATION 1) the DEPLOY_PERF_LOG env. variable setting isn't working with the new java plugin. The env. variable allows the user to specify a file name with full path so that the deployment perfomance data will be written to the file. e.g. set DEPLOY_PERF_LOG=c:\temp\deploy_perf.txt It is due to: (a) the new plugin code never calls DeployPerfUtil.write() method; (b) the DefaultPerfHelper only stores the last label but the caller (DeployPerfUtil) of the DefaultPerfHelper.toArray() expects it to return an array containing all the performance data related labels. The Fix for (a) is to call DeployPerfUtil.write() in the Plugin2Manager. The fix for (b) is to use an ArrayList in DefaultPerfHelper to store all the performance data labels. Note that an additional boolean parameter is added to the DeployPerfUtil.write() method, this is for determining whether to write the "rollup" data at the end of the log. For the new plugin, more work is needed to define the proper performance events so that the rollup data can be generated. See sun.plugin.perf.PluginRollup for details. 2) we need to organize the data in such a way that it's can easily be understood by anyone viewing the performance data log. A proposed format of the log consists of 3 columns - first column is the event, second column is the elapsed time, third column is the delta time. The rest of the changes are for #2. Most of the changes involve commenting out extraneous performance data logging and added some logging to the known performance bottlenecks so far.
19-03-2009