Closed Bug 1564475 Opened 5 years ago Closed 5 years ago

Land initial support for C++ memory allocation tracking

Categories

(Core :: Gecko Profiler, enhancement, P1)

enhancement

Tracking

()

RESOLVED FIXED
mozilla71
Tracking Status
firefox71 --- fixed

People

(Reporter: gregtatum, Assigned: gregtatum)

References

(Blocks 1 open bug)

Details

Attachments

(8 files, 2 obsolete files)

(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details

This bug is for the work to sample stacks in the profiler's memory hooks and add them as markers.

Assignee: nobody → gtatum
Blocks: 1564474
Priority: -- → P1
Version: 62 Branch → Trunk

Depends on D39882

Attached file Bug 1564475 - Native stacks are now being collected (obsolete) (deleted) —

Depends on D39883

All these patches are WIP.

The previous implementation did not control when the profiler counters
would be destroyed. This could happen while the profiler state was already
locked, or when the lock had already been destroyed. This patch changes
it to be explicit.

Depends on D42194

Depends on D42197

Attachment #9081644 - Attachment is obsolete: true
Attachment #9081645 - Attachment is obsolete: true
Attachment #9085859 - Attachment description: Bug 1564475 - Remove lock failure when removing the profiler counters → Bug 1564475 - Remove lock failure when removing the profiler counters; r?jesup
Attachment #9081643 - Attachment description: Bug 1564475 - Add a mechanism to block re-entry on profiler memory hooks → Bug 1564475 - Add a mechanism to block re-entry on profiler memory hooks; r?njn
Attachment #9085860 - Attachment description: Bug 1564475 - Add the ability to collect markers with a Bernoulli trial → Bug 1564475 - Add the ability to collect markers with a Bernoulli trial; r?njn
Attachment #9085861 - Attachment description: Bug 1564475 - Disable native allocations when the bloat log is turned on → Bug 1564475 - Disable native allocations when the bloat log is turned on; r?njn
Attachment #9085862 - Attachment description: Bug 1564475 - Add a mechanism to collect profiler backtraces → Bug 1564475 - Add a mechanism to collect profiler backtraces; r?njn
Attachment #9085863 - Attachment description: Bug 1564475 - Only turn on the native allocation tracking with a profiler feature → Bug 1564475 - Only turn on the native allocation tracking with a profiler feature; r?njn
Attachment #9085866 - Attachment description: Bug 1564475 - Add a native allocation profiling test → Bug 1564475 - Add a native allocation profiling test; r?canaltinova

Greg, this looks like a good start, and I have various comments. A chunk of new code of this size and gnarliness will inevitably take a few iterations to get to a landable state :)

Of course! Thanks for the review.

Blocks: 1578792
Pushed by gtatum@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/32930bba2852 Remove lock failure when removing the profiler counters; r=jesup https://hg.mozilla.org/integration/autoland/rev/2e5fc2937e95 Add a mechanism to block re-entry on profiler memory hooks; r=njn https://hg.mozilla.org/integration/autoland/rev/3987d1690897 Add the ability to collect markers with a Bernoulli trial; r=njn https://hg.mozilla.org/integration/autoland/rev/11edc7e045e3 Disable native allocations when the bloat log is turned on; r=njn https://hg.mozilla.org/integration/autoland/rev/57a891548aca Add a mechanism to collect profiler backtraces; r=njn,gerald https://hg.mozilla.org/integration/autoland/rev/41a47ecc5c8b Only turn on the native allocation tracking with a profiler feature; r=njn https://hg.mozilla.org/integration/autoland/rev/52fa68b8413b Add the native allocations feature to the profiler UI; r=canaltinova https://hg.mozilla.org/integration/autoland/rev/deed0b712be5 Add a native allocation profiling test; r=canaltinova
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: