Distinguish GET from POST for PostSend expectations
authorAaron Schulz <aschulz@wikimedia.org>
Thu, 28 Sep 2017 10:05:03 +0000 (12:05 +0200)
committerAaron Schulz <aschulz@wikimedia.org>
Thu, 28 Sep 2017 10:05:03 +0000 (12:05 +0200)
This avoids needless log entries for POST requests.

Bug: T166199
Change-Id: I515fde1f619f7f016d08b7c270a1c155ee171bf9

includes/DefaultSettings.php
includes/MediaWiki.php

index d462228..780976a 100644 (file)
@@ -6146,8 +6146,8 @@ $wgTrxProfilerLimits = [
                'writes' => 0,
                'readQueryTime' => 5
        ],
-       // Deferred updates that run after HTTP response is sent
-       'PostSend' => [
+       // Deferred updates that run after HTTP response is sent for GET requests
+       'PostSend-GET' => [
                'readQueryTime' => 5,
                'writeQueryTime' => 1,
                'maxAffected' => 1000,
@@ -6155,6 +6155,12 @@ $wgTrxProfilerLimits = [
                'masterConns' => 0,
                'writes' => 0,
        ],
+       // Deferred updates that run after HTTP response is sent for POST requests
+       'PostSend-POST' => [
+               'readQueryTime' => 5,
+               'writeQueryTime' => 1,
+               'maxAffected' => 1000
+       ],
        // Background job runner
        'JobRunner' => [
                'readQueryTime' => 30,
index 0f40c19..43de4ba 100644 (file)
@@ -884,7 +884,9 @@ class MediaWiki {
                $trxProfiler = Profiler::instance()->getTransactionProfiler();
                $trxProfiler->resetExpectations();
                $trxProfiler->setExpectations(
-                       $this->config->get( 'TrxProfilerLimits' )['PostSend'],
+                       $this->context->getRequest()->hasSafeMethod()
+                               ? $this->config->get( 'TrxProfilerLimits' )['PostSend-GET']
+                               : $this->config->get( 'TrxProfilerLimits' )['PostSend-POST'],
                        __METHOD__
                );