jenkins-bot has submitted this change and it was merged. Change subject: mw.inspect: add report for mw.loader.store ......................................................................
mw.inspect: add report for mw.loader.store Adds a 'store' report to mw.inspect, which outputs: * Whether localStorage module caching is enabled. * Cache hit / miss counts. * Number of items purged from the cache. * Total size of the cache blob in localStorage. Rather than duplicate the logic that converted a numeric byte count to a human-readable format, I moved it to new helper function: humanSize. Change-Id: I5b98322ba843f32e6a99829b4cf3d8fb0bc61514 --- M resources/mediawiki/mediawiki.inspect.js 1 file changed, 25 insertions(+), 3 deletions(-) Approvals: Bartosz Dziewoński: Looks good to me, approved jenkins-bot: Verified diff --git a/resources/mediawiki/mediawiki.inspect.js b/resources/mediawiki/mediawiki.inspect.js index 668aa2a..d93254b 100644 --- a/resources/mediawiki/mediawiki.inspect.js +++ b/resources/mediawiki/mediawiki.inspect.js @@ -14,6 +14,13 @@ } ); } + function humanSize( bytes ) { + if ( !$.isNumeric( bytes ) || bytes === 0 ) { return bytes; } + var i = 0, units = [ '', ' kB', ' MB', ' GB', ' TB', ' PB' ]; + for ( ; bytes >= 1024; bytes /= 1024 ) { i++; } + return bytes.toFixed( 1 ) + units[i]; + } + /** * @class mw.inspect * @singleton @@ -181,9 +188,7 @@ // Convert size to human-readable string. $.each( modules, function ( i, module ) { - module.size = module.size > 1024 ? - ( module.size / 1024 ).toFixed( 2 ) + ' KB' : - ( module.size !== null ? module.size + ' B' : null ); + module.size = humanSize( module.size ); } ); return modules; @@ -214,6 +219,23 @@ } ); sortByProperty( modules, 'allSelectors', true ); return modules; + }, + + /** + * Report stats on mw.loader.store: the number of localStorage + * cache hits and misses, the number of items purged from the + * cache, and the total size of the module blob in localStorage. + */ + store: function () { + var raw, stats = { enabled: mw.loader.store.enabled }; + if ( stats.enabled ) { + $.extend( stats, mw.loader.store.stats ); + try { + raw = localStorage.getItem( mw.loader.store.getStoreKey() ); + stats.totalSize = humanSize( $.byteLength( raw ) ); + } catch (e) {} + } + return [stats]; } } }; -- To view, visit https://gerrit.wikimedia.org/r/92895 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I5b98322ba843f32e6a99829b4cf3d8fb0bc61514 Gerrit-PatchSet: 7 Gerrit-Project: mediawiki/core Gerrit-Branch: master Gerrit-Owner: Ori.livneh <o...@wikimedia.org> Gerrit-Reviewer: Bartosz Dziewoński <matma....@gmail.com> Gerrit-Reviewer: Mattflaschen <mflasc...@wikimedia.org> 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