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

Issue 2943733002: Add out-of-process memory logging stream parsing. (Closed)

Created:
3 years, 6 months ago by brettw
Modified:
3 years, 6 months ago
Reviewers:
Boris Vidolov, awong
CC:
chromium-reviews, Primiano Tucci (use gerrit), DmitrySkiba, ssid
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Add out-of-process memory logging stream parsing. This is the receiver end, it is not yet hooked up and there is no sending end yet. The MemlogConnectionManager get the notifications of new pipe connections and hooks up the parser to it. The events go to a per-process MemlogAllocationTracker object to track all live memory allocations. This is currently just a simple map. Stacks are de-duplicated across processes. This saves a little memory. This requires that individual stacks are refcounted and atomized. The StackStorage object tracks all globals stacks for this purpose. Review-Url: https://codereview.chromium.org/2943733002 Cr-Commit-Position: refs/heads/master@{#480715} Committed: https://chromium.googlesource.com/chromium/src/+/bd8214bfccde827f7a0e4c3683af8e4937b3d8d7

Patch Set 1 #

Patch Set 2 : Format #

Total comments: 6

Patch Set 3 : Remove version #

Total comments: 42

Patch Set 4 : Review comments #

Total comments: 1

Patch Set 5 : Add TODO #

Unified diffs Side-by-side diffs Delta from patch set Stats (+886 lines, -2 lines) Patch
M chrome/common/profiling/memlog_stream.h View 1 2 1 chunk +31 lines, -0 lines 0 comments Download
M chrome/profiling/BUILD.gn View 1 2 3 1 chunk +13 lines, -0 lines 0 comments Download
M chrome/profiling/README.md View 1 chunk +7 lines, -2 lines 0 comments Download
A chrome/profiling/address.h View 1 2 3 1 chunk +67 lines, -0 lines 0 comments Download
A chrome/profiling/allocation_tracker.h View 1 2 3 1 chunk +52 lines, -0 lines 0 comments Download
A chrome/profiling/allocation_tracker.cc View 1 2 3 1 chunk +51 lines, -0 lines 0 comments Download
A chrome/profiling/backtrace.h View 1 2 3 1 chunk +78 lines, -0 lines 0 comments Download
A chrome/profiling/backtrace.cc View 1 2 3 4 1 chunk +50 lines, -0 lines 0 comments Download
A chrome/profiling/backtrace_storage.h View 1 2 3 1 chunk +52 lines, -0 lines 0 comments Download
A chrome/profiling/backtrace_storage.cc View 1 2 3 1 chunk +44 lines, -0 lines 0 comments Download
A chrome/profiling/memlog_connection_manager.h View 1 2 3 1 chunk +58 lines, -0 lines 0 comments Download
A chrome/profiling/memlog_connection_manager.cc View 1 1 chunk +93 lines, -0 lines 0 comments Download
A chrome/profiling/memlog_receiver.h View 1 2 3 1 chunk +31 lines, -0 lines 0 comments Download
A chrome/profiling/memlog_receiver_pipe_server.h View 1 1 chunk +14 lines, -0 lines 0 comments Download
A chrome/profiling/memlog_stream_parser.h View 1 2 3 1 chunk +68 lines, -0 lines 0 comments Download
A chrome/profiling/memlog_stream_parser.cc View 1 2 3 1 chunk +163 lines, -0 lines 0 comments Download
M chrome/profiling/profiling_globals.h View 1 2 3 3 chunks +6 lines, -0 lines 0 comments Download
M chrome/profiling/profiling_globals.cc View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 36 (19 generated)
brettw
3 years, 6 months ago (2017-06-16 17:56:27 UTC) #5
brettw
+CC some people.
3 years, 6 months ago (2017-06-16 17:56:52 UTC) #6
Boris Vidolov
https://codereview.chromium.org/2943733002/diff/20001/chrome/common/profiling/memlog_stream.h File chrome/common/profiling/memlog_stream.h (right): https://codereview.chromium.org/2943733002/diff/20001/chrome/common/profiling/memlog_stream.h#newcode25 chrome/common/profiling/memlog_stream.h:25: char proctype[16]; What will this be? https://codereview.chromium.org/2943733002/diff/20001/chrome/common/profiling/memlog_stream.h#newcode43 chrome/common/profiling/memlog_stream.h:43: uint64_t ...
3 years, 6 months ago (2017-06-16 21:16:46 UTC) #9
brettw
Remove version
3 years, 6 months ago (2017-06-16 23:57:53 UTC) #10
brettw
https://codereview.chromium.org/2943733002/diff/20001/chrome/common/profiling/memlog_stream.h File chrome/common/profiling/memlog_stream.h (right): https://codereview.chromium.org/2943733002/diff/20001/chrome/common/profiling/memlog_stream.h#newcode25 chrome/common/profiling/memlog_stream.h:25: char proctype[16]; On 2017/06/16 21:16:46, Boris Vidolov wrote: > ...
3 years, 6 months ago (2017-06-16 23:58:14 UTC) #11
Boris Vidolov
https://codereview.chromium.org/2943733002/diff/20001/chrome/profiling/allocation_tracker.cc File chrome/profiling/allocation_tracker.cc (right): https://codereview.chromium.org/2943733002/diff/20001/chrome/profiling/allocation_tracker.cc#newcode16 chrome/profiling/allocation_tracker.cc:16: AllocationTracker::AllocationTracker(CompleteCallback complete_cb) Should this be CompleteCallback&& https://codereview.chromium.org/2943733002/diff/40001/chrome/profiling/memlog_stream_parser.cc File chrome/profiling/memlog_stream_parser.cc ...
3 years, 6 months ago (2017-06-17 00:53:08 UTC) #14
brettw
https://codereview.chromium.org/2943733002/diff/20001/chrome/profiling/allocation_tracker.cc File chrome/profiling/allocation_tracker.cc (right): https://codereview.chromium.org/2943733002/diff/20001/chrome/profiling/allocation_tracker.cc#newcode16 chrome/profiling/allocation_tracker.cc:16: AllocationTracker::AllocationTracker(CompleteCallback complete_cb) On 2017/06/17 00:53:07, Boris Vidolov wrote: > ...
3 years, 6 months ago (2017-06-17 02:41:51 UTC) #17
Boris Vidolov
Thanks, Brett. I am done with the review. A few comments here and there about ...
3 years, 6 months ago (2017-06-17 03:13:15 UTC) #18
awong
still reviewing, but sending while I run to meeting. https://codereview.chromium.org/2943733002/diff/40001/chrome/profiling/address.h File chrome/profiling/address.h (right): https://codereview.chromium.org/2943733002/diff/40001/chrome/profiling/address.h#newcode57 chrome/profiling/address.h:57: ...
3 years, 6 months ago (2017-06-19 20:00:13 UTC) #20
awong
more comments. Main consistent concern is we're incorreclty using && https://codereview.chromium.org/2943733002/diff/40001/chrome/profiling/memlog_stream_parser.cc File chrome/profiling/memlog_stream_parser.cc (right): https://codereview.chromium.org/2943733002/diff/40001/chrome/profiling/memlog_stream_parser.cc#newcode18 ...
3 years, 6 months ago (2017-06-19 21:51:28 UTC) #21
brettw
https://codereview.chromium.org/2943733002/diff/40001/chrome/profiling/address.h File chrome/profiling/address.h (right): https://codereview.chromium.org/2943733002/diff/40001/chrome/profiling/address.h#newcode57 chrome/profiling/address.h:57: return static_cast<size_t>(a.value); On 2017/06/19 20:00:13, awong wrote: > ?? ...
3 years, 6 months ago (2017-06-19 23:29:46 UTC) #22
brettw
Review comments
3 years, 6 months ago (2017-06-19 23:32:57 UTC) #23
brettw
https://codereview.chromium.org/2943733002/diff/40001/chrome/profiling/memlog_receiver.h File chrome/profiling/memlog_receiver.h (right): https://codereview.chromium.org/2943733002/diff/40001/chrome/profiling/memlog_receiver.h#newcode21 chrome/profiling/memlog_receiver.h:21: MemlogReceiver() {} On 2017/06/19 23:29:45, brettw wrote: > On ...
3 years, 6 months ago (2017-06-19 23:33:46 UTC) #26
awong
LGTM https://codereview.chromium.org/2943733002/diff/60001/chrome/profiling/backtrace.cc File chrome/profiling/backtrace.cc (right): https://codereview.chromium.org/2943733002/diff/60001/chrome/profiling/backtrace.cc#newcode19 chrome/profiling/backtrace.cc:19: size_t ComputeHash(const std::vector<Address>& addrs) { Can you add ...
3 years, 6 months ago (2017-06-19 23:42:05 UTC) #27
brettw
Add TODO
3 years, 6 months ago (2017-06-20 00:53:55 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2943733002/80001
3 years, 6 months ago (2017-06-20 00:54:15 UTC) #33
commit-bot: I haz the power
3 years, 6 months ago (2017-06-20 03:47:20 UTC) #36
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://chromium.googlesource.com/chromium/src/+/bd8214bfccde827f7a0e4c3683af...

Powered by Google App Engine
This is Rietveld 408576698