mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[maven] log duration of different phases of Maven import (IDEA-284414)
GitOrigin-RevId: a1a64fa8bd7fe26133065f8d077efb61b0013f0a
This commit is contained in:
committed by
intellij-monorepo-bot
parent
8d4b9c434e
commit
9d4342e25a
+7
-2
@@ -34,7 +34,6 @@ import com.intellij.workspaceModel.ide.WorkspaceModel;
|
||||
import com.intellij.workspaceModel.ide.legacyBridge.ModuleBridge;
|
||||
import com.intellij.workspaceModel.storage.WorkspaceEntityStorage;
|
||||
import com.intellij.workspaceModel.storage.WorkspaceEntityStorageBuilder;
|
||||
import com.intellij.workspaceModel.storage.WorkspaceEntityStorageDiffBuilder;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.idea.maven.importing.configurers.MavenModuleConfigurer;
|
||||
@@ -94,13 +93,16 @@ public class MavenProjectImporter {
|
||||
|
||||
@Nullable
|
||||
public List<MavenProjectsProcessorTask> importProject() {
|
||||
long startTime = System.currentTimeMillis();
|
||||
if (MavenUtil.newModelEnabled(myProject)) {
|
||||
myModelsProvider = new ModifiableModelsProviderProxyImpl(myProject, myDiff);
|
||||
} else {
|
||||
myModelsProvider = new ModifiableModelsProviderProxyWrapper(myIdeModifiableModelsProvider);
|
||||
}
|
||||
myModuleModel = myModelsProvider.getModuleModelProxy();
|
||||
return importProjectOldWay();
|
||||
List<MavenProjectsProcessorTask> tasks = importProjectOldWay();
|
||||
LOG.info("[maven import] applying models took " + (System.currentTimeMillis() - startTime) + "ms");
|
||||
return tasks;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@@ -195,6 +197,8 @@ public class MavenProjectImporter {
|
||||
|
||||
MavenUtil.runInBackground(myProject, MavenProjectBundle.message("command.name.configuring.projects"), false, indicator -> {
|
||||
float count = 0;
|
||||
long startTime = System.currentTimeMillis();
|
||||
LOG.info("[maven import] applying " + configurers.size() + " configurers to " + myAllProjects.size() + " Maven projects");
|
||||
for (MavenProject mavenProject : myAllProjects) {
|
||||
Module module = myMavenProjectToModule.get(mavenProject);
|
||||
if (module == null) {
|
||||
@@ -206,6 +210,7 @@ public class MavenProjectImporter {
|
||||
configurer.configure(mavenProject, myProject, module);
|
||||
}
|
||||
}
|
||||
LOG.info("[maven import] configuring projects took " + (System.currentTimeMillis() - startTime) + "ms");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
+8
-2
@@ -16,14 +16,15 @@
|
||||
package org.jetbrains.idea.maven.project;
|
||||
|
||||
import com.intellij.internal.statistic.StructuredIdeActivity;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ReadAction;
|
||||
import com.intellij.openapi.diagnostic.ControlFlowException;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.externalSystem.statistics.ExternalSystemStatUtilKt;
|
||||
import com.intellij.openapi.externalSystem.statistics.ProjectImportCollector;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Condition;
|
||||
import com.intellij.openapi.util.NlsContexts;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.util.ExceptionUtil;
|
||||
import com.intellij.util.concurrency.Semaphore;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -35,6 +36,7 @@ import java.util.LinkedList;
|
||||
import java.util.Queue;
|
||||
|
||||
public class MavenProjectsProcessor {
|
||||
private static final Logger LOG = Logger.getInstance(MavenProjectsProcessor.class);
|
||||
private final Project myProject;
|
||||
private final @NlsContexts.Command String myTitle;
|
||||
private final boolean myCancellable;
|
||||
@@ -140,7 +142,7 @@ public class MavenProjectsProcessor {
|
||||
StructuredIdeActivity activity = ExternalSystemStatUtilKt.importActivityStarted(myProject, MavenUtil.SYSTEM_ID, () ->
|
||||
Collections.singletonList(ProjectImportCollector.TASK_CLASS.with(finalTask.getClass()))
|
||||
);
|
||||
|
||||
long startTime = System.currentTimeMillis();
|
||||
try {
|
||||
final MavenGeneralSettings mavenGeneralSettings = MavenProjectsManager.getInstance(myProject).getGeneralSettings();
|
||||
task.perform(myProject, myEmbeddersManager,
|
||||
@@ -155,6 +157,10 @@ public class MavenProjectsProcessor {
|
||||
}
|
||||
finally {
|
||||
activity.finished();
|
||||
long duration = System.currentTimeMillis() - startTime;
|
||||
if (duration > 10) {
|
||||
LOG.info("[maven import] " + StringUtil.getShortName(task.getClass()) + " took " + duration + "ms");
|
||||
}
|
||||
}
|
||||
|
||||
synchronized (myQueue) {
|
||||
|
||||
Reference in New Issue
Block a user