mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
[vcs-log] add debug logging for log initialization and dispose
GitOrigin-RevId: 58444b985d1cd07d64d141d74976121cce4ae6c4
This commit is contained in:
committed by
intellij-monorepo-bot
parent
bcb2899403
commit
cee45f2b7b
@@ -23,6 +23,7 @@ import com.intellij.vcs.log.graph.PermanentGraph;
|
||||
import com.intellij.vcs.log.ui.AbstractVcsLogUi;
|
||||
import com.intellij.vcs.log.ui.VcsLogColorManagerImpl;
|
||||
import com.intellij.vcs.log.ui.VcsLogUiImpl;
|
||||
import com.intellij.vcs.log.util.VcsLogUtil;
|
||||
import com.intellij.vcs.log.visible.VcsLogFiltererImpl;
|
||||
import com.intellij.vcs.log.visible.VisiblePackRefresherImpl;
|
||||
import com.intellij.vcs.log.visible.filters.VcsLogFilterObject;
|
||||
@@ -187,6 +188,7 @@ public class VcsLogManager implements Disposable {
|
||||
// disposing of VcsLogManager is done by manually executing dispose(@Nullable Runnable callback)
|
||||
// the above method first disposes ui in EDT, than disposes everything else in background
|
||||
LOG.assertTrue(!ApplicationManager.getApplication().isDispatchThread());
|
||||
LOG.debug("Disposed Vcs Log for " + VcsLogUtil.getProvidersMapText(myLogData.getLogProviders()));
|
||||
}
|
||||
|
||||
private class MyFatalErrorsHandler implements FatalErrorHandler {
|
||||
|
||||
@@ -35,6 +35,7 @@ import com.intellij.util.ui.UIUtil;
|
||||
import com.intellij.vcs.log.VcsLogProvider;
|
||||
import com.intellij.vcs.log.data.VcsLogData;
|
||||
import com.intellij.vcs.log.ui.VcsLogUiImpl;
|
||||
import com.intellij.vcs.log.util.VcsLogUtil;
|
||||
import org.jetbrains.annotations.*;
|
||||
|
||||
import java.util.Arrays;
|
||||
@@ -178,6 +179,7 @@ public class VcsProjectLog implements Disposable {
|
||||
@CalledInBackground
|
||||
public synchronized VcsLogManager getValue(@NotNull Map<VirtualFile, VcsLogProvider> logProviders) {
|
||||
if (myValue == null) {
|
||||
LOG.debug("Creating Vcs Log for " + VcsLogUtil.getProvidersMapText(logProviders));
|
||||
VcsLogManager value = compute(logProviders);
|
||||
myValue = value;
|
||||
ApplicationManager.getApplication().invokeLater(() -> {
|
||||
@@ -202,6 +204,7 @@ public class VcsProjectLog implements Disposable {
|
||||
|
||||
public synchronized void drop(@Nullable Runnable callback) {
|
||||
if (myValue != null) {
|
||||
LOG.debug("Disposing Vcs Log for " + VcsLogUtil.getProvidersMapText(myValue.getDataManager().getLogProviders()));
|
||||
myMessageBus.syncPublisher(VCS_PROJECT_LOG_CHANGED).logDisposed(myValue);
|
||||
myValue.dispose(callback);
|
||||
myValue = null;
|
||||
|
||||
@@ -362,4 +362,9 @@ public class VcsLogUtil {
|
||||
}
|
||||
return (maxSize / 1_000_000) + "M";
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String getProvidersMapText(@NotNull Map<VirtualFile, VcsLogProvider> providers) {
|
||||
return "[" + StringUtil.join(providers.keySet(), file -> file.getPresentableUrl(), ", ") + "]";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user