aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrajesh2014-02-04 03:19:23 -0500
committerRodrigo Fraxino Araujo2014-02-04 10:53:31 -0500
commit35639d398348d4d4e58164fdd5822d9260dd190a (patch)
treebe6b941dbb2715007a3c92ea7616e406a8f840de
parent809270d66397f3d17e5db2aec27e1dcb76be4da6 (diff)
downloadorg.eclipse.linuxtools-35639d398348d4d4e58164fdd5822d9260dd190a.zip
org.eclipse.linuxtools-35639d398348d4d4e58164fdd5822d9260dd190a.tar.gz
org.eclipse.linuxtools-35639d398348d4d4e58164fdd5822d9260dd190a.tar.xz
[oprofile]: unit masks in oprofile are not being saved
fix for bug 427280 updating unit mask field in event tab UI are not reflecting while doing profile using operf. patch fix this issue. Change-Id: I7dbfcb648bd2ed786ebdebb091ecb01433895d34 Signed-off-by: Brajesh <brrathor@linux.vnet.ibm.com> Reviewed-on: https://git.eclipse.org/r/21494 Reviewed-by: Rodrigo Fraxino Araujo <rfaraujo@linux.vnet.ibm.com> IP-Clean: Rodrigo Fraxino Araujo <rfaraujo@linux.vnet.ibm.com> Tested-by: Rodrigo Fraxino Araujo <rfaraujo@linux.vnet.ibm.com>
-rw-r--r--oprofile/org.eclipse.linuxtools.oprofile.core/src/org/eclipse/linuxtools/internal/oprofile/core/linux/LinuxOpcontrolProvider.java6
-rw-r--r--oprofile/org.eclipse.linuxtools.oprofile.launch/META-INF/MANIFEST.MF1
-rw-r--r--oprofile/org.eclipse.linuxtools.oprofile.launch/src/org/eclipse/linuxtools/internal/oprofile/launch/launching/AbstractOprofileLaunchConfigurationDelegate.java23
3 files changed, 25 insertions, 5 deletions
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.core/src/org/eclipse/linuxtools/internal/oprofile/core/linux/LinuxOpcontrolProvider.java b/oprofile/org.eclipse.linuxtools.oprofile.core/src/org/eclipse/linuxtools/internal/oprofile/core/linux/LinuxOpcontrolProvider.java
index 1992f08..8b6eaf0 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.core/src/org/eclipse/linuxtools/internal/oprofile/core/linux/LinuxOpcontrolProvider.java
+++ b/oprofile/org.eclipse.linuxtools.oprofile.core/src/org/eclipse/linuxtools/internal/oprofile/core/linux/LinuxOpcontrolProvider.java
@@ -65,9 +65,9 @@ public class LinuxOpcontrolProvider implements IOpcontrolProvider {
private static final String OPD_SETUP_SEPARATE_CPU = "cpu"; //$NON-NLS-1$
private static final String OPD_SETUP_EVENT = "--event="; //$NON-NLS-1$
- private static final String OPD_SETUP_EVENT_SEPARATOR = ":"; //$NON-NLS-1$
- private static final String OPD_SETUP_EVENT_TRUE = "1"; //$NON-NLS-1$
- private static final String OPD_SETUP_EVENT_FALSE = "0"; //$NON-NLS-1$
+ public static final String OPD_SETUP_EVENT_SEPARATOR = ":"; //$NON-NLS-1$
+ public static final String OPD_SETUP_EVENT_TRUE = "1"; //$NON-NLS-1$
+ public static final String OPD_SETUP_EVENT_FALSE = "0"; //$NON-NLS-1$
private static final String OPD_SETUP_EVENT_DEFAULT = "default"; //$NON-NLS-1$
private static final String OPD_SETUP_IMAGE = "--image="; //$NON-NLS-1$
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.launch/META-INF/MANIFEST.MF b/oprofile/org.eclipse.linuxtools.oprofile.launch/META-INF/MANIFEST.MF
index 8a50b39..b859fee 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.launch/META-INF/MANIFEST.MF
+++ b/oprofile/org.eclipse.linuxtools.oprofile.launch/META-INF/MANIFEST.MF
@@ -23,6 +23,7 @@ Import-Package: org.eclipse.cdt.core.model,
org.eclipse.debug.ui,
org.eclipse.linuxtools.internal.oprofile.core,
org.eclipse.linuxtools.internal.oprofile.core.daemon,
+ org.eclipse.linuxtools.internal.oprofile.core.linux,
org.eclipse.linuxtools.internal.oprofile.ui,
org.eclipse.linuxtools.internal.oprofile.ui.view,
org.eclipse.linuxtools.profiling.launch,
diff --git a/oprofile/org.eclipse.linuxtools.oprofile.launch/src/org/eclipse/linuxtools/internal/oprofile/launch/launching/AbstractOprofileLaunchConfigurationDelegate.java b/oprofile/org.eclipse.linuxtools.oprofile.launch/src/org/eclipse/linuxtools/internal/oprofile/launch/launching/AbstractOprofileLaunchConfigurationDelegate.java
index 48f60fb..b33ed79 100644
--- a/oprofile/org.eclipse.linuxtools.oprofile.launch/src/org/eclipse/linuxtools/internal/oprofile/launch/launching/AbstractOprofileLaunchConfigurationDelegate.java
+++ b/oprofile/org.eclipse.linuxtools.oprofile.launch/src/org/eclipse/linuxtools/internal/oprofile/launch/launching/AbstractOprofileLaunchConfigurationDelegate.java
@@ -39,6 +39,7 @@ import org.eclipse.linuxtools.internal.oprofile.core.OprofileCorePlugin;
import org.eclipse.linuxtools.internal.oprofile.core.Oprofile.OprofileProject;
import org.eclipse.linuxtools.internal.oprofile.core.daemon.OprofileDaemonEvent;
import org.eclipse.linuxtools.internal.oprofile.core.daemon.OprofileDaemonOptions;
+import org.eclipse.linuxtools.internal.oprofile.core.linux.LinuxOpcontrolProvider;
import org.eclipse.linuxtools.internal.oprofile.launch.OprofileLaunchMessages;
import org.eclipse.linuxtools.internal.oprofile.launch.OprofileLaunchPlugin;
import org.eclipse.linuxtools.internal.oprofile.launch.configuration.LaunchOptions;
@@ -115,10 +116,28 @@ public abstract class AbstractOprofileLaunchConfigurationDelegate extends Profil
// outputing the profiling data to the project dir/OPROFILE_DATA
if (OprofileProject.getProfilingBinary().equals(OprofileProject.OPERF_BINARY)) {
- String eventsString=EVENTS;
+ String eventsString=null;
+
+ // Event spec: "EVENT:count:mask:profileKernel:profileUser"
+ StringBuilder spec = new StringBuilder();
+ spec.append(EVENTS);
+ boolean isCommaAllowed = false;
for (int i=0;i<events.size();i++) {
- eventsString+=events.get(i).getEvent().getText() + ":" + events.get(i).getResetCount() + ","; //$NON-NLS-1$ //$NON-NLS-2$
+ OprofileDaemonEvent event = events.get(i);
+ if(isCommaAllowed)
+ spec.append(",");
+ spec.append(event.getEvent().getText());
+ spec.append(LinuxOpcontrolProvider.OPD_SETUP_EVENT_SEPARATOR);
+ spec.append(event.getResetCount());
+ spec.append(LinuxOpcontrolProvider.OPD_SETUP_EVENT_SEPARATOR);
+ spec.append(event.getEvent().getUnitMask().getMaskValue());
+ spec.append(LinuxOpcontrolProvider.OPD_SETUP_EVENT_SEPARATOR);
+ spec.append((event.getProfileKernel() ? LinuxOpcontrolProvider.OPD_SETUP_EVENT_TRUE : LinuxOpcontrolProvider.OPD_SETUP_EVENT_FALSE));
+ spec.append(LinuxOpcontrolProvider.OPD_SETUP_EVENT_SEPARATOR);
+ spec.append((event.getProfileUser() ? LinuxOpcontrolProvider.OPD_SETUP_EVENT_TRUE : LinuxOpcontrolProvider.OPD_SETUP_EVENT_FALSE));
+ isCommaAllowed = true;
}
+ eventsString = spec.toString();
ArrayList<String> argArray = new ArrayList<>(Arrays.asList(getProgramArgumentsArray( config )));
IFolder dataFolder = Oprofile.OprofileProject.getProject().getFolder(OPROFILE_DATA);