Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 501a16433dc7ebb67f2de223f3dd4fbd2af4fe03
      
https://github.com/WebKit/WebKit/commit/501a16433dc7ebb67f2de223f3dd4fbd2af4fe03
  Author: Ben Nham <[email protected]>
  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


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to