jenkins-bot has submitted this change and it was merged.

Change subject: Log url size errors to statsd
......................................................................


Log url size errors to statsd

Previously these were silently dropped from the client.

Use a lightweight statsv increment property instead of going through
the whole EventLogging stack.

Abstract the property behind a generic 'logFailure' method to allow
consumers to invoke it directly if they have their own validation
logic that isn't expressed as part of a schema.

Bug: T112592
Change-Id: I477cd6e53ada1bb6433fede2b164368e3c41d97f
(cherry picked from commit a019982d48b63c59b94b3e376bfde672f64d9fd9)
---
M modules/ext.eventLogging.core.js
1 file changed, 15 insertions(+), 0 deletions(-)

Approvals:
  Alex Monk: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/modules/ext.eventLogging.core.js b/modules/ext.eventLogging.core.js
index ca57e5e..a11e307 100644
--- a/modules/ext.eventLogging.core.js
+++ b/modules/ext.eventLogging.core.js
@@ -225,6 +225,7 @@
                checkUrlSize: function ( schemaName, url ) {
                        if ( url.length > self.maxUrlSize ) {
                                var message = 'Url exceeds maximum length';
+                               mw.eventLog.logFailure( schemaName, 'urlSize' );
                                mw.track( 'eventlogging.error', mw.format( 
'[$1] $2', schemaName, message ) );
                                return message;
                        }
@@ -270,6 +271,20 @@
                                deferred.rejectWith( event, [ event, sizeError 
] );
                        }
                        return deferred.promise();
+               },
+
+               /**
+                * Increment the error count in statsd for this schema.
+                *
+                * Should be called instead of logEvent in case of an error.
+                *
+                * @param {string} schemaName
+                * @param {string} errorCode
+                */
+               logFailure: function ( schemaName, errorCode ) {
+                       // Record this failure as a simple counter. By default 
"counter.*" goes nowhere.
+                       // The WikimediaEvents extension sends it to statsd.
+                       mw.track( 'counter.eventlogging.client_errors.' + 
schemaName + '.' + errorCode );
                }
 
        };

-- 
To view, visit https://gerrit.wikimedia.org/r/238513
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I477cd6e53ada1bb6433fede2b164368e3c41d97f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/EventLogging
Gerrit-Branch: wmf/1.26wmf23
Gerrit-Owner: Krinkle <krinklem...@gmail.com>
Gerrit-Reviewer: Alex Monk <kren...@gmail.com>
Gerrit-Reviewer: Ori.livneh <o...@wikimedia.org>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to