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

Issue 9812010: Breakdown nonprofiled memory regions (f.k.a. 'unknown'), and add new policy files. (Closed)

Created:
8 years, 9 months ago by Dai Mikurube (NOT FULLTIME)
Modified:
8 years, 8 months ago
CC:
chromium-reviews, jar (doing other things)
Visibility:
Public.

Description

Breakdown nonprofiled memory regions (f.k.a. 'unknown'), and add new policy files. It breaks down nonprofiled memory regions (f.k.a. 'unknown') with using information from /proc/(pid)/maps. 'mustbezero' and 'nonprofiled-*' columns show broken down values. - mustbezero: works as a sentinel value. it should be '0'. tell dmikurube@ if it > 0. - nonprofiled-absent: works as a sentinel value. should be '0'. - nonprofiled-anonymous: may be still 'unknown'. no special info from maps. - nonprofiled-file-exec: is a mapped file here as executable. - nonprofiled-file-nonexec: is a mapped file here as non-executable. - nonprofiled-stack: is a stack. - nonprofiled-other: includes [vdso] and some small portions. It also removes dmpolicy (an old one) and adds new policy files: policy.l{0-2}.txt. The new files 'policy.l{0-2}.txt' are recommended instead of 'dmpolicy'. policy.l0.txt is the roughest, and policy.l2.txt is the finest breakdown. We can check that summation from 'FROM_HERE_FOR_TOTAL' till 'UNTIL_HERE_FOR_TOTAL' is equal to 'total-exclude-profiler'. Finally, dmprof.py is renamed into dmprof like pprof in tcmalloc. BUG=none TEST=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=132174

Patch Set 1 #

Patch Set 2 : refined #

Patch Set 3 : refined again. #

Patch Set 4 : refined. #

Patch Set 5 : MMapType => MapsRegionType #

Patch Set 6 : added & updated policy files. #

Patch Set 7 : refined policy files. #

Patch Set 8 : refined. #

Patch Set 9 : refactored #

Patch Set 10 : ready for review #

Total comments: 31

Patch Set 11 : reflected the comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+584 lines, -1020 lines) Patch
M third_party/tcmalloc/chromium/src/deep-heap-profile.h View 1 2 3 4 5 6 7 8 9 7 chunks +54 lines, -20 lines 0 comments Download
M third_party/tcmalloc/chromium/src/deep-heap-profile.cc View 1 2 3 4 5 6 7 8 9 13 chunks +165 lines, -36 lines 0 comments Download
A tools/deep_memory_profiler/README.policy View 1 2 3 4 5 6 7 1 chunk +56 lines, -0 lines 0 comments Download
M tools/deep_memory_profiler/dmpolicy View 1 2 3 4 5 6 7 1 chunk +0 lines, -109 lines 0 comments Download
A + tools/deep_memory_profiler/dmprof View 1 2 3 4 5 6 7 8 9 10 7 chunks +147 lines, -88 lines 0 comments Download
D tools/deep_memory_profiler/dmprof.py View 1 2 3 4 5 6 7 1 chunk +0 lines, -767 lines 0 comments Download
A tools/deep_memory_profiler/policy.l0.txt View 1 2 3 4 5 6 7 8 9 1 chunk +34 lines, -0 lines 0 comments Download
A tools/deep_memory_profiler/policy.l1.txt View 1 2 3 4 5 6 7 8 9 1 chunk +41 lines, -0 lines 0 comments Download
A tools/deep_memory_profiler/policy.l2.txt View 1 2 3 4 5 6 7 8 9 1 chunk +87 lines, -0 lines 0 comments Download

Messages

Total messages: 14 (0 generated)
Dai Mikurube (NOT FULLTIME)
Alexander (, and Jim) Could you take a look at *.{cc|h} ? I've Cc'ed Jim. ...
8 years, 8 months ago (2012-04-12 12:20:24 UTC) #1
M-A Ruel
dmprof lgtm with nits http://codereview.chromium.org/9812010/diff/15002/tools/deep_memory_profiler/dmprof File tools/deep_memory_profiler/dmprof (right): http://codereview.chromium.org/9812010/diff/15002/tools/deep_memory_profiler/dmprof#newcode117 tools/deep_memory_profiler/dmprof:117: self.log_lines = [] Here's an ...
8 years, 8 months ago (2012-04-12 12:40:36 UTC) #2
Alexander Potapenko
http://codereview.chromium.org/9812010/diff/15002/tools/deep_memory_profiler/dmprof File tools/deep_memory_profiler/dmprof (right): http://codereview.chromium.org/9812010/diff/15002/tools/deep_memory_profiler/dmprof#newcode31 tools/deep_memory_profiler/dmprof:31: # Heap Profile Dump versions Are you going to ...
8 years, 8 months ago (2012-04-12 12:51:33 UTC) #3
Alexander Potapenko
the rest of the file LGTM
8 years, 8 months ago (2012-04-12 13:01:18 UTC) #4
Dai Mikurube (NOT FULLTIME)
Thanks Alexander, Marc, I fixed nits. Old versions are still alive since I have much ...
8 years, 8 months ago (2012-04-13 05:41:10 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmikurube@chromium.org/9812010/19013
8 years, 8 months ago (2012-04-13 05:41:43 UTC) #6
commit-bot: I haz the power
Try job failure for 9812010-19013 (retry) on linux_rel for step "browser_tests". It's a second try, ...
8 years, 8 months ago (2012-04-13 06:35:24 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmikurube@chromium.org/9812010/19013
8 years, 8 months ago (2012-04-13 06:44:13 UTC) #8
commit-bot: I haz the power
Try job failure for 9812010-19013 (retry) on win_rel for step "browser_tests". It's a second try, ...
8 years, 8 months ago (2012-04-13 09:27:16 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/dmikurube@chromium.org/9812010/19013
8 years, 8 months ago (2012-04-13 10:19:26 UTC) #10
commit-bot: I haz the power
Change committed as 132174
8 years, 8 months ago (2012-04-13 11:44:50 UTC) #11
M-A Ruel
On 2012/04/13 05:41:10, Dai Mikurube wrote: > Thanks Alexander, Marc, > > I fixed nits. ...
8 years, 8 months ago (2012-04-13 12:22:26 UTC) #12
Dai Mikurube (NOT FULLTIME)
On 2012/04/13 12:22:26, Marc-Antoine Ruel wrote: > On 2012/04/13 05:41:10, Dai Mikurube wrote: > > ...
8 years, 8 months ago (2012-04-13 13:15:20 UTC) #13
M-A Ruel
8 years, 8 months ago (2012-04-13 13:18:07 UTC) #14
On 2012/04/13 13:15:20, Dai Mikurube wrote:
> On 2012/04/13 12:22:26, Marc-Antoine Ruel wrote:
> > On 2012/04/13 05:41:10, Dai Mikurube wrote:
> > > Thanks Alexander, Marc,
> > > 
> > > I fixed nits.  Old versions are still alive since I have much old data
> locally
> > > and I'm comparing them.  I'm planning to remove old versions at some
future
> > > date.
> > 
> > That's a reason I like to dump data in json format. It's significantly more
> > future proof, doesn't require a definition like protobuf and much more dense
> > than xml.
> 
> I like JSON, too, but it's hard to use JSON here since it's very low-level
dump
> data from tcmalloc.  The current tcmalloc dumper interface requires lots of
> memory for dumping.  We have to pack more information in a smaller buffer.

You are right, json isn't memory efficient at all. :/
FTR, I've had relative success with csv, it works well with incremental append,
it's memory efficient and its parser isn't too bad.

Powered by Google App Engine
This is Rietveld 408576698