some dumb mode logging (IDEA-124604)

This commit is contained in:
peter
2014-04-30 17:34:58 +02:00
parent 10bf86c337
commit 3ac7f7df2c
5 changed files with 42 additions and 1 deletions
@@ -22,7 +22,9 @@ package com.intellij.util.indexing;
import com.intellij.ide.IdeBundle;
import com.intellij.ide.caches.FileContent;
import com.intellij.ide.startup.StartupManagerEx;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.components.AbstractProjectComponent;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileTypes.FileTypeManager;
import com.intellij.openapi.progress.ProgressIndicator;
import com.intellij.openapi.project.*;
@@ -42,6 +44,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.Collection;
public class FileBasedIndexProjectHandler extends AbstractProjectComponent implements IndexableFileSet {
private static final Logger LOG = Logger.getInstance("#com.intellij.util.indexing.FileBasedIndexProjectHandler");
private final FileBasedIndexImpl myIndex;
private final ProjectRootManagerEx myRootManager;
private final FileTypeManager myFileTypeManager;
@@ -52,6 +55,18 @@ public class FileBasedIndexProjectHandler extends AbstractProjectComponent imple
myRootManager = rootManager;
myFileTypeManager = ftManager;
if (ApplicationManager.getApplication().isInternal()) {
project.getMessageBus().connect().subscribe(DumbService.DUMB_MODE, new DumbService.DumbModeListener() {
public void enteredDumbMode() {
}
public void exitDumbMode() {
LOG.info("Has changed files: " + (createChangedFilesIndexingTask(project) != null) + "; project=" + project);
}
});
}
final StartupManagerEx startupManager = (StartupManagerEx)StartupManager.getInstance(project);
if (startupManager != null) {
startupManager.registerPreStartupActivity(new Runnable() {
@@ -262,10 +262,17 @@ public class StartupManagerImpl extends StartupManagerEx {
}
});
}
@Override
public String toString() {
return "initial refresh";
}
});
}
dumbService.queueCacheUpdateInDumbMode(myCacheUpdaters);
if (!myCacheUpdaters.isEmpty()) {
dumbService.queueCacheUpdateInDumbMode(myCacheUpdaters);
}
}
catch (ProcessCanceledException e) {
throw e;
@@ -34,6 +34,7 @@ import com.intellij.util.Consumer;
import gnu.trove.THashSet;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Set;
import java.util.concurrent.Future;
@@ -52,6 +53,11 @@ public class CacheUpdateRunner {
myUpdaters = updaters;
}
@Override
public String toString() {
return new ArrayList<CacheUpdater>(myUpdaters).toString();
}
public int queryNeededFiles(@NotNull ProgressIndicator indicator) {
// can be queried twice in DumbService
return getSession(indicator).getFilesToUpdate().size();
@@ -97,6 +97,11 @@ public class DumbServiceImpl extends DumbService {
public void canceled() {
}
@Override
public String toString() {
return task.toString();
}
};
queueCacheUpdateInDumbMode(Arrays.asList(wrapper));
}
@@ -258,6 +263,8 @@ public class DumbServiceImpl extends DumbService {
myDumb = false;
if (myProject.isDisposed()) return;
if (ApplicationManager.getApplication().isInternal()) LOG.info("updateFinished");
try {
myPublisher.exitDumbMode();
FileEditorManagerEx.getInstanceEx(myProject).refreshIcons();
@@ -425,6 +432,7 @@ public class DumbServiceImpl extends DumbService {
private void runAction(ProgressIndicator indicator, CacheUpdateRunner updateRunner) {
while (updateRunner != null) {
try {
if (ApplicationManager.getApplication().isInternal()) LOG.info("Running dumb mode task: " + updateRunner);
indicator.checkCanceled();
indicator.setIndeterminate(true);
indicator.setText(IdeBundle.message("progress.indexing.scanning"));
@@ -419,6 +419,11 @@ public class ProjectManagerImpl extends ProjectManagerEx implements NamedJDOMExt
public void performInDumbMode(@NotNull ProgressIndicator indicator) {
waitForFileWatcher(indicator);
}
@Override
public String toString() {
return "wait for file watcher";
}
});
final StartupManagerImpl startupManager = (StartupManagerImpl)StartupManager.getInstance(project);