So, if you happen to be at JavaOne Tokyo, and fancy some information on the JRockit & Hotspot convergence project, my session is tomorrow (4th of April) at 18:15!
Looking forward to seeing you there!
So, if you happen to be at JavaOne Tokyo, and fancy some information on the JRockit & Hotspot convergence project, my session is tomorrow (4th of April) at 18:15!
Looking forward to seeing you there!
Sometimes when you use Mission Control remotely, or when analyzing a Flight Recording from a computer in another time zone, you may want to use the same time zone in the Mission Control client as the remote computer. You may, for instance, have access to logs where the time stamps are in the remote computer’s time zone, and you would want all the time stamps in the Flight Recorder user interface to be in the same time zone. Of course, one way to do this is to change the time zone of the computer running the Mission Control client. However, an easier way is to add the user.timezone parameter to the Mission Control launcher, like this:
jrmc -J-Duser.timezone=PST
Substitute PST for the time zone needed, e.g. EST, GMT, CET.
On some machines you will not be able to use abbreviated time zone names. On such machines, simply use the full time zone name, such as America/Los_Angeles. You can hook up the Mission Control Console to itself to verify that the time zone was properly set:
I will be delivering a talk on the current state of the HotSpot and JRockit JVM convergence at EclipseCon 2012. For more information, see:
http://www.eclipsecon.org/2012/sessions/state-jrockit-hotspot-convergence-presented-oracle
My talk will be on Thursday the 29th of March, 11:00 – 11:45 in room Lake Anne.
Looking forward to seeing you there!
I’ve been invited to present the following session at Jfokus:
Oracle is converging the HotSpot and Oracle JRockit JVMs to produce a "best-of-breed JVM." Internally, the project is sometimes referred to as the HotRockit project. This presentation discusses what to expect from the converged JVM over the next two years and how this will benefit the Java community.
My session will take place in A2, at 14:00 on Wednesday the 15th of February. Looking forward to seeing you there!
I recently wanted to get rid of a preference page I did not want to expose in Mission Control (an Eclipse RCP based application), and ended up with the following code in my ApplicationWorkbenchWindowAdvisor:
private void removeUnwantedPreferencesPages() {
PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager();
IPreferenceNode root = getRoot(pm);
removePrefsPage(root, "org.eclipse.equinox.security.ui.category"); //$NON-NLS-1$
}
private IPreferenceNode getRoot(PreferenceManager pm) {
try {
Method m = PreferenceManager.class.getDeclaredMethod("getRoot", (Class[]) null); //$NON-NLS-1$
m.setAccessible(true);
return (IPreferenceNode) m.invoke(pm);
} catch (Exception e) {
LoggingToolkit.getLogger().log(Level.WARNING, "Could not get the root node for the preferences, and will not be able to prune unwanted prefs pages.", e); //$NON-NLS-1$
}
return null;
}private void removePrefsPage(IPreferenceNode root, String id) {
for (IPreferenceNode node : root.getSubNodes()) {
logPrefsNode(node);
if (node.getId().equals(id)) {
root.remove(node);
LoggingToolkit.getLogger().log(Level.INFO, String.format("Removed preference page %s (ID:%s)", node.getLabelText(), node.getId())); //$NON-NLS-1$
} else {
removePrefsPage(node, id);
}
}
}
If you need to know the ID of the preference page you wish to remove, simply walk the tree and print all the nodes instead of removing selected ones.
Hope this helps someone.
With JRockit, you may sometimes see the following warning when starting the JVM (on Windows):
[WARN ][osal ] Could not enumerate processes (1) error=-1073738819
[WARN ][osal ] Could not add counter (null)\ for query
[WARN ][osal ] Failed to init virtual size counter
It may also look something like this:
[JRockit] WARNING: Could not initialize the virtualbytes counter, some functionality in jrockit.management.Memory will not be available. Message was: failed to create counter query. String was: (null)\Virtual Bytes
Or like this:
[JRockit] WARNING: Could not initialize the JVM process load counter, CPU load generated by the JVM will not be available. Message was: failed to create counter query. String was: (null)\% Processor Time
This means the JRockit cannot access the relevant PDH counters. Sometimes the counter is disabled, and then it can simply be re-enabled. Worst case, the counters can be corrupt, and the metadata needs to be rebuilt from system backup store.
To check the status of the counters, open a command prompt as admin, and run lodctr /q, as follows:
C:\Windows\system32>lodctr /q
Performance Counter ID Queries [PERFLIB]:
Base Index: 0x00000737 (1847)
Last Counter Text ID: 0x00001572 (5490)
Last Help Text ID: 0x00001573 (5491)
[.NET CLR Data] Performance Counters (Enabled)
DLL Name: netfxperf.dll
Open Procedure: OpenPerformanceData
Collect Procedure: CollectPerformanceData
Close Procedure: ClosePerformanceData
First Counter ID: 0x00001092 (4242)
Last Counter ID: 0x0000109E (4254)
First Help ID: 0x00001093 (4243)
Last Help ID: 0x0000109F (4255)
[.NET CLR Networking] Performance Counters (Enabled)
DLL Name: netfxperf.dll
Open Procedure: OpenPerformanceData
Collect Procedure: CollectPerformanceData
Close Procedure: ClosePerformanceData
First Counter ID: 0x00001086 (4230)
Last Counter ID: 0x00001090 (4240)
First Help ID: 0x00001087 (4231)
Last Help ID: 0x00001091 (4241)
[.NET Data Provider for Oracle] Performance Counters (Enabled)
DLL Name: netfxperf.dll
Open Procedure: OpenPerformanceData
Collect Procedure: CollectPerformanceData
Close Procedure: ClosePerformanceData
First Counter ID: 0x00001068 (4200)
Last Counter ID: 0x00001084 (4228)
First Help ID: 0x00001069 (4201)
Last Help ID: 0x00001085 (4229)
…
If it says (Disabled) next to a provider, the provider can be enabled with:
C:\Windows\system32>lodctr /e:<provider name> (where <provider name> is the string between the brackets at the beginning of the entry).
If the performance counters still behave badly, rebuild them from system backup store by running:
C:\Windows\system32>lodctr /r
Some counters may still be disabled after this. Use lodctr /q and lodctrl /e as described above to enable the ones you need.
If lodctrl is not available on your version of Windows, this article may help.
The latest release of Mission Control is finally here! Markus Eisele has blogged about it.
It can be downloaded here
Since there was a bit of overlap in the previous schedule, my session has been moved to 14:15. The Hands-On-Lab remains at 11:15. These are the new times for my sessions:
Wednesday, December 7 |
Time | Room | Title | Abstract | Type |
11:15 – 13:15 |
Mezannine: Room 1 | Production-Time Problem Solving | This tutorial looks at some common problems and pitfalls in Java applications. It focuses on noninvasive profiling and diagnostics of running production systems. Problems tackled:
The presentation demonstrates all problems and solves them, running both the bad-behaving applications and the tools to analyze them from within the Eclipse Java IDE with the upcoming Oracle JRockit Mission Control Release 4.1. |
Hands-on Lab Java Core Platform |
14:15 – 15:15 | Exposition Hall: Auditorium 6 | HotRockit: What to Expect from Oracle’s Converged JVM | Oracle is converging the HotSpot and Oracle JRockit JVMs to produce a “best-of-breed JVM.” Internally, the project is sometimes referred to as the HotRockit project. This presentation discusses what to expect from the converged JVM over the next two years and how this will benefit the Java community. |
Conference Session Core Java Platform |
Looking forward to seeing you there!
I will be presenting the following two sessions at Java One in Brazil in December:
Wednesday, December 7 |
Time | Room | Title | Abstract | Type |
11:15 – 13:15 |
Mezannine: Room 1 | Production-Time Problem Solving |
This tutorial looks at some common problems and pitfalls in Java applications. It focuses on noninvasive profiling and diagnostics of running production systems. Problems tackled: The presentation demonstrates all problems and solves them, running both the bad-behaving applications and the tools to analyze them from within the Eclipse Java IDE with the upcoming Oracle JRockit Mission Control Release 4.1. |
Hands-on Lab Java Core Platform |
12:30 – 13:30 | Exposition Hall: Auditorium 6 | HotRockit: What to Expect from Oracle’s Converged JVM | Oracle is converging the HotSpot and Oracle JRockit JVMs to produce a "best-of-breed JVM." Internally, the project is sometimes referred to as the HotRockit project. This presentation discusses what to expect from the converged JVM over the next two years and how this will benefit the Java community. |
Conference Session Core Java Platform |
Looking forward to seeing you there!
My friend complained that his app for generating Swedish words did not work with Swedish characters. I complained that he should not be using such an app to begin with, but was challenged into whipping together this:
http://hirt.se:8080/WordFinderWeb/
I don’t recommend using this, as it really is cheating. If you are using this, let the friend you are playing with know! It really changes the character of the game to a pure strategy game.