Changes

no edit summary
Line 510: Line 510:  
         mw.hook("wikipage.collapsibleContent").add(updateContent);
 
         mw.hook("wikipage.collapsibleContent").add(updateContent);
   −
function showPageSizeWarning() {
+
function addPageStats() {
var newpp = $(".mw-parser-output").contents().filter(function () { return this.nodeType === 8 && this.data.match(/Post‐expand include size: (\d+)\/(\d+) bytes/); });
+
if (mw.user.isAnon() || !$('.mw-indicators').length) return;
 +
var newpp = $('.mw-parser-output').contents().filter(function () { return this.nodeType === 8 && this.data.match(/Post‐expand include size: (.+?)\/(.+?) bytes/); });
 
if (!newpp.length) return;
 
if (!newpp.length) return;
 
newpp = newpp[0].data;
 
newpp = newpp[0].data;
 +
 +
var time_usage = newpp.match(/Real time usage: (.+?) seconds/) || [0, 0];
 
var page_size = newpp.match(/Post‐expand include size: (.+?)\/(.+?) bytes/) || [0, 0, 1];
 
var page_size = newpp.match(/Post‐expand include size: (.+?)\/(.+?) bytes/) || [0, 0, 1];
 +
var lua_memory = newpp.match(/Lua memory usage: (.+?) MB\/(.+?) MB/) || [0, 0, 1];
 
var lua_time = newpp.match(/Lua time usage: (.+?)\/(.+?) seconds/) || [0, 0, 1];
 
var lua_time = newpp.match(/Lua time usage: (.+?)\/(.+?) seconds/) || [0, 0, 1];
var lua_memory = newpp.match(/Lua memory usage: (.+?) MB\/(.+?) MB/) || [0, 0, 1];
+
time_usage = Math.round(time_usage[1])
 
var page_size_usage = Math.round(100 * +page_size[1] / +page_size[2]);
 
var page_size_usage = Math.round(100 * +page_size[1] / +page_size[2]);
 +
var lua_memory_usage = Math.round(100 * +lua_memory[1] / +lua_memory[2]);
 
var lua_time_usage = Math.round(100 * +lua_time[1] / +lua_time[2]);
 
var lua_time_usage = Math.round(100 * +lua_time[1] / +lua_time[2]);
var lua_memory_usage = Math.round(100 * +lua_memory[1] / +lua_memory[2]);
+
 
var style = 'margin-top:5px;margin-bottom:5px;margin-left:auto;margin-right:auto;padding:5px;width:50%;text-align:center';
+
var reports = [];
$('#content').prepend('<div id="red-report"></div>');
+
if (time_usage >= 10) reports.push('<div style="color:darkred">' + time_usage + '+ seconds</div>');
$('#content').after('<div id="green-report" style="margin-left:168px"></div>');
+
else if (time_usage >= 5) reports.push('<div style="color:purple">' + time_usage + '+ seconds</div>');
if (lua_time_usage >= 90) {
+
if (page_size_usage >= 90) reports.push('<div style="color:darkred">' + page_size_usage + '% page size</div>');
$('#red-report').prepend('<pre style="color:red;' + style + '">Lua time: ' + lua_time_usage + '%</pre>');
+
else if (page_size_usage >= 50) reports.push('<div style="color:purple">' + page_size_usage + '% page size</div>');
} else {
+
if (lua_memory_usage >= 90) reports.push('<div style="color:darkred">' + lua_memory_usage + '% lua memory</div>');
$('#green-report').prepend('<pre style="color:green;' + style + '">Lua time: ' + lua_time_usage + '%</pre>');
+
else if (lua_memory_usage >= 50) reports.push('<div style="color:purple">' + lua_memory_usage + '% lua memory</div>');
}
+
if (lua_time_usage >= 90) reports.push('<div style="color:darkred">' + lua_time_usage + '% lua time</div>');
if (lua_memory_usage >= 90) {
+
else if (lua_time_usage >= 50) reports.push('<div style="color:purple">' + lua_time_usage + '% lua time</div>');
$('#red-report').prepend('<pre style="color:red;' + style + '">Lua memory: ' + lua_memory_usage + '%</pre>');
+
 
} else {
+
$('.mw-indicators').prepend('<pre class="page-stats" style="text-align:center;border-radius:10px;padding:10px">' + reports.join('') + '</pre>');
$('#green-report').prepend('<pre style="color:green;' + style + '">Lua memory: ' + lua_memory_usage + '%</pre>');
  −
}
  −
if (page_size_usage >= 90) {
  −
$('#red-report').prepend('<pre style="color:red;' + style + '">Page size: ' + page_size_usage + '%</pre>');
  −
} else {
  −
$('#green-report').prepend('<pre style="color:green;' + style + '">Page size: ' + page_size_usage + '%</pre>');
  −
}
   
}
 
}
   −
showPageSizeWarning();
+
addPageStats();
    
     });
 
     });
    
}(mediaWiki, jQuery));
 
}(mediaWiki, jQuery));
7,212

edits