FUS: convert StatisticsJobScheduler to ApplicationInitializerListener to reduce startup time

This commit is contained in:
Svetlana.Zemlyanskaya
2019-04-04 13:45:45 +02:00
parent 672d98eded
commit e4105324d4
3 changed files with 6 additions and 16 deletions
@@ -3,6 +3,7 @@ package com.intellij.internal.statistic.updater;
import com.intellij.application.Topics;
import com.intellij.concurrency.JobScheduler;
import com.intellij.ide.ApplicationInitializedListener;
import com.intellij.ide.FrameStateListener;
import com.intellij.internal.statistic.connect.StatisticsService;
import com.intellij.internal.statistic.eventLog.StatisticsEventLoggerKt;
@@ -15,7 +16,6 @@ import com.intellij.internal.statistic.utils.StatisticsUploadAssistant;
import com.intellij.notification.impl.NotificationsConfigurationImpl;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.BaseComponent;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.project.ProjectManagerListener;
@@ -37,7 +37,7 @@ import java.util.concurrent.Future;
import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit;
public class StatisticsJobsScheduler implements BaseComponent {
public class StatisticsJobsScheduler implements ApplicationInitializedListener {
private static final int SEND_STATISTICS_INITIAL_DELAY_IN_MILLIS = 5 * 60 * 1000;
private static final int CHECK_STATISTICS_PROVIDERS_DELAY_IN_MIN = 20;
@@ -49,7 +49,7 @@ public class StatisticsJobsScheduler implements BaseComponent {
private static final Map<Project, Future> myPersistStatisticsSessionsMap = Collections.synchronizedMap(new HashMap<>());
@Override
public void initComponent() {
public void componentsInitialized() {
if (ApplicationManager.getApplication().isUnitTestMode()) return;
if (StatisticsUploadAssistant.isShouldShowNotification()) {
+2 -6
View File
@@ -7,12 +7,6 @@
<xi:include href="/META-INF/RemoteServers.xml" xpointer="xpointer(/idea-plugin/*)"/>
<xi:include href="/META-INF/python-community-configure-ide.xml" xpointer="xpointer(/idea-plugin/*)"/>
<application-components>
<component>
<implementation-class>com.intellij.internal.statistic.updater.StatisticsJobsScheduler</implementation-class>
</component>
</application-components>
<project-components>
<component>
<implementation-class>com.jetbrains.python.PyModuleListener</implementation-class>
@@ -26,6 +20,8 @@
</project-components>
<extensions defaultExtensionNs="com.intellij">
<applicationInitializedListener implementation="com.intellij.internal.statistic.updater.StatisticsJobsScheduler"/>
<projectViewPane implementation="com.intellij.ide.projectView.impl.ProjectViewPane"/>
<projectAttachProcessor implementation="com.intellij.platform.ModuleAttachProcessor"/>
+1 -7
View File
@@ -61,14 +61,8 @@
</extensions>
<xi:include href="/idea/ExternalSystemActions.xml" xpointer="xpointer(/idea-plugin/*)"/>
<application-components>
<component>
<implementation-class>com.intellij.internal.statistic.updater.StatisticsJobsScheduler</implementation-class>
</component>
</application-components>
<extensions defaultExtensionNs="com.intellij">
<applicationInitializedListener implementation="com.intellij.internal.statistic.updater.StatisticsJobsScheduler"/>
<projectViewPane implementation="com.intellij.ide.projectView.impl.ProjectViewPane"/>