[webkit-changes] [WebKit/WebKit] 3ece00: Add process info methods to WKProcessPool

bnham noreply at github.com
Wed Feb 14 19:22:46 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3ece00bd2a4f6159b2e91705cde25e993edbb220
      https://github.com/WebKit/WebKit/commit/3ece00bd2a4f6159b2e91705cde25e993edbb220
  Author: Ben Nham <nham at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm
    M Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h
    M Source/WebKit/UIProcess/AuxiliaryProcessProxy.h
    M Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProxyCocoa.mm
    M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
    M Source/WebKit/UIProcess/GPU/GPUProcessProxy.h
    M Source/WebKit/UIProcess/Model/ModelProcessProxy.h
    M Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
    M Source/WebKit/UIProcess/WebProcessProxy.cpp
    M Source/WebKit/UIProcess/WebProcessProxy.h
    M Tools/TestWebKitAPI/SourcesCocoa.txt
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessInfo.mm

  Log Message:
  -----------
  Add process info methods to WKProcessPool
https://bugs.webkit.org/show_bug.cgi?id=269228
rdar://problem/122825184

Reviewed by Brady Eidson.

This adds methods to WKProcessPool that allow clients to see metadata such as CPU time usage, memory
footprint, and current process state for processes spawned by WebKit. This can be useful for
understanding how our processes behave in the field.

* Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:
(+[WKProcessPool _gpuProcessInfo]):
(+[WKProcessPool _networkingProcessInfo]):
(+[WKProcessPool _webContentProcessInfo]):
(processStateFromThrottleState):
(-[_WKProcessInfo initWithTaskInfo:]):
(-[_WKWebContentProcessInfo initWithTaskInfo:process:]):
(-[_WKWebContentProcessInfo webViews]):
* Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
* Source/WebKit/UIProcess/AuxiliaryProcessProxy.h:
* Source/WebKit/UIProcess/Cocoa/AuxiliaryProcessProxyCocoa.mm:
(WebKit::AuxiliaryProcessProxy::taskInfo const):
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::description):
(WebKit::logProcessPoolState):
* Source/WebKit/UIProcess/GPU/GPUProcessProxy.h:
* Source/WebKit/UIProcess/Model/ModelProcessProxy.h:
* Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
* Source/WebKit/UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::setIsInProcessCache):
(WebKit::WebProcessProxy::markIsNoLongerInPrewarmedPool):
(WebKit::WebProcessProxy::didChangeThrottleState):
(WebKit::WebProcessProxy::didDropLastAssertion):
(WebKit::WebProcessProxy::totalForegroundTime const):
(WebKit::WebProcessProxy::totalBackgroundTime const):
(WebKit::WebProcessProxy::totalSuspendedTime const):
(WebKit::WebProcessProxy::updateRuntimeStatistics):
* Source/WebKit/UIProcess/WebProcessProxy.h:
(WebKit::WebProcessProxy::throttler const): Deleted.

Canonical link: https://commits.webkit.org/274692@main




More information about the webkit-changes mailing list