Merge pull request #31 from staabm/runtime-info
added server-side runtime information (memory, rendertime) into the cons...
This commit is contained in:
@@ -70,11 +70,25 @@ if (isset($_POST['code'])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ob_start();
|
ob_start();
|
||||||
|
$start = microtime(true);
|
||||||
|
$memBefore = memory_get_usage(true);
|
||||||
|
|
||||||
eval($code);
|
eval($code);
|
||||||
$debugOutput = ob_get_clean();
|
|
||||||
|
// compare with peak, because regular memory could be free'd already
|
||||||
|
$memAfter = memory_get_peak_usage(true);
|
||||||
|
$end = microtime(true);
|
||||||
|
$debugOutput .= ob_get_clean();
|
||||||
|
|
||||||
if (isset($_GET['js'])) {
|
if (isset($_GET['js'])) {
|
||||||
header('Content-Type: text/plain');
|
header('Content-Type: text/plain');
|
||||||
|
|
||||||
|
$memory = sprintf('%.3f', ($memAfter - $memBefore) / 1024.0 / 1024.0); // in MB
|
||||||
|
$rendertime = sprintf('%.3f', (($end - $start) * 1000)); // in ms
|
||||||
|
|
||||||
|
header('X-Memory-Usage: '. $memory);
|
||||||
|
header('X-Rendertime: '. $rendertime);
|
||||||
|
|
||||||
echo $debugOutput;
|
echo $debugOutput;
|
||||||
die('#end-php-console-output#');
|
die('#end-php-console-output#');
|
||||||
}
|
}
|
||||||
@@ -127,6 +141,7 @@ if (isset($_POST['code'])) {
|
|||||||
</object>
|
</object>
|
||||||
</span>
|
</span>
|
||||||
<a href="" class="reset">Reset</a>
|
<a href="" class="reset">Reset</a>
|
||||||
|
<span class="runtime-info"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<input type="submit" name="subm" value="Try this!" />
|
<input type="submit" name="subm" value="Try this!" />
|
||||||
|
|||||||
+11
-2
@@ -104,8 +104,17 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
// eval server-side
|
// eval server-side
|
||||||
$.post('?js=1', { code: editor.getSession().getValue() }, function (res) {
|
$.post('?js=1', { code: editor.getSession().getValue() }, function (res, status, jqXHR) {
|
||||||
if (res.match(/#end-php-console-output#$/)) {
|
var mem = jqXHR.getResponseHeader("X-Memory-Usage") || "",
|
||||||
|
rendertime = jqXHR.getResponseHeader("X-Rendertime") || "";
|
||||||
|
|
||||||
|
if (mem || rendertime) {
|
||||||
|
$('.statusbar .runtime-info').text('Memory usage: '+ mem + ' MB, Rendertime: ' + rendertime + 'ms');
|
||||||
|
} else {
|
||||||
|
$('.statusbar .runtime-info').text('');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (res.match(/#end-php-console-output#$/)) {
|
||||||
var result = res.substring(0, res.length - 24);
|
var result = res.substring(0, res.length - 24);
|
||||||
$.each(controlChars, function (identifier, regex) {
|
$.each(controlChars, function (identifier, regex) {
|
||||||
result = result.replace(regex, '<span class="control-char">' + identifier + '</span>');
|
result = result.replace(regex, '<span class="control-char">' + identifier + '</span>');
|
||||||
|
|||||||
@@ -104,4 +104,11 @@ a {
|
|||||||
-webkit-border-radius: 3px;
|
-webkit-border-radius: 3px;
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
padding: 1px 2px;
|
padding: 1px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.statusbar .runtime-info {
|
||||||
|
text-align: right;
|
||||||
|
float: right;
|
||||||
|
clear: right;
|
||||||
|
width: 350px;
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user