aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCamilo Bernal2012-08-30 17:19:08 (EDT)
committerRoland Grunberg2012-09-06 15:15:37 (EDT)
commitd1f5ba78160d4bd6f069832b85f15611bd09dd09 (patch)
tree52649b51e2f81f79558541449542631d34c8974e
parent32d88f8edfe086bc3f1a755aedda6917a9964fa7 (diff)
downloadorg.eclipse.linuxtools-d1f5ba78160d4bd6f069832b85f15611bd09dd09.zip
org.eclipse.linuxtools-d1f5ba78160d4bd6f069832b85f15611bd09dd09.tar.gz
org.eclipse.linuxtools-d1f5ba78160d4bd6f069832b85f15611bd09dd09.tar.bz2
Add launch provider to support time profiling plug-ins.
The time provider plug-in supports functionality for time profiling plug-ins to contribute to the unified profiling ui. Change-Id: I2cfd03f6b52e1c88e0ad40f69014fa627d7ad948 Reviewed-on: https://git.eclipse.org/r/7613 Tested-by: Hudson CI Reviewed-by: Roland Grunberg <rgrunber@redhat.com> IP-Clean: Roland Grunberg <rgrunber@redhat.com> Tested-by: Roland Grunberg <rgrunber@redhat.com>
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/.classpath7
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/.project28
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/.settings/org.eclipse.jdt.core.prefs105
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/META-INF/MANIFEST.MF16
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/build.properties5
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/plugin.xml82
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/pom.xml26
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeConstants.java37
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeLaunchConfigurationTabGroup.java33
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeOptionsTab.java29
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimePreferencesPage.java26
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/launch/TimeLaunchConfigurationDelegate.java33
-rw-r--r--profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/launch/TimeLaunchShortcut.java27
-rw-r--r--profiling/pom.xml1
14 files changed, 455 insertions, 0 deletions
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/.classpath b/profiling/org.eclipse.linuxtools.profiling.time/.classpath
new file mode 100644
index 0000000..64c5e31
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/.project b/profiling/org.eclipse.linuxtools.profiling.time/.project
new file mode 100644
index 0000000..a88113b
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.linuxtools.profiling.time</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/.settings/org.eclipse.jdt.core.prefs b/profiling/org.eclipse.linuxtools.profiling.time/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..a3903c7
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,105 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
+org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.doc.comment.support=enabled
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
+org.eclipse.jdt.core.compiler.problem.deadCode=warning
+org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
+org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
+org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
+org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
+org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
+org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
+org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
+org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled
+org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
+org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
+org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore
+org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
+org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=return_tag
+org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
+org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
+org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
+org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
+org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
+org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=warning
+org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
+org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
+org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
+org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=disabled
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
+org.eclipse.jdt.core.compiler.problem.unusedImport=warning
+org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
+org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
+org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
+org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/META-INF/MANIFEST.MF b/profiling/org.eclipse.linuxtools.profiling.time/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..9ad9b69
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Version: 1.2.0.qualifier
+Bundle-Name: Time Profiling Plugin
+Bundle-SymbolicName: org.eclipse.linuxtools.profiling.time;singleton:=true
+Bundle-Vendor: Eclipse
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.linuxtools.profiling.provider;bundle-version="1.1.0",
+ org.eclipse.ui;bundle-version="3.103.0",
+ org.eclipse.debug.ui;bundle-version="3.8.0",
+ org.eclipse.ui.ide;bundle-version="3.8.0"
+Import-Package: org.eclipse.cdt.core.model,
+ org.eclipse.cdt.launch,
+ org.eclipse.linuxtools.internal.profiling.launch,
+ org.eclipse.linuxtools.profiling.launch
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/build.properties b/profiling/org.eclipse.linuxtools.profiling.time/build.properties
new file mode 100644
index 0000000..2b0d95b
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/build.properties
@@ -0,0 +1,5 @@
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+ META-INF/,\
+ .
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/plugin.xml b/profiling/org.eclipse.linuxtools.profiling.time/plugin.xml
new file mode 100644
index 0000000..698ad96
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/plugin.xml
@@ -0,0 +1,82 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ id="org.eclipse.linuxtools.profiling.callgraph.launch"
+ name="Profile As Callgraph"
+ point="org.eclipse.debug.ui.launchShortcuts">
+ <shortcut
+ class="org.eclipse.linuxtools.profiling.time.launch.TimeLaunchShortcut"
+ id="org.eclipse.linuxtools.profiling.time"
+ label="Profile As Time"
+ modes="profile">
+
+ <contextualLaunch>
+ <enablement>
+ <with
+ variable="selection">
+ <count
+ value="1">
+ </count>
+ <iterate>
+ <or>
+ <instanceof
+ value="org.eclipse.cdt.core.model.IBinary">
+ </instanceof>
+ <instanceof
+ value="org.eclipse.cdt.core.model.ICProject">
+ </instanceof>
+ <test
+ property="org.eclipse.cdt.launch.isExecutable">
+ </test>
+ <test
+ property="org.eclipse.cdt.launch.isCProject">
+ </test>
+ <and>
+ <instanceof
+ value="org.eclipse.ui.IFileEditorInput">
+ </instanceof>
+ <adapt
+ type="org.eclipse.core.resources.IResource">
+ <adapt
+ type="org.eclipse.cdt.core.model.ICElement">
+ </adapt>
+ </adapt>
+ </and>
+ </or>
+ </iterate>
+ </with>
+ </enablement>
+ </contextualLaunch>
+ </shortcut>
+ </extension>
+ <extension
+ point="org.eclipse.debug.ui.launchConfigurationTabGroups">
+ <launchConfigurationTabGroup
+ class="org.eclipse.linuxtools.profiling.time.TimeLaunchConfigurationTabGroup"
+ id="org.eclipse.linuxtools.profiling.time.launchConfigurationTabGroup"
+ type="org.eclipse.linuxtools.profiling.time.launchConfigurationType">
+ </launchConfigurationTabGroup>
+ </extension>
+ <extension
+ point="org.eclipse.debug.core.launchConfigurationTypes">
+ <launchConfigurationType
+ delegate="org.eclipse.linuxtools.profiling.time.launch.TimeLaunchConfigurationDelegate"
+ id="org.eclipse.linuxtools.profiling.time.launchConfigurationType"
+ modes="profile"
+ name="Profile as Time"
+ public="true">
+ </launchConfigurationType>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ category="org.eclipse.linuxtools.profiling.provider.MainPreferencePage"
+ class="org.eclipse.linuxtools.profiling.time.TimePreferencesPage"
+ id="org.eclipse.linuxtools.profiling.time.preferences"
+ name="Time">
+ </page>
+ </extension>
+
+
+</plugin>
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/pom.xml b/profiling/org.eclipse.linuxtools.profiling.time/pom.xml
new file mode 100644
index 0000000..01f19c1
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/pom.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (C) 2011, Red Hat, Inc.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License v1.0
+ which accompanies this distribution, and is available at
+ http://www.eclipse.org/legal/epl-v10.html
+-->
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <modelVersion>4.0.0</modelVersion>
+
+ <parent>
+ <artifactId>linuxtools-profiling-parent</artifactId>
+ <groupId>org.eclipse.linuxtools.profiling</groupId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+
+ <artifactId>org.eclipse.linuxtools.profiling.time</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+ <name>Linux Tools Profiling Time Launch Plug-in</name>
+
+</project>
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeConstants.java b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeConstants.java
new file mode 100644
index 0000000..90551a2
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeConstants.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.profiling.time;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class TimeConstants {
+
+ /**
+ * Plug-in name
+ */
+ public static final String PLUGIN_NAME = "Time"; //$NON-NLS-1$
+
+ /**
+ * Plug-in id
+ */
+ public static final String PLUGIN_ID = "org.eclipse.linuxtools.profiling.time"; //$NON-NLS-1$
+
+ /**
+ * Plug-in id of snapshot launch configuration type
+ */
+ public static final String PLUGIN_CONFIG_ID = "org.eclipse.linuxtools.profiling.time.launchConfigurationType"; //$NON-NLS-1$
+
+ /**
+ * Type of profiling this plug-in supports
+ */
+ public static final String PROFILING_TYPE = "time"; //$NON-NLS-1$
+}
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeLaunchConfigurationTabGroup.java b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeLaunchConfigurationTabGroup.java
new file mode 100644
index 0000000..1a312a7
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeLaunchConfigurationTabGroup.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.profiling.time;
+
+import java.util.ArrayList;
+
+import org.eclipse.debug.ui.AbstractLaunchConfigurationTab;
+import org.eclipse.linuxtools.internal.profiling.provider.ProviderLaunchConfigurationTabGroup;
+
+/**
+ * The tab group for this plug-in's launch configuration dialog menu.
+ *
+ */
+public class TimeLaunchConfigurationTabGroup extends
+ ProviderLaunchConfigurationTabGroup {
+
+ @Override
+ public AbstractLaunchConfigurationTab[] getProfileTabs() {
+ ArrayList<AbstractLaunchConfigurationTab> tabs = new ArrayList<AbstractLaunchConfigurationTab>();
+ tabs.add(new TimeOptionsTab());
+
+ return tabs.toArray(new AbstractLaunchConfigurationTab [] {});
+ }
+
+}
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeOptionsTab.java b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeOptionsTab.java
new file mode 100644
index 0000000..f18c07a
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimeOptionsTab.java
@@ -0,0 +1,29 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.profiling.time;
+
+import org.eclipse.linuxtools.internal.profiling.provider.ProviderOptionsTab;
+
+/**
+ * The options tab used for this plug-in's launch configuration tab group.
+ *
+ */
+public class TimeOptionsTab extends ProviderOptionsTab {
+
+ public String getName() {
+ return TimeConstants.PLUGIN_NAME;
+ }
+
+ @Override
+ protected String getProfilingType() {
+ return TimeConstants.PROFILING_TYPE;
+ }
+}
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimePreferencesPage.java b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimePreferencesPage.java
new file mode 100644
index 0000000..68d8ea5
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/TimePreferencesPage.java
@@ -0,0 +1,26 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.profiling.time;
+
+import org.eclipse.linuxtools.internal.profiling.provider.AbstractProviderPreferencesPage;
+
+/**
+ * The preferences page for this plug-in, contributing to the global profiling
+ * preference page.
+ *
+ */
+public class TimePreferencesPage extends AbstractProviderPreferencesPage {
+
+ @Override
+ protected String getProfilingType() {
+ return TimeConstants.PROFILING_TYPE;
+ }
+}
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/launch/TimeLaunchConfigurationDelegate.java b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/launch/TimeLaunchConfigurationDelegate.java
new file mode 100644
index 0000000..07699c4
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/launch/TimeLaunchConfigurationDelegate.java
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.profiling.time.launch;
+
+import org.eclipse.linuxtools.internal.profiling.provider.launch.ProviderLaunchConfigurationDelegate;
+import org.eclipse.linuxtools.profiling.time.TimeConstants;
+
+/**
+ * The launch configuration delegate for time profiling plug-ins.
+ *
+ */
+public class TimeLaunchConfigurationDelegate extends
+ ProviderLaunchConfigurationDelegate {
+
+ @Override
+ protected String getPluginID() {
+ return TimeConstants.PLUGIN_ID;
+ }
+
+ @Override
+ public String getProfilingType() {
+ return TimeConstants.PROFILING_TYPE;
+ }
+
+}
diff --git a/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/launch/TimeLaunchShortcut.java b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/launch/TimeLaunchShortcut.java
new file mode 100644
index 0000000..47753c8
--- /dev/null
+++ b/profiling/org.eclipse.linuxtools.profiling.time/src/org/eclipse/linuxtools/profiling/time/launch/TimeLaunchShortcut.java
@@ -0,0 +1,27 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Red Hat initial API and implementation
+ *******************************************************************************/
+package org.eclipse.linuxtools.profiling.time.launch;
+
+import org.eclipse.linuxtools.internal.profiling.provider.launch.ProviderLaunchShortcut;
+import org.eclipse.linuxtools.profiling.time.TimeConstants;
+
+/**
+ * The launch shortcut for time profiling type plug-ins.
+ *
+ */
+public class TimeLaunchShortcut extends ProviderLaunchShortcut {
+
+ @Override
+ protected String getLaunchConfigID() {
+ return TimeConstants.PLUGIN_CONFIG_ID;
+ }
+
+}
diff --git a/profiling/pom.xml b/profiling/pom.xml
index b04e29f..157ae23 100644
--- a/profiling/pom.xml
+++ b/profiling/pom.xml
@@ -76,6 +76,7 @@
<module>org.eclipse.linuxtools.profiling.remote-feature</module>
<module>org.eclipse.linuxtools.profiling.snapshot</module>
<module>org.eclipse.linuxtools.profiling.tests</module>
+ <module>org.eclipse.linuxtools.profiling.time</module>
<module>org.eclipse.linuxtools.profiling.ui</module>
<module>org.eclipse.linuxtools.profiling.ui.capability</module>
<module>org.eclipse.linuxtools.rdt.proxy</module>