Title: [255004] branches/safari-609-branch/Source/WebKit
Revision
255004
Author
[email protected]
Date
2020-01-23 13:43:15 -0800 (Thu, 23 Jan 2020)

Log Message

Cherry-pick r254487. rdar://problem/58606185

    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):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254487 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-609-branch/Source/WebKit/ChangeLog (255003 => 255004)


--- branches/safari-609-branch/Source/WebKit/ChangeLog	2020-01-23 21:43:12 UTC (rev 255003)
+++ branches/safari-609-branch/Source/WebKit/ChangeLog	2020-01-23 21:43:15 UTC (rev 255004)
@@ -1,5 +1,92 @@
 2020-01-23  Russell Epstein  <[email protected]>
 
+        Cherry-pick r254487. rdar://problem/58606185
+
+    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):
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254487 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2020-01-13  Keith Rollin  <[email protected]>
+
+            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):
+
+2020-01-23  Russell Epstein  <[email protected]>
+
         Cherry-pick r254296. rdar://problem/58606275
 
     Resource Load Statistics: Add timing information to WebPageProxy::logFrameNavigation() to detect delayed client-side redirects

Modified: branches/safari-609-branch/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (255003 => 255004)


--- branches/safari-609-branch/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2020-01-23 21:43:12 UTC (rev 255003)
+++ branches/safari-609-branch/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2020-01-23 21:43:15 UTC (rev 255004)
@@ -107,6 +107,8 @@
 SOFT_LINK(BackBoardServices, BKSDisplayBrightnessGetCurrent, float, (), ());
 #endif
 
+#define WEBPROCESSPOOL_RELEASE_LOG(channel, fmt, ...) RELEASE_LOG(channel, "%p - WebProcessPool::" fmt, this, ##__VA_ARGS__)
+
 namespace WebKit {
 using namespace WebCore;
 
@@ -678,7 +680,7 @@
 #if PLATFORM(IOS_FAMILY)
 void WebProcessPool::applicationIsAboutToSuspend()
 {
-    RELEASE_LOG(ProcessSuspension, "WebProcessPool::applicationIsAboutToSuspend() Terminating non-critical processes");
+    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "applicationIsAboutToSuspend: Terminating non-critical processes");
 
     m_backForwardCache->pruneToSize(1);
     m_webProcessCache->clear();

Modified: branches/safari-609-branch/Source/WebKit/UIProcess/WebProcessPool.cpp (255003 => 255004)


--- branches/safari-609-branch/Source/WebKit/UIProcess/WebProcessPool.cpp	2020-01-23 21:43:12 UTC (rev 255003)
+++ branches/safari-609-branch/Source/WebKit/UIProcess/WebProcessPool.cpp	2020-01-23 21:43:15 UTC (rev 255004)
@@ -136,6 +136,10 @@
 #include <wtf/RefCountedLeakCounter.h>
 #endif
 
+#define WEBPROCESSPOOL_RELEASE_LOG(channel, fmt, ...) RELEASE_LOG(channel, "%p - WebProcessPool::" fmt, this, ##__VA_ARGS__)
+#define WEBPROCESSPOOL_RELEASE_LOG_ERROR(channel, fmt, ...) RELEASE_LOG_ERROR(channel, "%p - WebProcessPool::" fmt, this, ##__VA_ARGS__)
+#define WEBPROCESSPOOL_RELEASE_LOG_IF_ALLOWED(channel, fmt, ...) RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), channel, "%p - WebProcessPool::" fmt, this, ##__VA_ARGS__)
+
 namespace WebKit {
 using namespace WebCore;
 
@@ -739,7 +743,7 @@
 
     RegistrableDomainWithSessionID registrableDomainWithSessionID { RegistrableDomain { registrableDomain }, sessionID };
     if (m_serviceWorkerProcesses.contains(registrableDomainWithSessionID)) {
-        RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), ServiceWorker, "WebProcessPool::establishWorkerContextConnectionToNetworkProcess process already created");
+        WEBPROCESSPOOL_RELEASE_LOG_IF_ALLOWED(ServiceWorker, "establishWorkerContextConnectionToNetworkProcess process already created");
         return;
     }
 
@@ -759,7 +763,7 @@
             serviceWorkerProcessProxy = process.get();
             serviceWorkerProcessProxy->enableServiceWorkers(userContentControllerIdentifierForServiceWorkers());
 
-            RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), ServiceWorker, "WebProcessPool::establishWorkerContextConnectionToNetworkProcess reusing an existing web process %p, process identifier %d", serviceWorkerProcessProxy, serviceWorkerProcessProxy->processIdentifier());
+            WEBPROCESSPOOL_RELEASE_LOG_IF_ALLOWED(ServiceWorker, "establishWorkerContextConnectionToNetworkProcess reusing an existing web process (process=%p, PID=%d)", serviceWorkerProcessProxy, serviceWorkerProcessProxy->processIdentifier());
             break;
         }
     }
@@ -768,7 +772,7 @@
         auto newProcessProxy = WebProcessProxy::createForServiceWorkers(*this, WTFMove(registrableDomain), *websiteDataStore);
         serviceWorkerProcessProxy = newProcessProxy.ptr();
 
-        RELEASE_LOG_IF(sessionID.isAlwaysOnLoggingAllowed(), ServiceWorker, "WebProcessPool::establishWorkerContextConnectionToNetworkProcess creating a new service worker process %p, process identifier %d", serviceWorkerProcessProxy, serviceWorkerProcessProxy->processIdentifier());
+        WEBPROCESSPOOL_RELEASE_LOG_IF_ALLOWED(ServiceWorker, "establishWorkerContextConnectionToNetworkProcess creating a new service worker process (proces=%p, PID=%d)", serviceWorkerProcessProxy, serviceWorkerProcessProxy->processIdentifier());
 
         initializeNewWebProcess(newProcessProxy, websiteDataStore);
         m_processes.append(WTFMove(newProcessProxy));
@@ -847,7 +851,7 @@
     // There is sometimes a delay until we get notified that a prewarmed process has been terminated (e.g. after resuming
     // from suspension) so make sure the process is still running here before deciding to use it.
     if (m_prewarmedProcess->wasTerminated()) {
-        RELEASE_LOG_ERROR(Process, "Not using prewarmed process %d because it has been terminated", m_prewarmedProcess->processIdentifier());
+        WEBPROCESSPOOL_RELEASE_LOG_ERROR(Process, "tryTakePrewarmedProcess: Not using prewarmed process because it has been terminated (process=%p, PID=%d)", m_prewarmedProcess, m_prewarmedProcess->processIdentifier());
         m_prewarmedProcess = nullptr;
         return nullptr;
     }
@@ -1081,7 +1085,7 @@
     if (m_prewarmedProcess)
         return;
 
-    RELEASE_LOG(PerformanceLogging, "Prewarming a WebProcess for performance");
+    WEBPROCESSPOOL_RELEASE_LOG(PerformanceLogging, "prewarmProcess: Prewarming a WebProcess for performance");
     createNewWebProcess(nullptr, WebProcessProxy::IsPrewarmed::Yes);
 }
 
@@ -1184,13 +1188,13 @@
 
         // Check if we have a suspended page for the given registrable domain and use its process if we do, for performance reasons.
         if (auto process = SuspendedPageProxy::findReusableSuspendedPageProcess(*this, registrableDomain, websiteDataStore)) {
-            RELEASE_LOG(ProcessSwapping, "Using WebProcess %i from a SuspendedPage", process->processIdentifier());
+            WEBPROCESSPOOL_RELEASE_LOG(ProcessSwapping, "processForRegistrableDomain: Using WebProcess from a SuspendedPage (process=%p, PID=%i)", process.get(), process->processIdentifier());
             return *process;
         }
     }
 
     if (auto process = tryTakePrewarmedProcess(websiteDataStore)) {
-        RELEASE_LOG(ProcessSwapping, "Using prewarmed process %i", process->processIdentifier());
+        WEBPROCESSPOOL_RELEASE_LOG(ProcessSwapping, "processForRegistrableDomain: Using prewarmed process (process=%p, PID=%i)", process.get(), process->processIdentifier());
         if (!registrableDomain.isEmpty())
             tryPrewarmWithDomainInformation(*process, registrableDomain);
         return *process;
@@ -1404,7 +1408,7 @@
 
     if (MemoryPressureHandler::singleton().isUnderMemoryPressure()) {
         if (!m_prewarmedProcess)
-            RELEASE_LOG(PerformanceLogging, "Not automatically prewarming a WebProcess due to memory pressure");
+            WEBPROCESSPOOL_RELEASE_LOG(PerformanceLogging, "didReachGoodTimeToPrewarm: Not automatically prewarming a WebProcess due to memory pressure");
         return;
     }
 
@@ -1425,7 +1429,7 @@
 
 void WebProcessPool::handleMemoryPressureWarning(Critical)
 {
-    RELEASE_LOG(PerformanceLogging, "%p - WebProcessPool::handleMemoryPressureWarning", this);
+    WEBPROCESSPOOL_RELEASE_LOG(PerformanceLogging, "handleMemoryPressureWarning:");
 
     // Clear back/forward cache first as processes removed from the back/forward cache will likely
     // be added to the WebProcess cache.
@@ -2143,7 +2147,7 @@
         // We are process-swapping so automatic process prewarming would be beneficial if the client has not explicitly enabled / disabled it.
         bool doingAnAutomaticProcessSwap = processSwapRequestedByClient == ProcessSwapRequestedByClient::No && process.ptr() != sourceProcess.ptr();
         if (doingAnAutomaticProcessSwap && !configuration().wasAutomaticProcessWarmingSetByClient() && !configuration().clientWouldBenefitFromAutomaticProcessPrewarming()) {
-            RELEASE_LOG(PerformanceLogging, "Automatically turning on process prewarming because the client would benefit from it");
+            WEBPROCESSPOOL_RELEASE_LOG(PerformanceLogging, "processForNavigation: Automatically turning on process prewarming because the client would benefit from it");
             configuration().setClientWouldBenefitFromAutomaticProcessPrewarming(true);
         }
 
@@ -2231,7 +2235,7 @@
 
     if (sourceURL.isEmpty() && page.configuration().relatedPage()) {
         sourceURL = URL { { }, page.configuration().relatedPage()->pageLoadState().url() };
-        RELEASE_LOG(ProcessSwapping, "Using related page %p's URL as source URL for process swap decision", page.configuration().relatedPage());
+        WEBPROCESSPOOL_RELEASE_LOG(ProcessSwapping, "processForNavigationInternal: Using related page's URL as source URL for process swap decision (page=%p)", page.configuration().relatedPage());
     }
 
     if (!sourceURL.isValid() || !targetURL.isValid() || sourceURL.isEmpty() || sourceURL.protocolIsAbout() || targetRegistrableDomain.matches(sourceURL))
@@ -2351,10 +2355,10 @@
     if (!process)
         return;
 
-    RELEASE_LOG(ProcessSuspension, "Web process pid %u now has uploads in progress", (unsigned)process->processIdentifier());
+    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "setWebProcessHasUploads: Web process now has uploads in progress (process=%p, PID=%i)", process, process->processIdentifier());
 
     if (m_processesWithUploads.isEmpty()) {
-        RELEASE_LOG(ProcessSuspension, "The number of uploads in progress is now one. Taking Networking and UI process assertions.");
+        WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "setWebProcessHasUploads: The number of uploads in progress is now one. Taking Networking and UI process assertions.");
 
         ASSERT(m_networkProcess);
         m_networkProcess->takeUploadAssertion();
@@ -2377,10 +2381,10 @@
 
     auto* process = WebProcessProxy::processForIdentifier(processID);
     ASSERT_UNUSED(process, process);
-    RELEASE_LOG(ProcessSuspension, "Web process pid %u no longer has uploads in progress", (unsigned)process->processIdentifier());
+    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "clearWebProcessHasUploads: Web process no longer has uploads in progress (process=%p, PID=%i)", process, process->processIdentifier());
 
     if (m_processesWithUploads.isEmpty()) {
-        RELEASE_LOG(ProcessSuspension, "The number of uploads in progress is now zero. Releasing Networking and UI process assertions.");
+        WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "clearWebProcessHasUploads: The number of uploads in progress is now zero. Releasing Networking and UI process assertions.");
 
         if (m_networkProcess)
             m_networkProcess->clearUploadAssertion();
@@ -2396,10 +2400,10 @@
     auto* process = WebProcessProxy::processForIdentifier(processID);
     ASSERT(process);
 
-    RELEASE_LOG(ProcessSuspension, "Web process pid %u is now playing audible media", (unsigned)process->processIdentifier());
+    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "setWebProcessIsPlayingAudibleMedia: Web process is now playing audible media (process=%p, PID=%i)", process, process->processIdentifier());
 
     if (m_processesPlayingAudibleMedia.isEmpty()) {
-        RELEASE_LOG(ProcessSuspension, "The number of processes playing audible media is now one. Taking UI process assertion.");
+        WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "setWebProcessIsPlayingAudibleMedia: The number of processes playing audible media is now one. Taking UI process assertion.");
 
         ASSERT(!m_uiProcessMediaPlaybackAssertion);
         m_uiProcessMediaPlaybackAssertion = makeUnique<ProcessAssertion>(getCurrentProcessID(), "WebKit Media Playback"_s, AssertionState::Foreground, AssertionReason::MediaPlayback);
@@ -2418,10 +2422,10 @@
     auto* process = WebProcessProxy::processForIdentifier(processID);
     ASSERT_UNUSED(process, process);
 
-    RELEASE_LOG(ProcessSuspension, "Web process pid %u is no longer playing audible media", (unsigned)process->processIdentifier());
+    WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "clearWebProcessIsPlayingAudibleMedia: Web process is no longer playing audible media (process=%p, PID=%i)", process, process->processIdentifier());
 
     if (m_processesPlayingAudibleMedia.isEmpty()) {
-        RELEASE_LOG(ProcessSuspension, "The number of processes playing audible media now zero. Releasing UI process assertion.");
+        WEBPROCESSPOOL_RELEASE_LOG(ProcessSuspension, "clearWebProcessIsPlayingAudibleMedia: The number of processes playing audible media now zero. Releasing UI process assertion.");
 
         ASSERT(m_uiProcessMediaPlaybackAssertion);
         m_uiProcessMediaPlaybackAssertion = nullptr;
@@ -2433,7 +2437,7 @@
     if (m_useSeparateServiceWorkerProcess == useSeparateServiceWorkerProcess)
         return;
 
-    RELEASE_LOG(ServiceWorker, "WebProcessPool::setUseSeparateServiceWorkerProcess %d", useSeparateServiceWorkerProcess);
+    WEBPROCESSPOOL_RELEASE_LOG(ServiceWorker, "setUseSeparateServiceWorkerProcess: (useSeparateServiceWorkerProcess=%d)", useSeparateServiceWorkerProcess);
 
     m_useSeparateServiceWorkerProcess = useSeparateServiceWorkerProcess;
 #if ENABLE(SERVICE_WORKER)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to