diff --git a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/OpenAntEditorTest.java b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/OpenAntEditorTest.java
index 9b40d7b..e951571 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/OpenAntEditorTest.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Editor Tests/org/eclipse/ant/tests/ui/editor/performance/OpenAntEditorTest.java
@@ -37,14 +37,14 @@
 	public void testOpenAntEditor2() throws PartInitException {
 		// warm run
 		IFile file= getIFile("build.xml");
-		tagAsGlobalSummary("Open Ant Editor", Dimension.CPU_TIME);
+		tagAsGlobalSummary("Open Ant Editor", Dimension.ELAPSED_PROCESS);
 		measureOpenInEditor(file);
 	}
 	
 	public void testOpenAntEditorNoFolding() throws PartInitException {
 	    //there was no folding in 3.0
 		IFile file= getIFile("build.xml");
-		tagAsSummary("Open Ant Editor; No folding", Dimension.CPU_TIME);
+		tagAsSummary("Open Ant Editor; No folding", Dimension.ELAPSED_PROCESS);
 		measureOpenInEditor(file);
 	}
 	
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/OpenLaunchConfigurationDialogTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/OpenLaunchConfigurationDialogTests.java
index bf5f752..4c607d1 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/OpenLaunchConfigurationDialogTests.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/OpenLaunchConfigurationDialogTests.java
@@ -46,7 +46,7 @@
         //warm run
         ILaunchConfiguration configuration= getLaunchConfiguration("big");
 		IStructuredSelection selection= new StructuredSelection(configuration);
-		tagAsSummary("Open LCD on Targets tab", Dimension.CPU_TIME);
+		tagAsSummary("Open LCD on Targets tab", Dimension.ELAPSED_PROCESS);
 		for (int i = 0; i < 10; i++) {
 		    openLCD(selection, fgIdentifier, 20); 
         }
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/SeparateVMTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/SeparateVMTests.java
index 980e509..d35d09c 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/SeparateVMTests.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/performance/SeparateVMTests.java
@@ -34,7 +34,7 @@
      * Performance test for launching Ant in a separate vm.
      */
 	public void testBuild() throws CoreException {
-    	tagAsSummary("Simple separate JRE Build", Dimension.CPU_TIME);
+    	tagAsSummary("Simple separate JRE Build", Dimension.ELAPSED_PROCESS);
     	ILaunchConfiguration config= getLaunchConfiguration("echoingSepVM");
     	for (int i = 0; i < 10; i++) {
     		launch(config, 10);
@@ -47,7 +47,7 @@
      * Performance test for launching Ant in a separate vm with no console output.
      */
 	public void testBuildNoConsole() throws CoreException {
-    	tagAsSummary("Simple separate JRE Build set to not capture output", Dimension.CPU_TIME);
+    	tagAsSummary("Simple separate JRE Build set to not capture output", Dimension.ELAPSED_PROCESS);
     	ILaunchConfiguration config = getLaunchConfiguration("echoingSepVM");
 		assertNotNull("Could not locate launch configuration for " + "echoingSepVM", config);
 		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
@@ -67,7 +67,7 @@
      * Performance test for launching Ant in a separate vm with debug information.
      */
     public void testBuildMinusDebug() throws CoreException {
-    	tagAsSummary("Simple separate JRE Build with debug information", Dimension.CPU_TIME);
+    	tagAsSummary("Simple separate JRE Build with debug information", Dimension.ELAPSED_PROCESS);
     	ILaunchConfiguration config = getLaunchConfiguration("echoingSepVM");
 		assertNotNull("Could not locate launch configuration for " + "echoingSepVM", config);
 		ILaunchConfigurationWorkingCopy copy= config.getWorkingCopy();
