Merge "API: Avoid duplicate logs to api-feature-usage"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 5 Mar 2019 23:14:19 +0000 (23:14 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 5 Mar 2019 23:14:19 +0000 (23:14 +0000)
includes/api/ApiBase.php

index 2ec4570..9b3d116 100644 (file)
@@ -2225,6 +2225,15 @@ abstract class ApiBase extends ContextSource {
         * @param string $feature Feature being used.
         */
        public function logFeatureUsage( $feature ) {
+               static $loggedFeatures = [];
+
+               // Only log each feature once per request. We can get multiple calls from calls to
+               // extractRequestParams() with different values for 'parseLimit', for example.
+               if ( isset( $loggedFeatures[$feature] ) ) {
+                       return;
+               }
+               $loggedFeatures[$feature] = true;
+
                $request = $this->getRequest();
                $ctx = [
                        'feature' => $feature,