mw.loader.store: Count modules which fail to execute, too
authorOri Livneh <ori@wikimedia.org>
Wed, 2 Nov 2016 19:49:22 +0000 (15:49 -0400)
committerKrinkle <krinklemail@gmail.com>
Wed, 2 Nov 2016 19:54:44 +0000 (19:54 +0000)
"Failed" will probably always be either zero or one, because it is
unlikely the asyncEval error callback can ever be called more than once.
But the stats will let us verify this, and will give us an indication of
how often errors happen in general.

Change-Id: I6dea28d84bbca0f02ad8c5bf9a8e9d976622d815

resources/src/mediawiki/mediawiki.js

index 6280c95..da4c769 100644 (file)
                                                        // Depending on how corrupt the string is, it is likely that some
                                                        // modules' implement() succeeded while the ones after the error will
                                                        // never run and leave their modules in the 'loading' state forever.
+                                                       mw.loader.store.stats.failed++;
 
                                                        // Since this is an error not caused by an individual module but by
                                                        // something that infected the implement call itself, don't take any
                                        items: {},
 
                                        // Cache hit stats
-                                       stats: { hits: 0, misses: 0, expired: 0 },
+                                       stats: { hits: 0, misses: 0, expired: 0, failed: 0 },
 
                                        /**
                                         * Construct a JSON-serializable object representing the content of the store.