I made one but it old AF below is the full code for those who care
-
This reply was modified 2 years, 2 months ago by
DJABHipHop.
<?php
/*
Plugin Name: PHP Memery Stats
Plugin URI:
Description: This Plugin show how much ram PHP is Usiing
Version: 1.0
Author: My Name
Author URI: http://example.com/
License: GPLv2 or later
*/
add_action( 'wp_dashboard_setup', 'memory_usage_setup' );
function memory_usage_setup() {
wp_add_dashboard_widget(
'memory_usage-dashboard-widget',
'Memory Usage',
'memory_usage_dashboard_content',
$control_callback = null
);
}
function bytesToSize($bytes, $precision = 2)
{
$kilobyte = 1024;
$megabyte = $kilobyte * 1024;
$gigabyte = $megabyte * 1024;
$terabyte = $gigabyte * 1024;
if (($bytes >= 0) && ($bytes < $kilobyte)) {
return $bytes . ' B';
} elseif (($bytes >= $kilobyte) && ($bytes < $megabyte)) {
return round($bytes / $kilobyte, $precision) . ' KB';
} elseif (($bytes >= $megabyte) && ($bytes < $gigabyte)) {
return round($bytes / $megabyte, $precision) . ' MB';
} elseif (($bytes >= $gigabyte) && ($bytes < $terabyte)) {
return round($bytes / $gigabyte, $precision) . ' GB';
} elseif ($bytes >= $terabyte) {
return round($bytes / $terabyte, $precision) . ' TB';
} else {
return $bytes . ' B';
}
}
function get_dir_size($directory){
$size = 0;
$files= glob($directory.'/*');
foreach($files as $path){
is_file($path) && $size += filesize($path);
is_dir($path) && get_dir_size($path);
}
return $size;
}
function PluginUrl() {
//Try to use WP API if possible, introduced in WP 2.6
if (function_exists('plugins_url')) return trailingslashit(dirname(__FILE__));
//Try to find manually... can't work if wp-content was renamed or is redirected
$path = dirname(__FILE__);
$path = str_replace("\\","/",$path);
$path = trailingslashit(get_bloginfo('wpurl')) . trailingslashit(substr($path,strpos($path,"wp-content/")));
return $path;
}
function secondsToTime($seconds)
{
// extract hours
$hours = floor($seconds / (60 * 60));
// extract minutes
$divisor_for_minutes = $seconds % (60 * 60);
$minutes = floor($divisor_for_minutes / 60);
// extract the remaining seconds
$divisor_for_seconds = $divisor_for_minutes % 60;
$seconds = ceil($divisor_for_seconds);
// return the final array
$obj = array(
"h" => (int) $hours,
"m" => (int) $minutes,
"s" => (int) $seconds,
);
return implode(':', $obj);
sleep(1);
}
function get_dir_url($directory,$r="",$s="php-mem/") {
return str_replace($s,$r,$directory);
}
function memory_usage_dashboard_content() {
echo '<div id="activity-widget">';
echo '<div id="published-posts" class="activity-block">';
echo "<h4>System Info</h4>";
echo "<ul>";
echo "<li>Operating System <span>".php_uname('s')."</li>";
echo "<li>Release Name <span>".php_uname('r')."</li>";
echo "<li>Version <span>".php_uname('v')."</li>";
echo "<li>Machine Type <span>".php_uname('m')."</li>";
echo "</ul>";
echo "</div>";
echo '<div id="published-posts" class="activity-block">';
echo "<h4>Menory Usage</h4>";
echo "<ul>";
echo "<li>Total ram being used <span>".bytesToSize(memory_get_usage())."</span></li>";
echo "<li>Actule ram being used <span>".bytesToSize(memory_get_peak_usage())."</span></li>";
echo "</ul>";
echo "</div>";
echo '<div id="published-posts" class="activity-block">';
echo "<h4>Disk Space</h4>";
echo "<ul>";
echo "<li>Root directory size <span>".bytesToSize(get_dir_size("./"))."</span></li>";
echo "<li>Plugin directory size <span>".bytesToSize(get_dir_size(get_dir_url(PluginUrl())))."</span></li>";
echo "<li>Uploades directory size <span>".bytesToSize(get_dir_size(get_dir_url(PluginUrl(),"uploads/","plugins/php-mem/")))."</span></li>";
echo "<li>Themes directory size <span>".bytesToSize(get_dir_size(get_dir_url(PluginUrl(),"themes/","plugins/php-mem/")))."</span></li>";
echo "<li>Active Themes directory size <span>".bytesToSize(get_dir_size(get_dir_url(PluginUrl(),"themes/".trailingslashit(get_current_theme()),"plugins/php-mem/")))."</span></li>";
echo "</ul>";
echo "</div>";
echo '<div id="published-posts" class="activity-block">';
echo "<h4>Wordpress Speed</h4>";
echo "<ul>";
echo "<li>Query per second <span>".get_num_queries()." queries in "./*secondsToTime(*/timer_stop(1)/*)*/." seconds</span></li>";
echo "</ul>";
echo "</div>";
echo "</div>";
}
?>
Plugin Author
Bowo
(@qriouslad)
@unrealnfs thanks for the suggestion. I’ve used that plugin in the past. Looks like a good feature to add to ASE as a Pro feature to the Utilities >> Display System Summary module. Hope that’s fine. I’ll likely only add DB, site and folder sizes.
Note that I’ve done something similar as part of my other free plugin, System Dashboard, which you may also be interested in.
Thread Starter
JimJam
(@unrealnfs)
That will be great!
Also, there was a small issue with the “My Simple Space” plugin.
There is a plugin “Hide My WP Ghost – Security Plugin” with which we can change the admin URL “wp-admin” to anything else for added security. But, doing so breaks the “My Simple Space” widget. So, please do make ASE compatible with this.
Thanks for considering the feature
https://ww.wp.xz.cn/plugins/hide-my-wp/
P.S. Why not use the “Admin and Site Enhancements (ASE)” rather than just the word “Enhancement” within the WP backend? It will be great for the branding — it doesn’t matter an extra few words.
Plugin Author
Bowo
(@qriouslad)
Noted. Because the gist of ASE is in the word ‘enhancements’ and I like to keep menu item titles short and sweet. 🙂