<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
>
<!-- MHonArc v2.6.10 -->
	<channel>
		<title>mat-dev</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/maillist.html</link>
		<description>mat-dev</description>
		<language>en-us</language>
		<pubDate>Thu, 16 May 2013 11:10:13 GMT</pubDate>
		<lastBuildDate>Thu, 16 May 2013 11:10:13 GMT</lastBuildDate>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<generator>MHonArc RSS 2.0 RCFile</generator>
		<managingEditor>webmaster@eclipse.org (Webmaster)</managingEditor>
		<webMaster>webmaster@eclipse.org (Webmaster)</webMaster>
		<image>
			<title>mat-dev</title>
			<url>http://www.eclipse.org/eclipse.org-common/themes/Phoenix/images/eclipse_home_header.jpg</url>
			<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/maillist.html</link>
		</image>
 

	<item>
		<title>[mat-dev] MAT 1.3.0 countdown...</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00384.html</link>
		<description> Hi,   Kepler release date, which is also MAT 1.3.0 release date, is approaching. Next week the Kepler RC1 will be produced. My intention is to try to provide the final MAT contribution to Kepler already with RC1, just to avoid the stress and risk of contr...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } ">


<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><span lang="EN-US">Kepler release date, which is also MAT 1.3.0 release date, is approaching.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Next week the Kepler RC1 will be produced. My intention is to try to provide the
<i>final</i> MAT contribution to Kepler already with RC1, just to avoid the stress and risk of contributing to the latest RCs. In case of critical issues, we can of course take part in the next RCs.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Current status:<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">-<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang="EN-US">IP Log &#8211; submitted today<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">-<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang="EN-US">Release Review documentation &#8211; It is in the PMI tool, not yet sent for approval to the PMC (see my previous mail on the list). I&#8217;ll wait for the IP log approval before I ask the PMC<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">-<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang="EN-US">New &amp; Noteworthy &#8211; Andrew helped me to compile the new and noteworthy document. The documentation of the last snapshot build contains it. Let me know if I missed something<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">What is next?<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">-<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang="EN-US">Some last tests &#8211; if you are interested, just try the latest snapshot version[1] &nbsp;and let us know if there are some critical issues with it<o:p></o:p></span></p>
<p class="MsoListParagraph" style="text-indent:-18.0pt;mso-list:l0 level1 lfo1"><![if !supportLists]><span lang="EN-US"><span style="mso-list:Ignore">-<span style="font:7.0pt &quot;Times New Roman&quot;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang="EN-US">I will build a version about noon (CET) which I hope will be the final version. As mentioned above &#8211; in case of issues we&#8217;ll produce another one<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Krum<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">[1] <a href="http://www.eclipse.org/mat/snapshotBuilds.php">
http://www.eclipse.org/mat/snapshotBuilds.php</a> <o:p></o:p></span></p>
</div>


</td></tr></table>]]></content:encoded>
		<pubDate>Thu, 16 May 2013 11:00:00 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00384.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>


	<item>
		<title>Re: [mat-dev] MAT Argument Processing</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00383.html</link>
		<description> A PreferenceInitializer was only called when the preference pane was opened, and since the main parser doesn't reference this new bundle, the bundle never activated, so I used the org.eclipse.ui.startup extension point [1] to load the preferences as syste...</description>
		<content:encoded><![CDATA[
<p><font size="2" face="sans-serif">A PreferenceInitializer was only called when the preference pane was opened, and since the main parser doesn't reference this new bundle, the bundle never activated, so I used the org.eclipse.ui.startup extension point [1] to load the preferences as system props.</font><br>
<br>
<font size="2" face="sans-serif">[1] <a href="http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_startup.html">http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/extension-points/org_eclipse_ui_startup.html</a></font><br>
<font size="2" face="sans-serif"><br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team<br>
kevin.grigorenko@xxxxxxxxxx<br>
Blog: <a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en">https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</a><br>
</font><br>
<br>
<img width="16" height="16" src="" border="0" alt="Inactive hide details for Kevin Grigorenko---04/26/2013 08:24:46 AM---Hi Andreas, That's a much simpler solution, thanks. With "><font size="2" color="#424282" face="sans-serif">Kevin Grigorenko---04/26/2013 08:24:46 AM---Hi Andreas, That's a much simpler solution, thanks. With this, I'd like to take out the HPROF prefer</font><br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">From:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Kevin Grigorenko/Austin/IBM@IBMUS</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">To:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Memory Analyzer Dev list &lt;mat-dev@xxxxxxxxxxx&gt;, </font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Date:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">04/26/2013 08:24 AM</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Subject:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Re: [mat-dev] MAT Argument Processing</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Sent by:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">mat-dev-bounces@xxxxxxxxxxx</font></td></tr>
</table>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<font size="2" face="sans-serif">Hi Andreas, That's a much simpler solution, thanks.</font><font size="3" face="serif"><br>
</font><font size="2" face="sans-serif"><br>
With this, I'd like to take out the HPROF preferences stuff into its own project, org.eclipse.mat.hprof.ui. Are there any caveats to adding a new plugin (other than the basics which I should be able to mimic from other plugins), such as needing to modify the build process?<br>
<br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team<br>
kevin.grigorenko@xxxxxxxxxx<br>
Blog: </font><a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en"><font size="2" color="#0000FF" face="sans-serif"><u>https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</u></font></a><font size="3" face="serif"><br>
<br>
<br>
</font><img src="" width="16" height="16" alt="Inactive hide details for &quot;Buchen, Andreas&quot; ---04/26/2013 08:02:49 AM---BTW, Eclipse Proxy Preference dialog is always setting "><font size="2" color="#424282" face="sans-serif">&quot;Buchen, Andreas&quot; ---04/26/2013 08:02:49 AM---BTW, Eclipse Proxy Preference dialog is always setting the system variables (e.g. &quot;http.proxy&quot;, etc.</font><font size="3" face="serif"><br>
</font>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="sans-serif">From:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" face="sans-serif"><br>
&quot;Buchen, Andreas&quot; &lt;andreas.buchen@xxxxxxx&gt;</font></td></tr>

<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="sans-serif">To:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" face="sans-serif"><br>
Memory Analyzer Dev list &lt;mat-dev@xxxxxxxxxxx&gt;, </font></td></tr>

<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="sans-serif">Date:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" face="sans-serif"><br>
04/26/2013 08:02 AM</font></td></tr>

<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="sans-serif">Subject:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" face="sans-serif"><br>
Re: [mat-dev] MAT Argument Processing</font></td></tr>

<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="sans-serif">Sent by:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" face="sans-serif"><br>
mat-dev-bounces@xxxxxxxxxxx</font></td></tr>
</table>
<hr width="100%" size="2" align="left" noshade><font size="3" face="serif"><br>
<br>
</font><font size="2" color="#1F497D" face="sans-serif"><br>
 <br>
BTW, Eclipse Proxy Preference dialog is always setting the system variables (e.g. &#xE2;http.proxy&#xE2;, etc.).<br>
 <br>
So you could have a PreferenceInitializer which sets it initially on startup, and a PreferencePage which updates the values upon editing.<br>
 <br>
--&gt; headless code is only using system variables<br>
 </font><font size="2" face="Tahoma"><b><br>
From:</b></font><font size="2" face="Tahoma">&nbsp;mat-dev-bounces@xxxxxxxxxxx [</font><a href="mailto:mat-dev-bounces@xxxxxxxxxxx"><font size="2" color="#0000FF" face="Tahoma"><u>mailto:mat-dev-bounces@xxxxxxxxxxx</u></font></a><font size="2" face="Tahoma">] </font><font size="2" face="Tahoma"><b>On Behalf Of </b></font><font size="2" face="Tahoma">Kevin Grigorenko</font><font size="2" face="Tahoma"><b><br>
Sent:</b></font><font size="2" face="Tahoma">&nbsp;Freitag, 26. April 2013 16:03</font><font size="2" face="Tahoma"><b><br>
To:</b></font><font size="2" face="Tahoma">&nbsp;mat-dev@xxxxxxxxxxx</font><font size="2" face="Tahoma"><b><br>
Subject:</b></font><font size="2" face="Tahoma">&nbsp;[mat-dev] MAT Argument Processing</font><font size="3" face="serif"><br>
 &nbsp;</font>
<p><font size="2" face="Arial">Hey y'all, as part of bug #404679, I added in an HPROF preference page and support for -D parameters to change the behavior of the HPROF parser. The added UI plugin dependencies are optional but if headless mode is run without SWT/jface plugins, then a ClassNotFoundException will be thrown at runtime. The broader question is how best to process and coalesce preference choices and command line arguments. I propose a new extension point called something like argumentsProvider which will allow a plugin to register a callback which has a method that is called before processing the dump (e.g. ParseHeapDumpJob and ParseSnapshotApp) with a Map&lt;String, String&gt;. Then this map can be added to the SnapshotInfo so that lower code can query for arguments without any direct dependencies. With this design, then we can move the HPROF preferences into a new plugin which has an arguments provider. Any thoughts? Is this overengineering to use the plugin architecture for this?<br>
<br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team</font><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="mailto:kevin.grigorenko@xxxxxxxxxx"><font size="2" color="#0000FF" face="Arial"><u>kevin.grigorenko@xxxxxxxxxx</u></font></a><font size="2" face="Arial"><br>
Blog: </font><a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en"><font size="2" color="#0000FF" face="Arial"><u>https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</u></font></a><tt><font size="2">_______________________________________________<br>
mat-dev mailing list<br>
mat-dev@xxxxxxxxxxx</font></tt><tt><font size="2" color="#0000FF"><u><br>
</u></font></tt><a href="https://dev.eclipse.org/mailman/listinfo/mat-dev"><tt><font size="2" color="#0000FF"><u>https://dev.eclipse.org/mailman/listinfo/mat-dev</u></font></tt></a><tt><font size="2">_______________________________________________<br>
mat-dev mailing list<br>
mat-dev@xxxxxxxxxxx<br>
</font></tt><tt><font size="2"><a href="https://dev.eclipse.org/mailman/listinfo/mat-dev">https://dev.eclipse.org/mailman/listinfo/mat-dev</a></font></tt><tt><font size="2"><br>
</font></tt>
<p>
<p><p><a href="gifiJlWJB9XBM.gif" ><img src="gifiJlWJB9XBM.gif" alt="GIF image"></a></p>
<p><a href="gifTiIE2lzoG6.gif" ><img src="gifTiIE2lzoG6.gif" alt="GIF image"></a></p>
]]></content:encoded>
		<pubDate>Tue, 14 May 2013 18:48:52 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00383.html</guid>
		<author>kevin.grigorenko@xxxxxxx (Kevin Grigorenko)</author>
	</item>
	<item>
		<title>[mat-dev] Release review documentation draft</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00382.html</link>
		<description> Hi,   I am preparing the release review documentation for MAT 1.3.0 (to be released with Kepler). This time I decided to use the in-place functionality of the new Project Management Infrastructure instead of writing a document. Not sure if you noticed alr...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } ">


<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">I am preparing the release review documentation for MAT 1.3.0 (to be released with Kepler).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">This time I decided to use the in-place functionality of the new Project Management Infrastructure instead of writing a document. Not sure if you noticed already the new PMI (the &#8220;about this project&#8221; link on the MAT home
 page leads there now <a href="https://projects.eclipse.org/projects/tools.mat">https://projects.eclipse.org/projects/tools.mat</a> ). I find it very nice and convenient
</span><span lang="EN-US" style="font-family:Wingdings">J</span><span lang="EN-US"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">You can find the current release description here
<a href="https://projects.eclipse.org/projects/tools.mat/releases/1.3.0">https://projects.eclipse.org/projects/tools.mat/releases/1.3.0</a> .<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Feedback is welcome. I think that any committer can edit the release information (logon link is right /top), so feel free to edit directly there.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">The things that I know that are missing - the IP log (I will send it for approval till end of the week) and the New and noteworthy.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Krum<o:p></o:p></span></p>
</div>


</td></tr></table>]]></content:encoded>
		<pubDate>Tue, 14 May 2013 10:51:43 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00382.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>


	<item>
		<title>[mat-dev] FW: [cross-project-issues-dev] Kepler M7 repository has been turned on</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00381.html</link>
		<description> Just FYI On Wednesday I contributed the build results from SVN Revision 1444 &amp;#8220;380858: Allow selection of which runtime to analyze when core file contains multiple java runtimes&amp;#8221; to Kepler M7.   From: cross-project-issues-dev-bounces@xxxxxxxxxxx [mailto:cr...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } ">


<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Just FYI<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">On Wednesday I contributed the build results from SVN Revision 1444 &#8220;380858: Allow selection of which runtime to analyze when core file contains
 multiple java runtimes&#8221; to Kepler M7.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> cross-project-issues-dev-bounces@xxxxxxxxxxx [mailto:cross-project-issues-dev-bounces@xxxxxxxxxxx]
<b>On Behalf Of </b>David M Williams<br>
<b>Sent:</b> Freitag, 10. Mai 2013 15:35<br>
<b>To:</b> cross-project-issues-dev@xxxxxxxxxxx<br>
<b>Subject:</b> [cross-project-issues-dev] Kepler M7 repository has been turned on<o:p></o:p></span></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">The main kepler repo has been &quot;turned on&quot; with M7 content. It also has M6 and M5 content, since, as you'll recall, we want/need to test roll-backs,
 multiple composite effects, etc., since we will eventually release service to same repo. BUT .... if anyone finds notices too many &quot;conflicts&quot; because of large changes between milestones (e.g. features being removed, changing names, etc., then open a cross-project
 bug and I'll consider disconnecting older milestones). </span><br>
<br>
<a href="http://download.eclipse.org/releases/kepler/"><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">http://download.eclipse.org/releases/kepler/</span></a>
<br>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">The M7 EPP packages will be made available today as they get &#43;1 votes from their maintainers.
</span><br>
<br>
<a href="http://www.eclipse.org/downloads/index-developer.php"><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">http://www.eclipse.org/downloads/index-developer.php</span></a>
<br>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">(So, before downloading one, be sure it says &quot;M7&quot;, if that's what you are after.
</span><br>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Test well! Enjoy the new function!
</span><br>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">As we finish Kepler and go though the end-game rampdown, don't forget to test various &quot;upgrade&quot; scenarios from Juno releases.
</span><br>
<br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Thanks all, </span>
<br>
<br>
<o:p></o:p></p>
</div>


</td></tr></table><pre>_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@xxxxxxxxxxx
<a  href="https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev">https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev</a>
</pre>]]></content:encoded>
		<pubDate>Fri, 10 May 2013 14:22:12 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00381.html</guid>
		<author>krum.tsvetkov@xxxxxxx (Tsvetkov, Krum)</author>
	</item>


	<item>
		<title>Re: [mat-dev] MAT Argument Processing</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00380.html</link>
		<description> Hi Andreas, That's a much simpler solution, thanks. With this, I'd like to take out the HPROF preferences stuff into its own project, org.eclipse.mat.hprof.ui. Are there any caveats to adding a new plugin (other than the basics which I should be able to m...</description>
		<content:encoded><![CDATA[
<p><font size="2" face="sans-serif">Hi Andreas, That's a much simpler solution, thanks.</font><br>
<br>
<font size="2" face="sans-serif">With this, I'd like to take out the HPROF preferences stuff into its own project, org.eclipse.mat.hprof.ui. Are there any caveats to adding a new plugin (other than the basics which I should be able to mimic from other plugins), such as needing to modify the build process?</font><br>
<font size="2" face="sans-serif"><br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team<br>
kevin.grigorenko@xxxxxxxxxx<br>
Blog: <a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en">https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</a><br>
</font><br>
<br>
<img width="16" height="16" src="" border="0" alt="Inactive hide details for &quot;Buchen, Andreas&quot; ---04/26/2013 08:02:49 AM---BTW, Eclipse Proxy Preference dialog is always setting "><font size="2" color="#424282" face="sans-serif">&quot;Buchen, Andreas&quot; ---04/26/2013 08:02:49 AM---BTW, Eclipse Proxy Preference dialog is always setting the system variables (e.g. &quot;http.proxy&quot;, etc.</font><br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">From:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">&quot;Buchen, Andreas&quot; &lt;andreas.buchen@xxxxxxx&gt;</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">To:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Memory Analyzer Dev list &lt;mat-dev@xxxxxxxxxxx&gt;, </font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Date:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">04/26/2013 08:02 AM</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Subject:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Re: [mat-dev] MAT Argument Processing</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Sent by:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">mat-dev-bounces@xxxxxxxxxxx</font></td></tr>
</table>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<font size="2" color="#1F497D" face="sans-serif">&nbsp;</font><br>
<font size="2" color="#1F497D" face="sans-serif">BTW, Eclipse Proxy Preference dialog is always setting the system variables (e.g. &#xE2;http.proxy&#xE2;, etc.).</font><br>
<font size="2" color="#1F497D" face="sans-serif">&nbsp;</font><br>
<font size="2" color="#1F497D" face="sans-serif">So you could have a PreferenceInitializer which sets it initially on startup, and a PreferencePage which updates the values upon editing.</font><br>
<font size="2" color="#1F497D" face="sans-serif">&nbsp;</font><br>
<font size="2" color="#1F497D" face="sans-serif">--&gt; headless code is only using system variables</font><br>
<font size="2" color="#1F497D" face="sans-serif">&nbsp;</font><br>
<font size="2" face="Tahoma"><b>From:</b></font><font size="2" face="Tahoma">&nbsp;mat-dev-bounces@xxxxxxxxxxx [</font><font size="2" face="Tahoma"><a href="mailto:mat-dev-bounces@xxxxxxxxxxx">mailto:mat-dev-bounces@xxxxxxxxxxx</a></font><font size="2" face="Tahoma">] </font><font size="2" face="Tahoma"><b>On Behalf Of </b></font><font size="2" face="Tahoma">Kevin Grigorenko</font><font size="2" face="Tahoma"><b><br>
Sent:</b></font><font size="2" face="Tahoma">&nbsp;Freitag, 26. April 2013 16:03</font><font size="2" face="Tahoma"><b><br>
To:</b></font><font size="2" face="Tahoma">&nbsp;mat-dev@xxxxxxxxxxx</font><font size="2" face="Tahoma"><b><br>
Subject:</b></font><font size="2" face="Tahoma">&nbsp;[mat-dev] MAT Argument Processing</font><br>
<font size="3" face="serif">&nbsp;</font>
<p><font size="2" face="Arial">Hey y'all, as part of bug #404679, I added in an HPROF preference page and support for -D parameters to change the behavior of the HPROF parser. The added UI plugin dependencies are optional but if headless mode is run without SWT/jface plugins, then a ClassNotFoundException will be thrown at runtime. The broader question is how best to process and coalesce preference choices and command line arguments. I propose a new extension point called something like argumentsProvider which will allow a plugin to register a callback which has a method that is called before processing the dump (e.g. ParseHeapDumpJob and ParseSnapshotApp) with a Map&lt;String, String&gt;. Then this map can be added to the SnapshotInfo so that lower code can query for arguments without any direct dependencies. With this design, then we can move the HPROF preferences into a new plugin which has an arguments provider. Any thoughts? Is this overengineering to use the plugin architecture for this?<br>
<br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team</font><font size="2" color="#0000FF" face="Arial"><u><br>
</u></font><a href="mailto:kevin.grigorenko@xxxxxxxxxx"><font size="2" color="#0000FF" face="Arial"><u>kevin.grigorenko@xxxxxxxxxx</u></font></a><font size="2" face="Arial"><br>
Blog: </font><a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en"><font size="2" color="#0000FF" face="Arial"><u>https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</u></font></a><tt><font size="2">_______________________________________________<br>
mat-dev mailing list<br>
mat-dev@xxxxxxxxxxx<br>
</font></tt><tt><font size="2"><a href="https://dev.eclipse.org/mailman/listinfo/mat-dev">https://dev.eclipse.org/mailman/listinfo/mat-dev</a></font></tt><tt><font size="2"><br>
</font></tt>
<p>
<p><p><a href="gifCfMgqpuFRm.gif" ><img src="gifCfMgqpuFRm.gif" alt="GIF image"></a></p>
<p><a href="gif4HY6qbvCy2.gif" ><img src="gif4HY6qbvCy2.gif" alt="GIF image"></a></p>
]]></content:encoded>
		<pubDate>Fri, 26 Apr 2013 15:21:48 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00380.html</guid>
		<author>kevin.grigorenko@xxxxxxx (Kevin Grigorenko)</author>
	</item>
	<item>
		<title>Re: [mat-dev] MAT Argument Processing</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00379.html</link>
		<description>   BTW, Eclipse Proxy Preference dialog is always setting the system variables (e.g. &amp;#8220;http.proxy&amp;#8221;, etc.).   So you could have a PreferenceInitializer which sets it initially on startup, and a PreferencePage which updates the values upon editing.   --gt; he...</description>
		<content:encoded><![CDATA[<table width="100%"><tr><td style="a:link { color: blue } a:visited { color: purple } ">


<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">BTW, Eclipse Proxy Preference dialog is always setting the system variables (e.g. &#8220;http.proxy&#8221;, etc.).<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">So you could have a PreferenceInitializer which sets it initially on startup, and a PreferencePage which updates the values upon editing.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">--&gt; headless code is only using system variables<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> mat-dev-bounces@xxxxxxxxxxx [mailto:mat-dev-bounces@xxxxxxxxxxx]
<b>On Behalf Of </b>Kevin Grigorenko<br>
<b>Sent:</b> Freitag, 26. April 2013 16:03<br>
<b>To:</b> mat-dev@xxxxxxxxxxx<br>
<b>Subject:</b> [mat-dev] MAT Argument Processing<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p><span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;">Hey y'all, as part of bug #404679, I added in an HPROF preference page and support for -D parameters to change the behavior of the HPROF parser. The added UI plugin dependencies are optional
 but if headless mode is run without SWT/jface plugins, then a ClassNotFoundException will be thrown at runtime. The broader question is how best to process and coalesce preference choices and command line arguments. I propose a new extension point called something
 like argumentsProvider which will allow a plugin to register a callback which has a method that is called before processing the dump (e.g. ParseHeapDumpJob and ParseSnapshotApp) with a Map&lt;String, String&gt;. Then this map can be added to the SnapshotInfo so
 that lower code can query for arguments without any direct dependencies. With this design, then we can move the HPROF preferences into a new plugin which has an arguments provider. Any thoughts? Is this overengineering to use the plugin architecture for this?</span><br>
<span style="font-size:10.0pt;font-family:&quot;Arial&quot;,&quot;sans-serif&quot;"><br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team<br>
<a href="mailto:kevin.grigorenko@xxxxxxxxxx">kevin.grigorenko@xxxxxxxxxx</a><br>
Blog: <a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en">
https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</a></span><o:p></o:p></p>
</div>


</td></tr></table>]]></content:encoded>
		<pubDate>Fri, 26 Apr 2013 15:02:14 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00379.html</guid>
		<author>andreas.buchen@xxxxxxx (Buchen, Andreas)</author>
	</item>
	<item>
		<title>[mat-dev] MAT Argument Processing</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00378.html</link>
		<description> Hey y'all, as part of bug #404679, I added in an HPROF preference page and support for -D parameters to change the behavior of the HPROF parser. The added UI plugin dependencies are optional but if headless mode is run without SWT/jface plugins, then a Cl...</description>
		<content:encoded><![CDATA[
<p><font size="2" face="sans-serif">Hey y'all, as part of bug #404679, I added in an HPROF preference page and support for -D parameters to change the behavior of the HPROF parser. The added UI plugin dependencies are optional but if headless mode is run without SWT/jface plugins, then a ClassNotFoundException will be thrown at runtime. The broader question is how best to process and coalesce preference choices and command line arguments. I propose a new extension point called something like argumentsProvider which will allow a plugin to register a callback which has a method that is called before processing the dump (e.g. ParseHeapDumpJob and ParseSnapshotApp) with a Map&lt;String, String&gt;. Then this map can be added to the SnapshotInfo so that lower code can query for arguments without any direct dependencies. With this design, then we can move the HPROF preferences into a new plugin which has an arguments provider. Any thoughts? Is this overengineering to use the plugin architecture for this?</font><br>
<font size="2" face="sans-serif"><br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team<br>
kevin.grigorenko@xxxxxxxxxx<br>
Blog: <a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en">https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</a><br>
</font>]]></content:encoded>
		<pubDate>Fri, 26 Apr 2013 14:10:46 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00378.html</guid>
		<author>kevin.grigorenko@xxxxxxx (Kevin Grigorenko)</author>
	</item>


	<item>
		<title>Re: [mat-dev] Proposal: MAT Warning System</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00377.html</link>
		<description> Hey Andrew, One idea is to auto-generate a &amp;quot;Memory Analyzer Loaded Dumps&amp;quot; project and add resources to it any time a dump is opened. We'd probably want to &amp;quot;clear&amp;quot; this project on startup so that the set of resources doesn't grow infinitely or have to be m...</description>
		<content:encoded><![CDATA[
<p><font size="2" face="sans-serif">Hey Andrew,</font><br>
<br>
<font size="2" face="sans-serif">One idea is to auto-generate a &quot;Memory Analyzer Loaded Dumps&quot; project and add resources to it any time a dump is opened. We'd probably want to &quot;clear&quot; this project on startup so that the set of resources doesn't grow infinitely or have to be manually managed.</font><br>
<font size="2" face="sans-serif"><br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team<br>
kevin.grigorenko@xxxxxxxxxx<br>
Blog: <a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en">https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</a><br>
</font><br>
<br>
<img width="16" height="16" src="" border="0" alt="Inactive hide details for Andrew Johnson ---03/18/2013 04:45:25 AM---Here is an example of how a problem view might look. I mod"><font size="2" color="#424282" face="sans-serif">Andrew Johnson ---03/18/2013 04:45:25 AM---Here is an example of how a problem view might look. I modified MultiPaneEditor to implement IGotoMa</font><br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">From:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Andrew Johnson &lt;andrew_johnson@xxxxxxxxxx&gt;</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">To:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Memory Analyzer Dev list &lt;mat-dev@xxxxxxxxxxx&gt;, </font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Date:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">03/18/2013 04:45 AM</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Subject:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Re: [mat-dev] Proposal: MAT Warning System</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Sent by:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">mat-dev-bounces@xxxxxxxxxxx</font></td></tr>
</table>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<font size="2" face="sans-serif">Here is an example of how a problem view might look.</font><font size="3" face="serif">&nbsp;<br>
<br>
<br>
</font><font size="2" face="sans-serif"><br>
I modified MultiPaneEditor to implement IGotoMarker, added some dummy problem markers when an IFileEditorInput was received on opening a file from the project explorer, and added a &nbsp;public void gotoMarker(IMarker arg0) method which when given a location would bring an existing list_objects page for the object to the top.</font><font size="3" face="serif">&nbsp;<br>
</font><font size="2" face="sans-serif"><br>
I then ran MAT inside Eclipse, then created a project in the project explorer for the dump file, then opened the dump file.</font><font size="3" face="serif">&nbsp;<br>
</font><font size="2" face="sans-serif"><br>
This was just a quick example to try out the idea - the gotoMarker also needs to run a &nbsp;list_objects command if one does not already exist.</font><font size="3" face="serif">&nbsp;<br>
</font><font size="2" face="sans-serif"><br>
The problem marker creation would need to be integrated into the new MAT warning framework. Also problem markers only seem to work with resources, so I'm not sure how to make a resource for a dump which is not in a workspace. Perhaps the dump would need to be linked into a project, or the index files linked into the project. When there are multiple snapshots in a dump [1 ] how could we show this in the project explorer? Could the project explorer expand from dump to snapshot[s] to classloaders/classes/objects?</font><font size="3" face="serif">&nbsp;<br>
</font><font size="2" face="sans-serif"><br>
Andrew Johnson</font><font size="3" face="serif">&nbsp;<br>
</font><font size="2" face="sans-serif"><br>
[1] 380858: Allow selection of which runtime to analyze when core file contains multiple java runtimes</font><font size="3" face="serif">&nbsp;</font><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=380858"><font size="2" color="#0000FF" face="sans-serif"><u>https://bugs.eclipse.org/bugs/show_bug.cgi?id=380858</u></font></a><font size="3" face="serif">&nbsp;</font><font size="2" face="sans-serif"><br>
<br>
Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number 741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU[attachment &quot;problemlog.png&quot; deleted by Kevin Grigorenko/Austin/IBM] </font><tt><font size="2">_______________________________________________<br>
mat-dev mailing list<br>
mat-dev@xxxxxxxxxxx<br>
</font></tt><tt><font size="2"><a href="https://dev.eclipse.org/mailman/listinfo/mat-dev">https://dev.eclipse.org/mailman/listinfo/mat-dev</a></font></tt><tt><font size="2"><br>
</font></tt><br>
<br>

<p><a href="gifVxcdLdOGs8.gif" ><img src="gifVxcdLdOGs8.gif" alt="GIF image"></a></p>
<p><a href="gifh2SIdREePz.gif" ><img src="gifh2SIdREePz.gif" alt="GIF image"></a></p>
]]></content:encoded>
		<pubDate>Mon, 18 Mar 2013 19:59:50 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00377.html</guid>
		<author>kevin.grigorenko@xxxxxxx (Kevin Grigorenko)</author>
	</item>
	<item>
		<title>Re: [mat-dev] Proposal: MAT Warning System</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00376.html</link>
		<description>Here is an example of how a problem view might look. I modified MultiPaneEditor to implement IGotoMarker, added some dummy problem markers when an IFileEditorInput was received on opening a file from the project explorer, and added a  public void gotoMarke...</description>
		<content:encoded><![CDATA[<font size=2 face="sans-serif">Here is an example of how a problem view
might look.</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif">I modified MultiPaneEditor to implement
IGotoMarker, added some dummy problem markers when an IFileEditorInput
was received on opening a file from the project explorer, and added a &nbsp;public
void gotoMarker(IMarker arg0) method which when given a location would
bring an existing list_objects page for the object to the top.</font>
<br>
<br><font size=2 face="sans-serif">I then ran MAT inside Eclipse, then
created a project in the project explorer for the dump file, then opened
the dump file.</font>
<br>
<br><font size=2 face="sans-serif">This was just a quick example to try
out the idea - the gotoMarker also needs to run a &nbsp;list_objects command
if one does not already exist.</font>
<br>
<br><font size=2 face="sans-serif">The problem marker creation would need
to be integrated into the new MAT warning framework. Also problem markers
only seem to work with resources, so I'm not sure how to make a resource
for a dump which is not in a workspace. Perhaps the dump would need to
be linked into a project, or the index files linked into the project. When
there are multiple snapshots in a dump [1 ] how could we show this in the
project explorer? Could the project explorer expand from dump to snapshot[s]
to classloaders/classes/objects?</font>
<br>
<br><font size=2 face="sans-serif">Andrew Johnson</font>
<br>
<br><font size=2 face="sans-serif">[1] 380858: Allow selection of which
runtime to analyze when core file contains multiple java runtimes</font>
<br><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=380858"><font size=2 face="sans-serif">https://bugs.eclipse.org/bugs/show_bug.cgi?id=380858</font></a>
<br><font size=2 face="sans-serif"><br>
Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number
741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU<br>
</font><p><strong>Attachment:
<a href="bink257adMC5i.bin" ><tt>problemlog.png</tt></a></strong><br>
<em>Description:</em> Binary data</p>
]]></content:encoded>
		<pubDate>Mon, 18 Mar 2013 11:45:10 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00376.html</guid>
		<author>andrew_johnson@xxxxxxx (Andrew Johnson)</author>
	</item>


	<item>
		<title>Re: [mat-dev] Proposal: MAT Warning System</title>
		<link>http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00375.html</link>
		<description> Hey Krum, That's a good point. I took resolver from the name resolver, but you're right that it seems like it's actually resolving the warning. How about WarningInvestigator and WarningInvestigation? I'm open to any of them. I like #1 or #2 because then a...</description>
		<content:encoded><![CDATA[
<p><font size="2" face="sans-serif">Hey Krum,</font><br>
<br>
<font size="2" face="sans-serif">&gt; to me WarningResolver and WarningResolution sounds as we are already solving the problems J May be just because of my non-native English. Shall we go for another name, or is this one fine?</font><br>
<br>
<font size="2" face="sans-serif">That's a good point. I took resolver from the name resolver, but you're right that it seems like it's actually resolving the warning. How about WarningInvestigator and WarningInvestigation?</font><br>
<br>
<font size="2" face="sans-serif">&gt; I think we have several options:</font><br>
<font size="2" face="sans-serif">&gt; #1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Assuming that we introduce the functionality post 1.3, we could go for a major version jump afterwards (i.e. mat 2.0) and signal that there are incompatible changes. &gt; It is then clearer, but still this doesn&#xE2;t help any adopters.</font><br>
<font size="2" face="sans-serif">&gt; #2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Add another interface, and make out object implementation implement both &#xE2; wound need some casting on all the places we would like to use the warnings</font><br>
<font size="2" face="sans-serif">&gt; #3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Use some kind of singleton to pass the object and get the warnings - we will need one anyway (at least internally) to read all extensions. </font><br>
<br>
<font size="2" face="sans-serif">I'm open to any of them. I like #1 or #2 because then at least the warning system is consistent with the name resolver system. If we choose #2, then that means that we would have to do both an instanceof and then a cast each time right? Do you think this could impact performance? We'll only be running the warning investigations on each displayed object, so I don't expect it would add too much.</font><br>
<br>
<font size="2" face="sans-serif">By the way, that brings up the point of performance impact analysis: do we have any &quot;standardized&quot; test where we can run a performance test on the various parts of MAT with a dump so that when we make a big change to MAT we can do a performance regression test? Ideally this would be done on some unchanging build system so that the hardware is the same each time.</font><br>
<br>
<font size="2" face="sans-serif">&gt; There are still some open questions, but I guess most of them can be answered while developing and playing with the new feature.</font><br>
<br>
<font size="2" face="sans-serif">Great! I'll wait on the answer to the compatibility point and also if Andrew has any more thoughts on the previous mail, and then I'll start coding...</font><br>
<font size="2" face="sans-serif"><br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team<br>
kevin.grigorenko@xxxxxxxxxx<br>
Blog: <a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en">https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</a><br>
</font><br>
<br>
<img width="16" height="16" src="" border="0" alt="Inactive hide details for &quot;Tsvetkov, Krum&quot; ---03/15/2013 06:15:19 AM---Hi Kevin, - I think we collected enough ideas to justify"><font size="2" color="#424282" face="sans-serif">&quot;Tsvetkov, Krum&quot; ---03/15/2013 06:15:19 AM---Hi Kevin, - I think we collected enough ideas to justify the creation of the per-object checks</font><br>
<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">From:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">&quot;Tsvetkov, Krum&quot; &lt;krum.tsvetkov@xxxxxxx&gt;</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">To:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Memory Analyzer Dev list &lt;mat-dev@xxxxxxxxxxx&gt;, </font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Date:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">03/15/2013 06:15 AM</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Subject:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">Re: [mat-dev] Proposal: MAT Warning System</font></td></tr>

<tr valign="top"><td width="1%"><img width="96" height="1" src="" border="0" alt=""><br>

<ul style="padding-left: 4pt"><font size="1" color="#5F5F5F" face="sans-serif">Sent by:</font></ul>
</td><td width="100%"><img width="1" height="1" src="" border="0" alt=""><br>
<font size="1" face="sans-serif">mat-dev-bounces@xxxxxxxxxxx</font></td></tr>
</table>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>
<br>
<font size="2" color="#1F497D" face="Calibri">Hi Kevin,</font><br>
<font size="2" color="#1F497D" face="Calibri">&nbsp;</font><br>
<font size="2" color="#1F497D" face="Calibri">- I think we collected enough ideas to justify the creation of the per-object checks</font><br>
<font size="2" color="#1F497D" face="Calibri">&nbsp;</font><br>
<font size="2" color="#1F497D" face="Calibri">- I still think we should be very careful with performance, but it is difficult to judge before having real experience</font><br>
<font size="2" color="#1F497D" face="Calibri">&nbsp;</font><br>
<font size="2" color="#1F497D" face="Calibri">&gt; </font><font size="2" face="Arial">I worry about running the scan during the initial open since dump open time is already a big complaint about MAT. I also worry about making it some button that you have to click since most users won't click it. I like the approach of IClassSpecificNameResolver, although maybe we should add a SoftReference cache of the resolved warning results?</font><br>
<font size="2" color="#1F497D" face="Calibri">&nbsp;</font><br>
<font size="2" color="#1F497D" face="Calibri">Let&#xE2;s drop the idea for now. I would also propose that we don&#xE2;t introduce a new cache. We can still add it later, If we see that it is needed </font><br>
<font size="2" color="#1F497D" face="Calibri">&nbsp;</font><br>
<font size="2" color="#1F497D" face="Calibri">- to me WarningResolver and WarningResolution sounds as we are already solving the problems </font><font size="2" color="#1F497D" face="serif">J</font><font size="2" color="#1F497D" face="Calibri">&nbsp;May be just because of my non-native English. Shall we go for another name, or is this one fine?</font><br>
<font size="2" color="#1F497D" face="Calibri">&nbsp;</font><br>
<font size="2" face="Arial">&gt;&gt; Adding methods to IObject is not a compatible change</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; What's the alternative? If I have an IObject and I want to get the list of warnings for it, would I have to use some sort of singleton service?</font><br>
<font size="2" color="#1F497D" face="Calibri">I think we have several options:</font>
<ul style="padding-left: 36pt"><font size="2" color="#1F497D" face="Calibri">- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Assuming that we introduce the functionality post 1.3, we could go for a major version jump afterwards (i.e. mat 2.0) and signal that there are incompatible changes. It is then clearer, but still this doesn&#xE2;t help any adopters.</font><br>
<font size="2" color="#1F497D" face="Calibri">- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Add another interface, and make out object implementation implement both &#xE2; wound need some casting on all the places we would like to use the warnings</font><br>
<font size="2" color="#1F497D" face="Calibri">- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Use some kind of singleton to pass the object and get the warnings - we will need one anyway (at least internally) to read all extensions. </font></ul>
<font size="2" color="#1F497D" face="Calibri">I am still not sure which way is the best&#xE2;</font><br>
<font size="2" color="#1F497D" face="Calibri">&nbsp;</font><br>
<font size="2" color="#1F497D" face="Calibri">There are still some open questions, but I guess most of them can be answered while developing and playing with the new feature. I guess we should agree on how to introduce the functionality (i.e. the last compatibility related point above).</font><br>
<font size="2" color="#1F497D" face="Calibri">&nbsp;</font><br>
<font size="2" color="#1F497D" face="Calibri">Regards,</font><br>
<font size="2" color="#1F497D" face="Calibri">Krum</font><br>
<font size="2" color="#1F497D" face="Calibri">&nbsp;</font><br>
<font size="2" face="Tahoma"><b>From:</b></font><font size="2" face="Tahoma">&nbsp;mat-dev-bounces@xxxxxxxxxxx [</font><font size="2" face="Tahoma"><a href="mailto:mat-dev-bounces@xxxxxxxxxxx">mailto:mat-dev-bounces@xxxxxxxxxxx</a></font><font size="2" face="Tahoma">] </font><font size="2" face="Tahoma"><b>On Behalf Of </b></font><font size="2" face="Tahoma">Kevin Grigorenko</font><font size="2" face="Tahoma"><b><br>
Sent:</b></font><font size="2" face="Tahoma">&nbsp;Montag, 11. M&#xC3;rz 2013 23:04</font><font size="2" face="Tahoma"><b><br>
To:</b></font><font size="2" face="Tahoma">&nbsp;Memory Analyzer Dev list</font><font size="2" face="Tahoma"><b><br>
Subject:</b></font><font size="2" face="Tahoma">&nbsp;Re: [mat-dev] Proposal: MAT Warning System</font><br>
<font size="3" face="Times New Roman">&nbsp;</font>
<p><font size="2" face="Arial">Hey Andrew, Krum,</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Sorry for the delay, I was on vacation. Great feedback. Here are some more comments:</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; In the last days I also thought that we should first collect some more concrete examples of what problems we could tackle.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Some other ideas:<br>
- For the WebSphere Application Server product, I'd like to add a warning when a thread has been marked as potentially hung by the hung thread detection - just a boolean check.<br>
- WAS Classloader marks that an application is stopped but it hasn't been garbage collected (somebody is holding on to something that they shouldn't) - just checking a field on the ClassLoader.<br>
- Check if various WAS caches are full - just comparing two integer fields.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; it may help to run a scan once, and save the results somehow, so that opening a view later does not result in new computations.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
I worry about running the scan during the initial open since dump open time is already a big complaint about MAT. I also worry about making it some button that you have to click since most users won't click it. I like the approach of IClassSpecificNameResolver, although maybe we should add a SoftReference cache of the resolved warning results?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; For example warning about closed files or disposed graphics objects might make sense if they were being retained when no longer needed, but in another situation excessive numbers of unclosed files could indicate a resource leak.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Yes, I could also think of some situations where a warning only occurs in some situations (for example, one large HTTP session is okay, but a thousand is probably not), but I would rather the default set be speedy. What about a resolver marking itself using an annotation which predicts the impact (e.g. @Impact(ImpactLevel.High))? Then there could be a preference that controls the threshold of resolvers to run.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; A standard Eclipse way is to use an overlay (a decorator) on the icon. For example a warning triangle or red error cross on projects which are in error. Would that be more intuitive?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
That is probably better. I can try that first but I'd like to see if it's too subtle or not.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; Should we then have a problems view? You could then show warnings/errors on a selection or across the dump, and group the errors by type, then jump to an instance of the error.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Yes, that makes sense. Can we just reuse the existing Problems View or would we have to create or own?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; We could also allow the user to annotate an object with some text (that would be visible in other views), or possibly tasks (e.g. TODO items for objects the user wants to hand inspect).</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Do you mean that a user could right click on an object and add a note or TODO marker?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; We could also have a preferences page - should there be a per snapshot preferences for warnings? How might that be done - should that be like per project Java warnings.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
What's the benefit of a per-snapshot preference?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; Should snapshots map to Eclipse projects in the projects explorer?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
What's the benefit?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; Should we make it easy to have multiple workspaces for MAT? E.g. all snapshots for one end-user application could be in one workspace, and then by switching workspaces you could then see all the snapshots from another application.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Interesting, I rarely use MAT in the process of development, but instead on post-mortem dumps and I usually don't have the matching source code, so I hadn't thought about this use case.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; Would showing details of the warning in a tab in the object inspector be a good location?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
That certainly makes sense to add, but I wouldn't want that to be the only place (marker or color I think is the primary notification).</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; Would an extension point to specify the icon for an object be useful?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Could this be one of the fields returned in the WarningResolution struct? Does a custom icon conflict with the IMarker/Problems View approach?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; The IClassSpecificWarningResolver seems a reasonable start, though markers seem a good model and could allow the linking of help.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Do you think IClassSpecificWarningResolver should extend IMarker?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; The name resolver implementation has a slight problem that only one resolver per class is allowed.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
I think this is because IObject.getClassSpecificName() returns a single String instead of a List. This is one reason I suggested List&lt;WarningResolution&gt; to support multiple warning resolvers for a single class.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; Adding methods to IObject is not a compatible change</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
What's the alternative? If I have an IObject and I want to get the list of warnings for it, would I have to use some sort of singleton service?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; Why tree view and not table view as well? </font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Yes, table view should also show it. Your suggestion of using IQueryPart.IS_IMPORTANT and coloring the row seems to be the way to go.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; How do we save/display the warning text in HTML for saved reports?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
Good question. How about footnotes that link to the bottom of the HTML?</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
&gt; @Subject(&quot;java.lang.Object&quot;) would probably do the same as &quot;*&quot;.</font><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
I didn't know @Subject supported &quot;instanceof&quot; resolution. So if I have class B which extends class A, and I write a name resolver for class A but I have an instance of class B, then the name resolver of class A will run?<br>
<br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team</font><font size="2" color="#0000FF" face="Arial"><u><br>
</u></font><a href="mailto:kevin.grigorenko@xxxxxxxxxx"><font size="2" color="#0000FF" face="Arial"><u>kevin.grigorenko@xxxxxxxxxx</u></font></a><font size="2" face="Arial"><br>
Blog: </font><a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en"><font size="2" color="#0000FF" face="Arial"><u>https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</u></font></a><font size="3" face="Times New Roman"><br>
<br>
<br>
</font><img src="" width="16" height="16" alt="Inactive hide details for &quot;Tsvetkov, Krum&quot; ---03/01/2013 04:34:06 AM---I also think it would be a nice improvement to MAT to ad"><font size="2" color="#424282" face="Arial">&quot;Tsvetkov, Krum&quot; ---03/01/2013 04:34:06 AM---I also think it would be a nice improvement to MAT to add some more automatically shown warnings. &gt;&gt;</font>
<p>
<table class="MsoNormalTable" width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="Arial">From:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" face="Arial"><br>
&quot;Tsvetkov, Krum&quot; &lt;krum.tsvetkov@xxxxxxx&gt;</font></td></tr>

<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="Arial">To:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" face="Arial"><br>
Memory Analyzer Dev list &lt;</font><a href="mailto:mat-dev@xxxxxxxxxxx"><font size="1" color="#0000FF" face="Arial"><u>mat-dev@xxxxxxxxxxx</u></font></a><font size="1" face="Arial">&gt;, </font></td></tr>

<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="Arial">Date:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" face="Arial"><br>
03/01/2013 04:34 AM</font></td></tr>

<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="Arial">Subject:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" face="Arial"><br>
Re: [mat-dev] Proposal: MAT Warning System</font></td></tr>

<tr valign="top"><td width="28%"><img src="" width="96" height="1">
<ul style="padding-left: 36pt"><font size="1" color="#5F5F5F" face="Arial">Sent by:</font></ul>
</td><td width="72%"><img src="" width="1" height="1"><font size="1" color="#0000FF" face="Arial"><u><br>
</u></font><a href="mailto:mat-dev-bounces@xxxxxxxxxxx"><font size="1" color="#0000FF" face="Arial"><u>mat-dev-bounces@xxxxxxxxxxx</u></font></a></td></tr>
</table>
<hr width="100%" size="2" align="left" noshade><br>
<font size="3" face="Times New Roman"><br>
<br>
</font><font size="2" color="#1F497D" face="Calibri"><br>
I also think it would be a nice improvement to MAT to add some more automatically shown warnings.<br>
 <br>
&gt;&gt; I think we can split the problem into 4 parts.<br>
+1<br>
 <br>
&gt;&gt; 1.Examples of warnings<br>
 <br>
In the last days I also thought that we should first collect some more concrete examples of what problems we could tackle.<br>
My biggest concern about doing some analysis per object is the performance. Let&#xE2;s try to collect some ideas of concrete warnings, which can be a) calculated based &nbsp;on (or starting with) a single object and b) calculated very fast. I think the example from Kevin with the big object, and from Andrew with the disposed graphics are a good start. What else could we collect?<br>
 </font><font size="3" face="Times New Roman">&nbsp;</font>
<ul style="padding-left: 36pt"><font size="2" color="#1F497D" face="Calibri">- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Big objects (&gt; % of the total heap)<br>
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Closed files<br>
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Un-/disposed widgets </font><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=274369"><font size="2" color="#0000FF" face="Calibri"><u>https://bugs.eclipse.org/bugs/show_bug.cgi?id=274369</u></font></a><font size="2" color="#1F497D" face="Calibri"><br>
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Small Strings objects, keeping a huge char[] (as result of substring() call)<br>
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;A big, empty collection ?? - not sure if this is useful on a single object. The reports showing millions of empty collections are good, but on a single object I don&#xE2;t know.</font></ul>
<font size="2" color="#1F497D" face="Calibri">&nbsp;<br>
We had some ideas in the past to show WeakHashMap objects, which contain entries where the value is referencing (may be indirectly) the key. This however requires some path analysis, and is one of the warnings which I wouldn&#xE2;t calculate for every opened view containing a WeakHashMap.<br>
 <br>
&gt;&gt; 2.How should the warnings be indicated to the user?<br>
I find both proposals good - coloring the text or using a marker on the icon.<br>
&gt;&gt; Would showing details of the warning in a tab in the object inspector be a good location?<br>
+1<br>
 <br>
&gt;&gt; Would an extension point to specify the icon for an object be useful?<br>
I think so.<br>
 <br>
I&#xE2;ll think a bit more about the other questions.<br>
 <br>
 <br>
About performance:<br>
 <br>
Depending on the concrete problems we identify in 1) it may help to run a scan once, and save the results somehow, so that opening a view later does not result in new computations.<br>
I wouldn&#xE2;t do it in the parsing phase, or at least it should be possible to turn such additional analysis off.<br>
It covers to some extent what Kevin proposed:<br>
&gt;&gt; An additional report could exist on the Overview screen under Reports named &quot;Show Any Warnings.&quot; This would require finding all warningResolver extensions and passing each instance of the subject classes to check for warnings.<br>
 <br>
And it is also similar to the current component reports, but there we do not persist the results to mark objects afterwards.<br>
 <br>
I enjoy this discussion, let&#xE2;s go on </font><font size="2" color="#1F497D" face="Times New Roman">J</font><font size="2" color="#1F497D" face="Calibri"><br>
 <br>
Krum</font><font size="3" face="Times New Roman"><br>
 <br>
 <br>
 </font><font size="2" face="Tahoma"><b><br>
From:</b></font><font size="2" face="Tahoma">&nbsp;</font><a href="mailto:mat-dev-bounces@xxxxxxxxxxx"><font size="2" color="#0000FF" face="Tahoma"><u>mat-dev-bounces@xxxxxxxxxxx</u></font></a><font size="2" face="Tahoma">&nbsp;[</font><a href="mailto:mat-dev-bounces@xxxxxxxxxxx"><font size="2" color="#0000FF" face="Tahoma"><u>mailto:mat-dev-bounces@xxxxxxxxxxx</u></font></a><font size="2" face="Tahoma">] </font><font size="2" face="Tahoma"><b>On Behalf Of </b></font><font size="2" face="Tahoma">Andrew Johnson</font><font size="2" face="Tahoma"><b><br>
Sent:</b></font><font size="2" face="Tahoma">&nbsp;Freitag, 1. M&#xC3;rz 2013 11:50</font><font size="2" face="Tahoma"><b><br>
To:</b></font><font size="2" face="Tahoma">&nbsp;Memory Analyzer Dev list</font><font size="2" face="Tahoma"><b><br>
Subject:</b></font><font size="2" face="Tahoma">&nbsp;Re: [mat-dev] Proposal: MAT Warning System</font><font size="3" face="Times New Roman"><br>
 </font><font size="2" face="Arial"><br>
I agree that adding more automatic warnings would make MAT more useful for the inexperienced user.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
<br>
As is, I don't think it is quite the right approach. I think we can split the problem into 4 parts.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
<br>
1.Examples of warnings - so we can see if warnings are globally applicable, or are complex to calculate. E.g. the warning is per object, so the evaluation needs to be speedy, but also accurate. For example warning about closed files or disposed graphics objects might make sense if they were being retained when no longer needed, but in another situation excessive numbers of unclosed files could indicate a resource leak.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
<br>
2.How should the warnings be indicated to the user?</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
The coloured coded row (background or foreground?) seems a convenient way to indicate a problem, but there are others.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
See also QueryPart IS_IMPORTANT which highlights a section in a report, and the focus row in blue in a report.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
A standard Eclipse way is to use an overlay (a decorator) on the icon. For example a warning triangle or red error cross on projects which are in error. Would that be more intuitive? Should we then have a problems view? You could then show warnings/errors on a selection or across the dump, and group the errors by type, then jump to an instance of the error. These are markers - see IMarker. We could also allow the user to annotate an object with some text (that would be visible in other views), or possibly tasks (e.g. TODO items for objects the user wants to hand inspect). We could also have a preferences page - should there be a per snapshot preferences for warnings? How might that be done - should that be like per project Java warnings. Should snapshots map to Eclipse projects in the projects explorer? Should we make it easy to have multiple workspaces for MAT? E.g. all snapshots for one end-user application could be in one workspace, and then by switching workspaces you could then see all the snapshots from another application.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
Would showing details of the warning in a tab in the object inspector be a good location?</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
Would an extension point to specify the icon for an object be useful?</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
<br>
3.How should adopters write warning extensions?</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
The IClassSpecificWarningResolver seems a reasonable start, though markers seem a good model and could allow the linking of help.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
<br>
4.How should it be implemented internally?</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
Doing icon overlays in org.eclipse.mat.api or report is harder, as currently they does not use the Eclipse UI classes. That was important when AIX didn't have a 64-bit UI, but might be less so now.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
<br>
Other comments:</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
<br>
1.Internals/adopters</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
The name resolver implementation has a slight problem that only one resolver per class is allowed. Name resolvers then work from most specific to least specific. I had an idea for IBM PHD/javacore dumps of using a name resolver for java.lang.Threads from DTFJ instead of the standard resolver using the name field.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
2.Adding methods to IObject is not a compatible change - we could have a new interface, but alternative implementation of IObject would need to implement that method to take advantage of this idea, which doesn't really need the implementation specifics of the IObject.</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
3.Why tree view and not table view as well?</font><font size="3" face="Times New Roman">&nbsp;</font><font size="2" face="Arial"><br>
4.How do we save/display the warning text in HTML for saved reports?</font><font size="3" face="Times New Roman">&nbsp;</font><font size="3" color="#0000FF" face="Times New Roman"><u><br>
</u></font><a href="mailto:5.@Subject(%22java.lang.Object%22)"><font size="2" color="#0000FF" face="Arial"><u>5.@Subject(&quot;java.lang.Object&quot;)</u></font></a><font size="2" face="Arial">&nbsp;would probably do the same as &quot;*&quot;.</font><font size="3" face="Times New Roman">&nbsp;<br>
</font><font size="2" face="Arial"><br>
<br>
Andrew Johnson</font><font size="3" face="Times New Roman">&nbsp;<br>
<br>
<br>
</font><font size="1" color="#5F5F5F" face="Arial"><br>
<br>
From: &nbsp; &nbsp; &nbsp; &nbsp;</font><font size="1" face="Arial">Kevin Grigorenko &lt;</font><a href="mailto:kevin.grigorenko@xxxxxxxxxx"><font size="1" color="#0000FF" face="Arial"><u>kevin.grigorenko@xxxxxxxxxx</u></font></a><font size="1" face="Arial">&gt;</font><font size="3" face="Times New Roman">&nbsp;</font><font size="1" color="#5F5F5F" face="Arial"><br>
To: &nbsp; &nbsp; &nbsp; &nbsp;</font><a href="mailto:mat-dev@xxxxxxxxxxx"><font size="1" color="#0000FF" face="Arial"><u>mat-dev@xxxxxxxxxxx</u></font></a><font size="1" face="Arial">, </font><font size="1" color="#5F5F5F" face="Arial"><br>
Date: &nbsp; &nbsp; &nbsp; &nbsp;</font><font size="1" face="Arial">25/02/2013 16:16</font><font size="3" face="Times New Roman">&nbsp;</font><font size="1" color="#5F5F5F" face="Arial"><br>
Subject: &nbsp; &nbsp; &nbsp; &nbsp;</font><font size="1" face="Arial">[mat-dev] Proposal: MAT Warning System</font><font size="3" face="Times New Roman">&nbsp;</font><font size="1" color="#5F5F5F" face="Arial"><br>
Sent by: &nbsp; &nbsp; &nbsp; &nbsp;</font><a href="mailto:mat-dev-bounces@xxxxxxxxxxx"><font size="1" color="#0000FF" face="Arial"><u>mat-dev-bounces@xxxxxxxxxxx</u></font></a><font size="3" face="Times New Roman">&nbsp;</font><div align="center"><hr width="100%" size="2" align="center" noshade></div><font size="3" face="Times New Roman"><br>
</font><font size="2" face="Arial"><br>
<br>
Proposal for an extensible warning system in MAT:<br>
<br>
1. A new extension point named org.eclipse.mat.api.warningResolver. In a similar fashion to nameResolver, a class would be annotated with @Subject and implement an interface IClassSpecificWarningResolver with a method named resolveWarning. This would return an instance of a class WarningResolution which has two items: an enumeration value (Warning would be the only choice initially) and a &quot;details&quot; String.<br>
2. A method is added to IObject: List&lt;WarningResolution&gt; getClassSpecificWarnings();<br>
3. In a tree view, in the same way that any nameResolvers are called for each row, any warningResolvers would be called for each row. If a warningResolver returns a Warning result, the row is color coded. If there are multiple warning resolvers, the highest enumeration value is the one chosen. By default, the color for warning would be red, but there should be a preference to choose the color. Additionally, the context menu is modified to add an item at the top called &quot;Warning Details.&quot; When clicked, this raises a dialog with the &quot;details&quot; Strings returned from the warningResolvers previously.<br>
4. In an HTML view, any tree views converted to HTML tables should also have color coded rows, if applicable.<br>
5. There is a special subject @Subject(&quot;*&quot;) which instructs MAT to call it's resolveWarning method for every class. This could be used by class-independent warning analysis, for example: Warn if an object's retained heap is &gt; x% of total heap size.<br>
6. A set of preferences are added: A checkbox to completely enable or disable the warning system (enabled by default) along with a way to choose the color for a warning.<br>
<br>
Let me know what you think. If the proposal is good, I'll start working on a patch and send it to the group for review when ready. Also, this is changing the API (adding an extension point and adding a method to IObject) -- does that affect versioning, etc.?<br>
<br>
Some other thoughts:<br>
1. I thought about making IClassSpecificWarningResolver extend IQuery, and then clicking the warning details context menu item would run an instance of IClassSpecificWarningResolver to show a normal query. The problem is that this would be complicated to deal with if there are two or more warning resolvers for the same class and it would complicate the implementation for extensions.<br>
2. An additional report could exist on the Overview screen under Reports named &quot;Show Any Warnings.&quot; This would require finding all warningResolver extensions and passing each instance of the subject classes to check for warnings.<br>
3. There could also be a preference to automatically run the report in #2 when loading a heapdump and show any warnings in a section in the Overview report.4. Options #2 and #3 could of course be very expensive so maybe an extension marks itself somehow as able to check for important warnings in some lightweight way, perhaps through a separate method call instead of passing all object instances to resolveWarning.<br>
4. Options #2 and #3 could of course be very expensive so maybe an extension marks itself somehow as able to check for important warnings in some lightweight way, perhaps through a separate method call instead of passing all object instances to resolveWarning.<br>
<br>
--<br>
Kevin Grigorenko<br>
IBM WAS SWAT Team</font><font size="3" color="#0000FF" face="Times New Roman"><u><br>
</u></font><a href="mailto:kevin.grigorenko@xxxxxxxxxx"><font size="2" color="#0000FF" face="Arial"><u>kevin.grigorenko@xxxxxxxxxx</u></font></a><font size="2" face="Arial"><br>
Blog: </font><a href="https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en"><font size="2" color="#0000FF" face="Arial"><u>https://www.ibm.com/developerworks/mydeveloperworks/blogs/kevgrig/?lang=en</u></font></a><font size="2" face="serif">_______________________________________________<br>
mat-dev mailing list</font><font size="3" color="#0000FF" face="Times New Roman"><u><br>
</u></font><a href="mailto:mat-dev@xxxxxxxxxxx"><font size="2" color="#0000FF" face="serif"><u>mat-dev@xxxxxxxxxxx</u></font></a><font size="3" color="#0000FF" face="Times New Roman"><u><br>
</u></font><a href="https://dev.eclipse.org/mailman/listinfo/mat-dev"><font size="2" color="#0000FF" face="serif"><u>https://dev.eclipse.org/mailman/listinfo/mat-dev</u></font></a><font size="2" face="Arial"><br>
<br>
<br>
Unless stated otherwise above:<br>
IBM United Kingdom Limited - Registered in England and Wales with number 741598. <br>
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU</font><font size="2" face="serif">_______________________________________________<br>
mat-dev mailing list</font><font size="2" color="#0000FF" face="serif"><u><br>
</u></font><a href="mailto:mat-dev@xxxxxxxxxxx"><font size="2" color="#0000FF" face="serif"><u>mat-dev@xxxxxxxxxxx</u></font></a><font size="2" color="#0000FF" face="serif"><u><br>
</u></font><a href="https://dev.eclipse.org/mailman/listinfo/mat-dev"><font size="2" color="#0000FF" face="serif"><u>https://dev.eclipse.org/mailman/listinfo/mat-dev</u></font></a><font size="2" face="serif"><br>
</font><tt><font size="2">_______________________________________________<br>
mat-dev mailing list<br>
mat-dev@xxxxxxxxxxx<br>
</font></tt><tt><font size="2"><a href="https://dev.eclipse.org/mailman/listinfo/mat-dev">https://dev.eclipse.org/mailman/listinfo/mat-dev</a></font></tt><tt><font size="2"><br>
</font></tt><br>
<br>
<p><a href="gifjQ30s4UE3E.gif" ><img src="gifjQ30s4UE3E.gif" alt="GIF image"></a></p>
<p><a href="gifRvR7H1sLOD.gif" ><img src="gifRvR7H1sLOD.gif" alt="GIF image"></a></p>
<p><a href="gifLx5EjEBOjw.gif" ><img src="gifLx5EjEBOjw.gif" alt="GIF image"></a></p>
<p><a href="gifAWFo1YXrha.gif" ><img src="gifAWFo1YXrha.gif" alt="GIF image"></a></p>
]]></content:encoded>
		<pubDate>Fri, 15 Mar 2013 17:14:39 GMT</pubDate>
		<guid isPermaLink="true">http://dev.eclipse.org/mhonarc/lists/mat-dev/msg00375.html</guid>
		<author>kevin.grigorenko@xxxxxxx (Kevin Grigorenko)</author>
	</item>

 
	</channel>
	</rss>
<!-- MHonArc v2.6.10 -->
