Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathias Kinzler2010-11-02 11:59:19 +0000
committerMatthias Sohn2010-11-10 22:18:48 +0000
commit61d582e5a29eba634602660e83ad78caffb8c12c (patch)
tree9871b814f641c96065ef482f87274406bb1a9c9c /org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GenerateHistoryJob.java
parent55861f7b5ad90ceb950c33e5a84bc6c55902db74 (diff)
downloadegit-61d582e5a29eba634602660e83ad78caffb8c12c.tar.gz
egit-61d582e5a29eba634602660e83ad78caffb8c12c.tar.xz
egit-61d582e5a29eba634602660e83ad78caffb8c12c.zip
[historyView] Add trace instrumentation
This adds trace instrumentation to some of the important methods of GitHistoryPage and GenerateHistoryJob. This was already helpful in chasing down some problems with parallel running refresh jobs. Change-Id: I9fd2fd7a3d78e199d4b0f1cc2b093417f7b086e1 Signed-off-by: Mathias Kinzler <mathias.kinzler@sap.com> Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
Diffstat (limited to 'org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GenerateHistoryJob.java')
-rw-r--r--org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GenerateHistoryJob.java35
1 files changed, 29 insertions, 6 deletions
diff --git a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GenerateHistoryJob.java b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GenerateHistoryJob.java
index 3b7e31196d..768e655a3c 100644
--- a/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GenerateHistoryJob.java
+++ b/org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GenerateHistoryJob.java
@@ -17,6 +17,7 @@ import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.egit.ui.Activator;
import org.eclipse.egit.ui.JobFamilies;
import org.eclipse.egit.ui.UIText;
+import org.eclipse.egit.ui.internal.trace.GitTraceLocation;
import org.eclipse.osgi.util.NLS;
class GenerateHistoryJob extends Job {
@@ -30,24 +31,34 @@ class GenerateHistoryJob extends Job {
private long lastUpdateAt;
+ private boolean trace;
+
GenerateHistoryJob(final GitHistoryPage ghp, final SWTCommitList list) {
super(NLS.bind(UIText.HistoryPage_refreshJob, Activator.getDefault()
.getRepositoryUtil().getRepositoryName(
ghp.getInputInternal().getRepository())));
page = ghp;
allCommits = list;
+ trace = GitTraceLocation.HISTORYVIEW.isActive();
}
@Override
protected IStatus run(final IProgressMonitor monitor) {
IStatus status = Status.OK_STATUS;
try {
+ if (trace)
+ GitTraceLocation.getTrace().traceEntry(
+ GitTraceLocation.HISTORYVIEW.getLocation());
page.setErrorMessage(NLS.bind(
UIText.GenerateHistoryJob_BuildingListMessage, page
.getName()));
try {
for (;;) {
final int oldsz = allCommits.size();
+ if (trace)
+ GitTraceLocation.getTrace().trace(
+ GitTraceLocation.HISTORYVIEW.getLocation(),
+ "Filling commit list"); //$NON-NLS-1$
allCommits.fillTo(oldsz + BATCH_SIZE - 1);
if (monitor.isCanceled() || oldsz == allCommits.size())
break;
@@ -72,18 +83,30 @@ class GenerateHistoryJob extends Job {
updateUI();
} finally {
monitor.done();
+ if (trace)
+ GitTraceLocation.getTrace().traceExit(
+ GitTraceLocation.HISTORYVIEW.getLocation());
}
return status;
}
void updateUI() {
- if (allCommits.size() == lastUpdateCnt)
- return;
+ if (trace)
+ GitTraceLocation.getTrace().traceEntry(
+ GitTraceLocation.HISTORYVIEW.getLocation());
+ try {
+ if (allCommits.size() == lastUpdateCnt)
+ return;
- final SWTCommit[] asArray = new SWTCommit[allCommits.size()];
- allCommits.toArray(asArray);
- page.showCommitList(this, allCommits, asArray);
- lastUpdateCnt = allCommits.size();
+ final SWTCommit[] asArray = new SWTCommit[allCommits.size()];
+ allCommits.toArray(asArray);
+ page.showCommitList(this, allCommits, asArray);
+ lastUpdateCnt = allCommits.size();
+ } finally {
+ if (trace)
+ GitTraceLocation.getTrace().traceExit(
+ GitTraceLocation.HISTORYVIEW.getLocation());
+ }
}
@Override

Back to the top