Skip to content

Commit

Permalink
567048: Add detailed progress to group by value query
Browse files Browse the repository at this point in the history
Change-Id: I46f8832c37df40d2279d0e999ed456b45eac4994
  • Loading branch information
kgibm committed Sep 17, 2020
1 parent 0c01d94 commit 73d20a1
Showing 1 changed file with 12 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,15 +41,21 @@ public class GroupByValueQuery implements IQuery

public IResult execute(IProgressListener listener) throws Exception
{
listener.subTask(Messages.GroupByValueQuery_GroupingObjects);

Quantize quantize = Quantize.valueDistribution(Messages.GroupByValueQuery_Column_StringValue) //
.column(Messages.GroupByValueQuery_Column_Objects, Quantize.COUNT) //
.column(Messages.Column_ShallowHeap, Quantize.SUM_LONG, SortDirection.DESC) //
.column(Messages.GroupByValueQuery_Column_AvgRetainedSize, Quantize.AVERAGE_LONG) //
.addDerivedData(RetainedSizeDerivedData.APPROXIMATE) //
.build();

int totalWork = 0;
for (int[] objectIds : objects)
{
totalWork += objectIds.length;
}

listener.beginTask(Messages.GroupByValueQuery_GroupingObjects, totalWork);

boolean canceled = false;
for (int[] objectIds : objects)
{
Expand All @@ -72,11 +78,15 @@ public IResult execute(IProgressListener listener) throws Exception
subject = ((IObject) subject).getClassSpecificName();

quantize.addValue(objectId, subject, null, object.getUsedHeapSize(), object.getRetainedHeapSize());

listener.worked(1);
}
if (canceled)
break;
}

listener.done();

return quantize.getResult();
}
}

0 comments on commit 73d20a1

Please sign in to comment.