From ff9ed89a94d88d0680767537dfa32ec94bd3c30f Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Mon, 11 Mar 2019 10:55:44 +0100 Subject: [PATCH] IDEA-CR-44706 make clear what's going on during `app initialization preparation` phase (third part, not fully covered) --- .../platform-impl/src/com/intellij/idea/IdeaApplication.java | 3 +-- platform/platform-impl/src/com/intellij/idea/StartupUtil.java | 2 +- platform/util/src/com/intellij/util/StartUpMeasurer.java | 2 ++ 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java b/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java index 2f6de1c0b1ce..f0686c2b9d52 100644 --- a/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java +++ b/platform/platform-impl/src/com/intellij/idea/IdeaApplication.java @@ -67,8 +67,7 @@ public class IdeaApplication { @SuppressWarnings("SSBasedInspection") public static void initApplication(@NotNull String[] args) { - PluginManager.startupStart.end(); - StartUpMeasurer.MeasureToken measureToken = StartUpMeasurer.start(StartUpMeasurer.Phases.INIT_APP); + StartUpMeasurer.MeasureToken measureToken = PluginManager.startupStart.endAndStart(StartUpMeasurer.Phases.INIT_APP); IdeaApplication app = new IdeaApplication(args); // this invokeLater() call is needed to place the app starting code on a freshly minted IdeEventQueue instance SwingUtilities.invokeLater(() -> { diff --git a/platform/platform-impl/src/com/intellij/idea/StartupUtil.java b/platform/platform-impl/src/com/intellij/idea/StartupUtil.java index 7ddbe78efe68..629a6e63730b 100644 --- a/platform/platform-impl/src/com/intellij/idea/StartupUtil.java +++ b/platform/platform-impl/src/com/intellij/idea/StartupUtil.java @@ -169,7 +169,7 @@ public class StartupUtil { if (!Main.isHeadless()) { measureToken = StartUpMeasurer.start(Phases.UPDATE_WINDOW_ICON); AppUIUtil.updateWindowIcon(JOptionPane.getRootFrame()); - measureToken.endAndStart(Phases.REGISTER_BUNDLED_FONTS); + measureToken = measureToken.endAndStart(Phases.REGISTER_BUNDLED_FONTS); AppUIUtil.registerBundledFonts(); measureToken.end(); AppUIUtil.showUserAgreementAndConsentsIfNeeded(); diff --git a/platform/util/src/com/intellij/util/StartUpMeasurer.java b/platform/util/src/com/intellij/util/StartUpMeasurer.java index a7cc344bc5cf..0ab96231c622 100644 --- a/platform/util/src/com/intellij/util/StartUpMeasurer.java +++ b/platform/util/src/com/intellij/util/StartUpMeasurer.java @@ -26,6 +26,7 @@ public final class StartUpMeasurer { public static final String INIT_DEFAULT_LAF = "init default LaF"; public static final String UPDATE_WINDOW_ICON = "update window icon"; public static final String REGISTER_BUNDLED_FONTS = "register bundled fonts"; + public static final String CHECK_LICENSE = "check license"; // this phase name is not fully clear - it is time from `IdeaApplication.initApplication` to `IdeaApplication.run` public static final String INIT_APP = "app initialization"; @@ -177,6 +178,7 @@ public final class StartUpMeasurer { if (description != null) { this.description = description; } + assert end == 0; end = System.nanoTime(); items.add(this); }