Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Unified Diff: runtime/observatory/lib/src/elements/memory/graph.dart

Issue 3002603002: Remove race condition in Observatory memory page (Closed)
Patch Set: Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/observatory/lib/src/elements/memory/graph.dart
diff --git a/runtime/observatory/lib/src/elements/memory/graph.dart b/runtime/observatory/lib/src/elements/memory/graph.dart
index a89ba43edf070b9f1ed8d2dc9d239294b62ffa9c..f43cd3e9293f1edb650de9df27809e996a2a185a 100644
--- a/runtime/observatory/lib/src/elements/memory/graph.dart
+++ b/runtime/observatory/lib/src/elements/memory/graph.dart
@@ -169,10 +169,13 @@ class MemoryGraphElement extends HtmlElement implements Renderable {
final area = new CartesianArea(host, data, config, state: state)
..theme = theme;
area.addChartBehavior(new Hovercard(builder: (int column, int row) {
+ final data = rows[row];
if (column == 1) {
- return _formatNativeOvercard(row);
+ return _formatNativeOvercard(data[1]);
}
- return _formatIsolateOvercard(_seenIsolates[column - 2].id, row);
+ final isolate = _seenIsolates[column - 2];
+ final index = _isolateIndex[isolate.id] * 2 + 2;
+ return _formatIsolateOvercard(isolate.name, data[index], data[index + 1]);
}));
area.draw();
@@ -322,7 +325,7 @@ class MemoryGraphElement extends HtmlElement implements Renderable {
return '${name} ($usedStr / $capacityStr)';
}
- Element _formatNativeOvercard(int row) => new DivElement()
+ static HtmlElement _formatNativeOvercard(int heap) => new DivElement()
..children = [
new DivElement()
..classes = ['hovercard-title']
@@ -335,20 +338,17 @@ class MemoryGraphElement extends HtmlElement implements Renderable {
..text = 'Heap',
new DivElement()
..classes = ['hovercard-measure-value']
- ..text = Utils.formatSize(_vmSamples[row]),
+ ..text = Utils.formatSize(heap),
]
];
- Element _formatIsolateOvercard(String isolateId, int row) {
- final index = _isolateIndex[isolateId];
- final free = _isolateFreeSamples[row][index];
- final used = _isolateUsedSamples[row][index];
+ static HtmlElement _formatIsolateOvercard(String name, int free, int used) {
final capacity = free + used;
return new DivElement()
..children = [
new DivElement()
..classes = ['hovercard-title']
- ..text = _isolateName[isolateId],
+ ..text = name,
new DivElement()
..classes = ['hovercard-measure', 'hovercard-multi']
..children = [
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698