Issue #2361 Added startup timing statements
Change-Id: I347b3e671ecd7c7c61b88e008e2d4c56d19e6108 Former-commit-id: 3f93aeeb8259600b1c6e0ff47641ff95337df605
This commit is contained in:
parent
cd504e4e98
commit
323f594de4
4 changed files with 30 additions and 3 deletions
|
@ -36,6 +36,7 @@ import org.eclipse.ui.application.WorkbenchAdvisor;
|
|||
import org.eclipse.ui.application.WorkbenchWindowAdvisor;
|
||||
import org.eclipse.ui.contexts.IContextService;
|
||||
|
||||
import com.raytheon.uf.common.time.util.ITimer;
|
||||
import com.raytheon.uf.viz.application.ProgramArguments;
|
||||
import com.raytheon.uf.viz.core.globals.VizGlobalsManager;
|
||||
import com.raytheon.uf.viz.ui.menus.DiscoverMenuContributions;
|
||||
|
@ -55,6 +56,7 @@ import com.raytheon.viz.ui.perspectives.VizPerspectiveListener;
|
|||
* May 28, 2013 1967 njensen Remove unused subnode preferences
|
||||
* Jul 16, 2013 2158 bsteffen Allow VizGlobalsManager to work without
|
||||
* accessing UI thread.
|
||||
* Oct 15, 2013 2361 njensen Added startupTimer
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -67,6 +69,8 @@ public class VizWorkbenchAdvisor extends WorkbenchAdvisor {
|
|||
|
||||
private boolean createdMenus = false;
|
||||
|
||||
protected ITimer startupTimer;
|
||||
|
||||
public VizWorkbenchAdvisor() {
|
||||
detachedViewsListener = new CloseNonRestorableDetachedViewsListener();
|
||||
}
|
||||
|
@ -316,6 +320,13 @@ public class VizWorkbenchAdvisor extends WorkbenchAdvisor {
|
|||
IContextService service = (IContextService) PlatformUI.getWorkbench()
|
||||
.getService(IContextService.class);
|
||||
service.activateContext("com.raytheon.uf.viz.application.cave");
|
||||
|
||||
if (startupTimer != null) {
|
||||
startupTimer.stop();
|
||||
System.out.println("Workbench startup time: "
|
||||
+ startupTimer.getElapsedTime() + " ms");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -326,4 +337,8 @@ public class VizWorkbenchAdvisor extends WorkbenchAdvisor {
|
|||
DiscoverMenuContributions.discoverContributions();
|
||||
}
|
||||
|
||||
public void setStartupTimer(ITimer startupTimer) {
|
||||
this.startupTimer = startupTimer;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -75,6 +75,7 @@ public class Activator implements BundleActivator {
|
|||
*/
|
||||
@Override
|
||||
public void start(BundleContext context) throws Exception {
|
||||
long t0 = System.currentTimeMillis();
|
||||
if (this.isInstallOperation()) {
|
||||
return;
|
||||
}
|
||||
|
@ -90,6 +91,8 @@ public class Activator implements BundleActivator {
|
|||
for (Bundle b : bundles) {
|
||||
createContext(bundleMap, contextMap, b, processing);
|
||||
}
|
||||
System.out.println("Spring initialization: "
|
||||
+ (System.currentTimeMillis() - t0) + " ms");
|
||||
}
|
||||
|
||||
private OSGIXmlApplicationContext createContext(
|
||||
|
|
|
@ -65,6 +65,7 @@ import com.raytheon.uf.viz.core.localization.LocalizationInitializer;
|
|||
import com.raytheon.uf.viz.core.localization.LocalizationManager;
|
||||
import com.raytheon.uf.viz.core.notification.jobs.NotificationManagerJob;
|
||||
import com.raytheon.uf.viz.core.status.VizStatusHandlerFactory;
|
||||
import com.raytheon.uf.viz.personalities.cave.workbench.VizWorkbenchAdvisor;
|
||||
import com.raytheon.viz.alerts.jobs.AutoUpdater;
|
||||
import com.raytheon.viz.alerts.jobs.MenuUpdater;
|
||||
import com.raytheon.viz.alerts.observers.ProductAlertObserver;
|
||||
|
@ -97,6 +98,7 @@ import com.raytheon.viz.core.units.UnitRegistrar;
|
|||
* Apr 23, 2013 #1939 randerso Allow serialization to complete initialization
|
||||
* before connecting to JMS to avoid deadlock
|
||||
* May 23, 2013 #2005 njensen Shutdown on spring initialization errors
|
||||
* Oct 15, 2013 2361 njensen Added startupTimer
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -125,6 +127,9 @@ public abstract class AbstractCAVEComponent implements IStandaloneComponent {
|
|||
@SuppressWarnings("restriction")
|
||||
@Override
|
||||
public final Object startComponent(String componentName) throws Exception {
|
||||
ITimer startupTimer = TimeUtil.getTimer();
|
||||
startupTimer.start();
|
||||
|
||||
// This is a workaround to receive status messages because without the
|
||||
// PlatformUI initialized Eclipse throws out the status
|
||||
// messages. Once PlatformUI has started, the status handler
|
||||
|
@ -243,11 +248,15 @@ public abstract class AbstractCAVEComponent implements IStandaloneComponent {
|
|||
NotificationManagerJob.connect();
|
||||
|
||||
timer.stop();
|
||||
System.out.println("Initialization time: " + timer.getElapsedTime()
|
||||
+ "ms");
|
||||
System.out.println("Internal initialization time: "
|
||||
+ timer.getElapsedTime() + " ms");
|
||||
|
||||
if (cave) {
|
||||
workbenchAdvisor = getWorkbenchAdvisor();
|
||||
if (workbenchAdvisor instanceof VizWorkbenchAdvisor) {
|
||||
((VizWorkbenchAdvisor) workbenchAdvisor)
|
||||
.setStartupTimer(startupTimer);
|
||||
}
|
||||
} else if (!nonui) {
|
||||
workbenchAdvisor = new HiddenWorkbenchAdvisor(componentName,
|
||||
this);
|
||||
|
|
|
@ -27,7 +27,7 @@ import com.raytheon.uf.common.serialization.annotations.DynamicSerialize;
|
|||
import com.raytheon.uf.common.serialization.annotations.DynamicSerializeElement;
|
||||
|
||||
/**
|
||||
* Record object for observations for Fog and Safeseas.
|
||||
* Fog, Safeseas, Snow Observation record
|
||||
*
|
||||
* <pre>
|
||||
*
|
||||
|
|
Loading…
Add table
Reference in a new issue