diff options
author | Mathias Kinzler | 2010-11-02 11:59:19 +0000 |
---|---|---|
committer | Matthias Sohn | 2010-11-10 22:18:48 +0000 |
commit | 61d582e5a29eba634602660e83ad78caffb8c12c (patch) | |
tree | 9871b814f641c96065ef482f87274406bb1a9c9c /org.eclipse.egit.ui/src/org/eclipse/egit/ui/internal/history/GenerateHistoryJob.java | |
parent | 55861f7b5ad90ceb950c33e5a84bc6c55902db74 (diff) | |
download | egit-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.java | 35 |
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 |