Changeset 254487 in webkit


Ignore:
Timestamp:
Jan 13, 2020 8:21:33 PM (4 years ago)
Author:
Keith Rollin
Message:

Reformat WebProcessPool logging
https://bugs.webkit.org/show_bug.cgi?id=205882
<rdar://problem/58384349>

Reviewed by Brent Fulgham.

Update the format used by WebProcessPool in its RELEASE_LOG logging.
Use the format used by WebPageProxy and NetworkResourceLoader, which
is generally of the form:

<object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>

So, for example:

Using prewarmed process 0

becomes:

0x7f81e8804008 - WebProcessPool::processForRegistrableDomain: Using prewarmed process (process=0x1471c2a00, PID=64197)

No new tests - no added or changed functionality.

  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::applicationIsAboutToSuspend):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::tryTakePrewarmedProcess):
(WebKit::WebProcessPool::prewarmProcess):
(WebKit::WebProcessPool::processForRegistrableDomain):
(WebKit::WebProcessPool::didReachGoodTimeToPrewarm):
(WebKit::WebProcessPool::handleMemoryPressureWarning):
(WebKit::WebProcessPool::processForNavigation):
(WebKit::WebProcessPool::processForNavigationInternal):
(WebKit::WebProcessPool::setWebProcessHasUploads):
(WebKit::WebProcessPool::clearWebProcessHasUploads):
(WebKit::WebProcessPool::setWebProcessIsPlayingAudibleMedia):
(WebKit::WebProcessPool::clearWebProcessIsPlayingAudibleMedia):
(WebKit::WebProcessPool::setUseSeparateServiceWorkerProcess):

Location:
trunk/Source/WebKit
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r254472 r254487  
     12020-01-13  Keith Rollin  <krollin@apple.com>
     2
     3        Reformat WebProcessPool logging
     4        https://bugs.webkit.org/show_bug.cgi?id=205882
     5        <rdar://problem/58384349>
     6
     7        Reviewed by Brent Fulgham.
     8
     9        Update the format used by WebProcessPool in its RELEASE_LOG logging.
     10        Use the format used by WebPageProxy and NetworkResourceLoader, which
     11        is generally of the form:
     12
     13            <object-address> - [<values that help thread together operations>] <class>::<method>: <message and other useful values>
     14
     15        So, for example:
     16
     17            Using prewarmed process 0
     18
     19        becomes:
     20
     21            0x7f81e8804008 - WebProcessPool::processForRegistrableDomain: Using prewarmed process (process=0x1471c2a00, PID=64197)
     22
     23        No new tests - no added or changed functionality.
     24
     25        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
     26        (WebKit::WebProcessPool::applicationIsAboutToSuspend):
     27        * UIProcess/WebProcessPool.cpp:
     28        (WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
     29        (WebKit::WebProcessPool::tryTakePrewarmedProcess):
     30        (WebKit::WebProcessPool::prewarmProcess):
     31        (WebKit::WebProcessPool::processForRegistrableDomain):
     32        (WebKit::WebProcessPool::didReachGoodTimeToPrewarm):
     33        (WebKit::WebProcessPool::handleMemoryPressureWarning):
     34        (WebKit::WebProcessPool::processForNavigation):
     35        (WebKit::WebProcessPool::processForNavigationInternal):
     36        (WebKit::WebProcessPool::setWebProcessHasUploads):
     37        (WebKit::WebProcessPool::clearWebProcessHasUploads):
     38        (WebKit::WebProcessPool::setWebProcessIsPlayingAudibleMedia):
     39        (WebKit::WebProcessPool::clearWebProcessIsPlayingAudibleMedia):
     40        (WebKit::WebProcessPool::setUseSeparateServiceWorkerProcess):
     41
    1422020-01-13  Kate Cheney  <katherine_cheney@apple.com>
    243
  • trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm

    r254433 r254487  
    108108#endif
    109109
     110#define WEBPROCESSPOOL_RELEASE_LOG(channel, fmt, ...) RELEASE_LOG(channel, "%p - WebProcessPool::" fmt, this, ##__VA_ARGS__)
     111
    110112namespace WebKit {
    111113using namespace WebCore;
     
    689691void WebProcessPool::applicationIsAboutToSuspend()
    690692{
    691     RELEASE_LOG(ProcessSuspension, "WebProcessPool::applicationIsAboutToSuspend() Terminating non-critical processes");
     693    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "applicationIsAboutToSuspend: Terminating non-critical processes");
    692694
    693695    m_backForwardCache->pruneToSize(1);
  • trunk/Source/WebKit/UIProcess/WebProcessPool.cpp

    r254433 r254487  
    137137#endif
    138138
     139#define WEBPROCESSPOOL_RELEASE_LOG(channel, fmt, ...) RELEASE_LOG(channel, "%p - WebProcessPool::" fmt, this, ##__VA_ARGS__)
     140#define WEBPROCESSPOOL_RELEASE_LOG_ERROR(channel, fmt, ...) RELEASE_LOG_ERROR(channel, "%p - WebProcessPool::" fmt, this, ##__VA_ARGS__)
     141#define WEBPROCESSPOOL_RELEASE_LOG_IF_ALLOWED(channel, fmt, ...) RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), channel, "%p - WebProcessPool::" fmt, this, ##__VA_ARGS__)
     142
    139143namespace WebKit {
    140144using namespace WebCore;
     
    740744    RegistrableDomainWithSessionID registrableDomainWithSessionID { RegistrableDomain { registrableDomain }, sessionID };
    741745    if (m_serviceWorkerProcesses.contains(registrableDomainWithSessionID)) {
    742         RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), ServiceWorker, "WebProcessPool::establishWorkerContextConnectionToNetworkProcess process already created");
     746        WEBPROCESSPOOL_RELEASE_LOG_IF_ALLOWED(ServiceWorker, "establishWorkerContextConnectionToNetworkProcess process already created");
    743747        return;
    744748    }
     
    760764            serviceWorkerProcessProxy->enableServiceWorkers(userContentControllerIdentifierForServiceWorkers());
    761765
    762             RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), ServiceWorker, "WebProcessPool::establishWorkerContextConnectionToNetworkProcess reusing an existing web process %p, process identifier %d", serviceWorkerProcessProxy, serviceWorkerProcessProxy->processIdentifier());
     766            WEBPROCESSPOOL_RELEASE_LOG_IF_ALLOWED(ServiceWorker, "establishWorkerContextConnectionToNetworkProcess reusing an existing web process (process=%p, PID=%d)", serviceWorkerProcessProxy, serviceWorkerProcessProxy->processIdentifier());
    763767            break;
    764768        }
     
    769773        serviceWorkerProcessProxy = newProcessProxy.ptr();
    770774
    771         RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), ServiceWorker, "WebProcessPool::establishWorkerContextConnectionToNetworkProcess creating a new service worker process %p, process identifier %d", serviceWorkerProcessProxy, serviceWorkerProcessProxy->processIdentifier());
     775        WEBPROCESSPOOL_RELEASE_LOG_IF_ALLOWED(ServiceWorker, "establishWorkerContextConnectionToNetworkProcess creating a new service worker process (proces=%p, PID=%d)", serviceWorkerProcessProxy, serviceWorkerProcessProxy->processIdentifier());
    772776
    773777        initializeNewWebProcess(newProcessProxy, websiteDataStore);
     
    848852    // from suspension) so make sure the process is still running here before deciding to use it.
    849853    if (m_prewarmedProcess->wasTerminated()) {
    850         RELEASE_LOG_ERROR(Process, "Not using prewarmed process %d because it has been terminated", m_prewarmedProcess->processIdentifier());
     854        WEBPROCESSPOOL_RELEASE_LOG_ERROR(Process, "tryTakePrewarmedProcess: Not using prewarmed process because it has been terminated (process=%p, PID=%d)", m_prewarmedProcess, m_prewarmedProcess->processIdentifier());
    851855        m_prewarmedProcess = nullptr;
    852856        return nullptr;
     
    10751079        return;
    10761080
    1077     RELEASE_LOG(PerformanceLogging, "Prewarming a WebProcess for performance");
     1081    WEBPROCESSPOOL_RELEASE_LOG(PerformanceLogging, "prewarmProcess: Prewarming a WebProcess for performance");
    10781082    createNewWebProcess(nullptr, WebProcessProxy::IsPrewarmed::Yes);
    10791083}
     
    11781182        // Check if we have a suspended page for the given registrable domain and use its process if we do, for performance reasons.
    11791183        if (auto process = SuspendedPageProxy::findReusableSuspendedPageProcess(*this, registrableDomain, websiteDataStore)) {
    1180             RELEASE_LOG(ProcessSwapping, "Using WebProcess %i from a SuspendedPage", process->processIdentifier());
     1184            WEBPROCESSPOOL_RELEASE_LOG(ProcessSwapping, "processForRegistrableDomain: Using WebProcess from a SuspendedPage (process=%p, PID=%i)", process.get(), process->processIdentifier());
    11811185            return *process;
    11821186        }
     
    11841188
    11851189    if (auto process = tryTakePrewarmedProcess(websiteDataStore)) {
    1186         RELEASE_LOG(ProcessSwapping, "Using prewarmed process %i", process->processIdentifier());
     1190        WEBPROCESSPOOL_RELEASE_LOG(ProcessSwapping, "processForRegistrableDomain: Using prewarmed process (process=%p, PID=%i)", process.get(), process->processIdentifier());
    11871191        if (!registrableDomain.isEmpty())
    11881192            tryPrewarmWithDomainInformation(*process, registrableDomain);
     
    13981402    if (MemoryPressureHandler::singleton().isUnderMemoryPressure()) {
    13991403        if (!m_prewarmedProcess)
    1400             RELEASE_LOG(PerformanceLogging, "Not automatically prewarming a WebProcess due to memory pressure");
     1404            WEBPROCESSPOOL_RELEASE_LOG(PerformanceLogging, "didReachGoodTimeToPrewarm: Not automatically prewarming a WebProcess due to memory pressure");
    14011405        return;
    14021406    }
     
    14191423void WebProcessPool::handleMemoryPressureWarning(Critical)
    14201424{
    1421     RELEASE_LOG(PerformanceLogging, "%p - WebProcessPool::handleMemoryPressureWarning", this);
     1425    WEBPROCESSPOOL_RELEASE_LOG(PerformanceLogging, "handleMemoryPressureWarning:");
    14221426
    14231427    // Clear back/forward cache first as processes removed from the back/forward cache will likely
     
    21372141        bool doingAnAutomaticProcessSwap = processSwapRequestedByClient == ProcessSwapRequestedByClient::No && process.ptr() != sourceProcess.ptr();
    21382142        if (doingAnAutomaticProcessSwap && !configuration().wasAutomaticProcessWarmingSetByClient() && !configuration().clientWouldBenefitFromAutomaticProcessPrewarming()) {
    2139             RELEASE_LOG(PerformanceLogging, "Automatically turning on process prewarming because the client would benefit from it");
     2143            WEBPROCESSPOOL_RELEASE_LOG(PerformanceLogging, "processForNavigation: Automatically turning on process prewarming because the client would benefit from it");
    21402144            configuration().setClientWouldBenefitFromAutomaticProcessPrewarming(true);
    21412145        }
     
    22252229    if (sourceURL.isEmpty() && page.configuration().relatedPage()) {
    22262230        sourceURL = URL { { }, page.configuration().relatedPage()->pageLoadState().url() };
    2227         RELEASE_LOG(ProcessSwapping, "Using related page %p's URL as source URL for process swap decision", page.configuration().relatedPage());
     2231        WEBPROCESSPOOL_RELEASE_LOG(ProcessSwapping, "processForNavigationInternal: Using related page's URL as source URL for process swap decision (page=%p)", page.configuration().relatedPage());
    22282232    }
    22292233
     
    23452349        return;
    23462350
    2347     RELEASE_LOG(ProcessSuspension, "Web process pid %u now has uploads in progress", (unsigned)process->processIdentifier());
     2351    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "setWebProcessHasUploads: Web process now has uploads in progress (process=%p, PID=%i)", process, process->processIdentifier());
    23482352
    23492353    if (m_processesWithUploads.isEmpty()) {
    2350         RELEASE_LOG(ProcessSuspension, "The number of uploads in progress is now one. Taking Networking and UI process assertions.");
     2354        WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "setWebProcessHasUploads: The number of uploads in progress is now one. Taking Networking and UI process assertions.");
    23512355
    23522356        ASSERT(m_networkProcess);
     
    23712375    auto* process = WebProcessProxy::processForIdentifier(processID);
    23722376    ASSERT_UNUSED(process, process);
    2373     RELEASE_LOG(ProcessSuspension, "Web process pid %u no longer has uploads in progress", (unsigned)process->processIdentifier());
     2377    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "clearWebProcessHasUploads: Web process no longer has uploads in progress (process=%p, PID=%i)", process, process->processIdentifier());
    23742378
    23752379    if (m_processesWithUploads.isEmpty()) {
    2376         RELEASE_LOG(ProcessSuspension, "The number of uploads in progress is now zero. Releasing Networking and UI process assertions.");
     2380        WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "clearWebProcessHasUploads: The number of uploads in progress is now zero. Releasing Networking and UI process assertions.");
    23772381
    23782382        if (m_networkProcess)
     
    23902394    ASSERT(process);
    23912395
    2392     RELEASE_LOG(ProcessSuspension, "Web process pid %u is now playing audible media", (unsigned)process->processIdentifier());
     2396    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "setWebProcessIsPlayingAudibleMedia: Web process is now playing audible media (process=%p, PID=%i)", process, process->processIdentifier());
    23932397
    23942398    if (m_processesPlayingAudibleMedia.isEmpty()) {
    2395         RELEASE_LOG(ProcessSuspension, "The number of processes playing audible media is now one. Taking UI process assertion.");
     2399        WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "setWebProcessIsPlayingAudibleMedia: The number of processes playing audible media is now one. Taking UI process assertion.");
    23962400
    23972401        ASSERT(!m_uiProcessMediaPlaybackAssertion);
     
    24122416    ASSERT_UNUSED(process, process);
    24132417
    2414     RELEASE_LOG(ProcessSuspension, "Web process pid %u is no longer playing audible media", (unsigned)process->processIdentifier());
     2418    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "clearWebProcessIsPlayingAudibleMedia: Web process is no longer playing audible media (process=%p, PID=%i)", process, process->processIdentifier());
    24152419
    24162420    if (m_processesPlayingAudibleMedia.isEmpty()) {
    2417         RELEASE_LOG(ProcessSuspension, "The number of processes playing audible media now zero. Releasing UI process assertion.");
     2421        WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "clearWebProcessIsPlayingAudibleMedia: The number of processes playing audible media now zero. Releasing UI process assertion.");
    24182422
    24192423        ASSERT(m_uiProcessMediaPlaybackAssertion);
     
    24272431        return;
    24282432
    2429     RELEASE_LOG(ServiceWorker, "WebProcessPool::setUseSeparateServiceWorkerProcess %d", useSeparateServiceWorkerProcess);
     2433    WEBPROCESSPOOL_RELEASE_LOG(ServiceWorker, "setUseSeparateServiceWorkerProcess: (useSeparateServiceWorkerProcess=%d)", useSeparateServiceWorkerProcess);
    24302434
    24312435    m_useSeparateServiceWorkerProcess = useSeparateServiceWorkerProcess;
Note: See TracChangeset for help on using the changeset viewer.