Skip to content

Commit 6a0d449

Browse files
committed
draw all Total...Renderer as polygons between *end* of pauses -> results in jagged lines (not rectangular any more) (#111)
1 parent be5e2eb commit 6a0d449

File tree

3 files changed

+12
-16
lines changed

3 files changed

+12
-16
lines changed

src/main/java/com/tagtraum/perf/gcviewer/renderer/TotalHeapRenderer.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,13 @@ public Polygon computePolygon(ModelChart modelChart, GCModel model) {
3838
if (event.getTotal() > 0) {
3939
// there are events that don't have a heap size associated (like "GC remark" of G1)
4040
// -> skip them
41-
polygon.addPoint(event.getTimestamp() - model.getFirstPauseTimeStamp(), event.getTotal());
41+
if (polygon.npoints == 1) {
42+
// first point needs to be treated different from the rest,
43+
// because otherwise the polygon would not start with a vertical line at 0,
44+
// but with a slanting line between 0 and after the first pause
45+
polygon.addPoint(0, (double)event.getTotal());
46+
}
47+
polygon.addPoint(event.getTimestamp() - model.getFirstPauseTimeStamp() + event.getPause(), event.getTotal());
4248
lastTotal = event.getTotal();
4349
}
4450
}

src/main/java/com/tagtraum/perf/gcviewer/renderer/TotalTenuredRenderer.java

+5-10
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,22 @@ public TotalTenuredRenderer(ModelChartImpl modelChart) {
3535
public Polygon computePolygon(ModelChart modelChart, GCModel model) {
3636
ScaledPolygon polygon = createMemoryScaledPolygon();
3737
polygon.addPoint(0.0d, 0.0d);
38-
double lastTotal = 0.0d;
38+
double lastTotal = 0;
3939
for (Iterator<AbstractGCEvent<?>> i = model.getStopTheWorldEvents(); i.hasNext();) {
4040
AbstractGCEvent<?> abstractGCEvent = i.next();
4141
if (abstractGCEvent instanceof GCEvent) {
4242
GCEvent event = (GCEvent) abstractGCEvent;
4343
GCEvent tenured = event.getTenured();
4444
if (hasMemoryInformation(event) && tenured != null) {
45-
double total = tenured.getTotal();
4645
if (polygon.npoints == 1) {
4746
// first point needs to be treated different from the rest,
4847
// because otherwise the polygon would not start with a vertical line at 0,
4948
// but with a slanting line between 0 and after the first pause
50-
polygon.addPoint(0.0d, total);
51-
lastTotal = total;
49+
polygon.addPoint(0, (double)tenured.getTotal());
5250
}
53-
54-
if (lastTotal != total) {
55-
polygon.addPoint(tenured.getTimestamp() - model.getFirstPauseTimeStamp(), lastTotal);
56-
}
57-
polygon.addPoint(tenured.getTimestamp() - model.getFirstPauseTimeStamp() + tenured.getPause(), total);
58-
lastTotal = total;
51+
polygon.addPoint(tenured.getTimestamp() - model.getFirstPauseTimeStamp() + event.getPause(),
52+
tenured.getTotal());
53+
lastTotal = tenured.getTotal();
5954
}
6055
}
6156
}

src/main/java/com/tagtraum/perf/gcviewer/renderer/TotalYoungRenderer.java

-5
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,6 @@ public Polygon computePolygon(ModelChart modelChart, GCModel model) {
5656
// because otherwise the polygon would not start with a vertical line at 0,
5757
// but with a slanting line between 0 and after the first pause
5858
polygon.addPoint(0, tenuredSize + youngSize);
59-
lastYoung = youngSize;
60-
lastTenured = tenuredSize;
61-
}
62-
if (((lastTenured + lastYoung) - (tenuredSize + youngSize)) > 0.0000001) {
63-
polygon.addPoint(event.getTimestamp() - model.getFirstPauseTimeStamp(), lastTenured + lastYoung);
6459
}
6560
polygon.addPoint(event.getTimestamp() - model.getFirstPauseTimeStamp() + event.getPause(), tenuredSize + youngSize);
6661
lastYoung = youngSize;

0 commit comments

Comments
 (0)