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

Issue 1391473002: Add Metrics for heap high water marks (Closed)

Created:
5 years, 2 months ago by Cutch
Modified:
5 years, 2 months ago
Reviewers:
koda, rmacnak, sra1
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Add Metrics for heap high water marks Will be printed at isolate exit when VM launched with: --print-metrics R=koda@google.com, rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/d9297fa72a26a4b6d5575f685ae86cf254f596fb

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Total comments: 6

Patch Set 4 : #

Total comments: 3

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+87 lines, -7 lines) Patch
M runtime/vm/heap.h View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/heap.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/metrics.h View 2 chunks +24 lines, -2 lines 0 comments Download
M runtime/vm/metrics.cc View 1 chunk +26 lines, -0 lines 0 comments Download
M runtime/vm/pages.h View 1 chunk +4 lines, -0 lines 0 comments Download
M runtime/vm/pages.cc View 1 2 3 4 2 chunks +11 lines, -0 lines 0 comments Download
M runtime/vm/scavenger.h View 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/scavenger.cc View 1 2 3 3 chunks +16 lines, -1 line 0 comments Download

Messages

Total messages: 17 (3 generated)
Cutch
5 years, 2 months ago (2015-10-05 20:14:23 UTC) #3
koda
https://codereview.chromium.org/1391473002/diff/30001/runtime/vm/metrics.h File runtime/vm/metrics.h (right): https://codereview.chromium.org/1391473002/diff/30001/runtime/vm/metrics.h#newcode113 runtime/vm/metrics.h:113: void SetValue(int64_t new_value); SetValue is somewhat misleading, but not ...
5 years, 2 months ago (2015-10-05 20:35:23 UTC) #4
Cutch
https://codereview.chromium.org/1391473002/diff/30001/runtime/vm/metrics.h File runtime/vm/metrics.h (right): https://codereview.chromium.org/1391473002/diff/30001/runtime/vm/metrics.h#newcode113 runtime/vm/metrics.h:113: void SetValue(int64_t new_value); On 2015/10/05 20:35:23, koda wrote: > ...
5 years, 2 months ago (2015-10-05 20:54:35 UTC) #5
sra1
I'm not sure this "Fixes #24483", but I may be misreading the code. For https://github.com/dart-lang/sdk/issues/24483 ...
5 years, 2 months ago (2015-10-05 22:00:28 UTC) #7
koda
On 2015/10/05 22:00:28, sra1 wrote: > I'm not sure this "Fixes #24483", but I may ...
5 years, 2 months ago (2015-10-05 23:20:05 UTC) #8
Cutch
On 2015/10/05 23:20:05, koda wrote: > On 2015/10/05 22:00:28, sra1 wrote: > > I'm not ...
5 years, 2 months ago (2015-10-05 23:42:23 UTC) #9
Cutch
Daniel, Ryan: PTAL.
5 years, 2 months ago (2015-10-05 23:44:57 UTC) #10
koda
Other than the overflow, LGTM. (Also make sure the CL description reflects whether this CL ...
5 years, 2 months ago (2015-10-06 00:11:11 UTC) #11
rmacnak
lgtm https://codereview.chromium.org/1391473002/diff/50001/runtime/vm/heap.h File runtime/vm/heap.h (right): https://codereview.chromium.org/1391473002/diff/50001/runtime/vm/heap.h#newcode314 runtime/vm/heap.h:314: Isolate* isolate_; Undoes 5dc51af924b9d3cb1005a530fe95dc1663b1eb53 :(. But okay, I ...
5 years, 2 months ago (2015-10-06 00:19:43 UTC) #12
sra1
On 2015/10/05 23:42:23, Cutch wrote: > On 2015/10/05 23:20:05, koda wrote: > > On 2015/10/05 ...
5 years, 2 months ago (2015-10-06 03:34:39 UTC) #13
Cutch
Committed patchset #5 (id:70001) manually as d9297fa72a26a4b6d5575f685ae86cf254f596fb (presubmit successful).
5 years, 2 months ago (2015-10-06 14:03:28 UTC) #14
Cutch
Landed and bug left open. https://codereview.chromium.org/1391473002/diff/50001/runtime/vm/pages.cc File runtime/vm/pages.cc (right): https://codereview.chromium.org/1391473002/diff/50001/runtime/vm/pages.cc#newcode542 runtime/vm/pages.cc:542: usage_.capacity_in_words * kWordSize); On ...
5 years, 2 months ago (2015-10-06 14:03:53 UTC) #15
Siggi Cherem (dart-lang)
On 2015/10/06 03:34:39, sra1 wrote: > On 2015/10/05 23:42:23, Cutch wrote: > > On 2015/10/05 ...
5 years, 2 months ago (2015-10-06 15:32:25 UTC) #16
Cutch
5 years, 2 months ago (2015-10-06 15:36:26 UTC) #17
Message was sent while issue was closed.
On 2015/10/06 15:32:25, Siggi Cherem (dart-lang) wrote:
> On 2015/10/06 03:34:39, sra1 wrote:
> > On 2015/10/05 23:42:23, Cutch wrote:
> > > On 2015/10/05 23:20:05, koda wrote:
> > > > On 2015/10/05 22:00:28, sra1 wrote:
> > > > > I'm not sure this "Fixes #24483", but I may be misreading the code.
> > > > > 
> > > > > For https://github.com/dart-lang/sdk/issues/24483 we want the max
memory
> > > used
> > > > in
> > > > > data structures of the program.
> > > > > 
> > > > > It would be nice if there was a metric that hid details like old or
new
> > > heaps.
> > > > > What we want is a max-used over all heaps (old, new, whatever you
invent
> > > > > tomorrow) that reflects the #bytes of data that the program can reach.

> > i.e.
> > > a
> > > > > metric that is a property of the program (at some arbitrary GC
> 'samples')
> > > that
> > > > > is mostly independent of any policy or mechanism of the GC.
> > > > 
> > > > That sounds like a max over new_space.used_in_bytes +
> > old_space.used_in_byte,
> > > > which should be possible to track even without any changes to the VM
> itself,
> > > > since we already track these.
> > > 
> > > We can debate which values should have the maximum be tracked in the bug
and
> > not
> > > this CL.
> > 
> > Sure, but the CL does not provide what we asked for.
> 
> Sorry, this is my bad - I also was under the impression that
new_space.capacity
> + old_space.capacity was good enough, which is why I phrased the request that
> way in the first place. I had not thought about the more precise measurement
> that Stephen is suggesting, but it's true that it would be more precise and
less
> sensitive to vm changes in the future (e.g. if you were to change how the vm
GC
> works.)

It should be easy to add a maximum post-gc used. It would still be
generationally split but it's more conservative than the maximum capacity.

Powered by Google App Engine
This is Rietveld 408576698