[webkit-changes] [WebKit/WebKit] 501a16: Add debug logging for process and page state
bnham
noreply at github.com
Thu Oct 6 13:34:35 PDT 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 501a16433dc7ebb67f2de223f3dd4fbd2af4fe03
https://github.com/WebKit/WebKit/commit/501a16433dc7ebb67f2de223f3dd4fbd2af4fe03
Author: Ben Nham <nham at apple.com>
Date: 2022-10-06 (Thu, 06 Oct 2022)
Changed paths:
M Source/WTF/wtf/MemoryPressureHandler.cpp
M Source/WTF/wtf/MemoryPressureHandler.h
M Source/WebCore/page/MemoryRelease.cpp
M Source/WebCore/platform/CountedUserActivity.h
M Source/WebCore/platform/Logging.h
M Source/WebCore/platform/UserActivity.cpp
M Source/WebCore/platform/UserActivity.h
M Source/WebCore/platform/mac/UserActivityMac.mm
M Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp
M Source/WebKit/Shared/AuxiliaryProcess.cpp
M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
M Source/WebKit/UIProcess/ProcessAssertion.cpp
M Source/WebKit/UIProcess/ProcessAssertion.h
M Source/WebKit/UIProcess/ProcessThrottler.cpp
M Source/WebKit/UIProcess/ProcessThrottler.h
M Source/WebKit/UIProcess/WebProcessProxy.cpp
M Source/WebKit/UIProcess/WebProcessProxy.h
M Source/WebKit/WebProcess/WebPage/WebPage.cpp
M Source/WebKit/WebProcess/WebPage/WebPage.h
M Source/WebKit/WebProcess/WebProcess.cpp
M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Log Message:
-----------
Add debug logging for process and page state
https://bugs.webkit.org/show_bug.cgi?id=245244
rdar://problem/99986063
Reviewed by Chris Dumez.
This adds notifyd callbacks that dump state about processes and pages. I've found this useful
recently to debug issues with enabling App Nap and adopting RunningBoard on macOS. I also intend to
use this so that Membuster5 knows which domain is loaded into a given WebContent pid. This will
allow the benchmark to provide per-origin memory footprint data.
I also added logging to UserActivity as we've needed this logging recently to debug and understand
issues with App Nap activation. As part of this I changed ProcessAssertion to take the description
string as a a string literal to make the logging marginally cheaper.
* Source/WTF/wtf/MemoryPressureHandler.cpp:
(WTF::MemoryPressureHandler::singleton):
(WTF::memoryPressureHandlerIfExists):
(WTF::MemoryPressureHandler::processStateDescription):
* Source/WTF/wtf/MemoryPressureHandler.h:
* Source/WebCore/page/MemoryRelease.cpp:
(WebCore::logMemoryStatistics):
* Source/WebCore/platform/CountedUserActivity.h:
(WebCore::CountedUserActivity::CountedUserActivity):
* Source/WebCore/platform/Logging.h:
* Source/WebCore/platform/UserActivity.cpp:
(WebCore::UserActivity::Impl::Impl):
(WebCore::UserActivity::UserActivity):
* Source/WebCore/platform/UserActivity.h:
* Source/WebCore/platform/mac/UserActivityMac.mm:
(WebCore::UserActivity::Impl::Impl):
(WebCore::UserActivity::Impl::beginActivity):
(WebCore::UserActivity::Impl::endActivity):
* Source/WebCore/platform/mediastream/cocoa/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::DisplayCaptureSourceCocoa):
* Source/WebKit/Shared/AuxiliaryProcess.cpp:
(WebKit::AuxiliaryProcess::AuxiliaryProcess):
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::logProcessPoolState):
(WebKit::WebProcessPool::platformInitialize):
* Source/WebKit/UIProcess/ProcessAssertion.cpp:
(WebKit::processAssertionTypeDescription):
* Source/WebKit/UIProcess/ProcessAssertion.h:
* Source/WebKit/UIProcess/ProcessThrottler.cpp:
(WebKit::activityNames):
(WebKit::operator<<):
* Source/WebKit/UIProcess/ProcessThrottler.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::operator<<):
* Source/WebKit/UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::throttler const):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
* Source/WebKit/WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::activityState const):
* Source/WebKit/WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::additionalStateForDiagnosticReport const):
Canonical link: https://commits.webkit.org/255239@main
More information about the webkit-changes
mailing list