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)

47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review
47 bytes, text/x-phabricator-request
Details | Review

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

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.

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: