The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
vbMicroStats: page load time, queries, GZIP and PHP version Details »» | |||||||||||||||||||||||||||
vbMicroStats: page load time, queries, GZIP and PHP version
Developer Last Online: Nov 2023
[high]Looking for VB3 version? Is here.[/high]
This hack will add at the bottom of each vBulletin(powered) page the following stats: - load time of specified page in microseconds (with custom no. of digits to show) - number of queries executed - server GZIP library compression status - vBulletin DEBUG mode - PHP version - PHP percent page usage - MySQL percent page usage - Server Load [high]This is not only estethic, it will also help you troubleshoot any wierd queries that you have in your scripts. The hack is template based so you can edit it the way you want in few seconds.[/high] NOTE: From users experiences, this hack will work only with PHP 4.0.6 or higher. Let me know if it works with a lower PHP version. THE FIX FOR VB2.3.0 IS HERE. HACK UPDATES Version 2.1 ------------------------------------ Changes: - added Server Load NOTE: I spoked with Kevin 'tubedogg' from vBulletin Support team and he explained to me that not all the servers are configured to support the [high]@exec("uptime")[/high]. Contact your host for more details and ask them about this issue. For a full explanation of your 3 server load values, read more here. *If you want to have the stats viewable only by admins, read this post. Version 2.0 ------------------------------------ Changes: - added vBulletin DEBUG Mode - removed the Details link - cleaned a little the code to match VB2.2.6 - better explanations into the install file. Version 1.7 ------------------------------------ [high]VB2.2.5:[/high] Minor change in admin/db_mysql.php. Read more here on how to update your hack. Minor change in forum/global.php. Read more here on how to update your hack. Changes: - corrected negative values on certain servers. Version 1.6 ------------------------------------ Changes: - PHP version and GZIP library status viewable only to admin. - added a link to Detailed Stats View (generated by vBulletin), for that specific page. Only admins can view that link. To see how it looks a Detailed View, click here. Version 1.5 ------------------------------------ Added: - GZIP library status is now related to your vBulletion options. - GZIP library compression level. Version 1.4 ------------------------------------ Bugs corrected: - GZIP library status not displayed properly on certain servers. Version 1.3 ------------------------------------ Bugs corrected: - vbPortal display code in modules The hack is template based now. All you have to do is call it with the {getmicrostats} string, anywhere you want (for example in footer). You also have the choice to install it as template based or coded directly into your functions.php file. Version 1.2 ------------------------------------ Added the PHP and MySQL page percentage. (Addon by Chen 'FireFly' Avinadav) Version 1.1 ------------------------------------ vB.org decided to add this hack to their board. Bugs corrected: - incorrect time load - incorrect query count You like this hack? Please click on the [high]Install[/high] button. To download the latest version of this hack, click below: Show Your Support
|
Comments |
#662
|
||||
|
||||
doesn't work... still get the redeclare error.
Fatal error: Cannot redeclare serveruptime() in /home/www/html/forum/admin/functions.php on line 518 |
#663
|
|||
|
|||
worked perfect first time using vb 2.2.9
Page generated in 0.33490300 seconds (43.71% PHP - 56.29% MySQL) with 21 queries. [Debug Mode OFF] [PHP v4.2.3] [GZIP enabled - level 1] [Server Load: 1.05 ? 1.10 : 1.08] is it possible for the admin only stuff to be view by anyone ? |
#664
|
||||
|
||||
Quote:
Code:
function uptime() { $fd = fopen( '/proc/uptime' , 'r' ); $ar_buf = split( ' ' , fgets( $fd , 4096 ) ); fclose( $fd ); $sys_ticks = trim( $ar_buf[0] ); $min = $sys_ticks / 60; $hours = $min / 60; $days = floor( $hours / 24 ); $hours = floor( $hours - ( $days * 24 ) ); $min = floor( $min - ( $days * 60 * 24 ) - ( $hours * 60 ) ); if ( $days != 1 ) { $value = $days . ' days, '; } else { $value = $days . ' day, '; } if ( $hours != 1 ) { $value .= $hours . ' hours and '; } else { $value .= $hours . ' hour and '; } if ( $min != 1 ) { $value .= $min . ' minutes'; } else { $value .= $min . ' minute'; } return $value; } if ( $stats = @exec( 'uptime' ) ) { preg_match( '/averages?: ([0-9\.]+),[\s]+([0-9\.]+) , [\s]+([0-9\.]+)/' , $stats , $regs ); $serveruptime = uptime(); $serverload = ' [Server Load: '.$regs[1].' : '.$regs[2].' : '.$regs[3].'][Server Uptime: ' . $serveruptime . ']'; } else { $serverload = ''; } |
#665
|
||||
|
||||
Teck, how would we get the serveruptime to show in the admin part of microstats at the bottom of the page?
|
#666
|
||||
|
||||
Boofo, find:
Code:
if ($stats=@exec('uptime')) { preg_match('/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/',$stats,$regs); $serverload=' [Server Load: '.$regs[1].' : '.$regs[2].' : '.$regs[3].']'; } else { $serverload=''; } Code:
if ( $stats = @exec( 'uptime' ) ) { preg_match( '/averages?: ([0-9\.]+) , [\s]+([0-9\.]+) , [\s]+([0-9\.]+)/' , $stats , $regs ); function getserveruptime() { $fd = fopen( '/proc/uptime' , 'r' ); $ar_buf = split( ' ' , fgets( $fd , 4096 ) ); fclose( $fd ); $sys_ticks = trim( $ar_buf[0] ); $min = $sys_ticks / 60; $hours = $min / 60; $days = floor( $hours / 24 ); $hours = floor( $hours - ( $days * 24 ) ); $min = floor( $min - ( $days * 60 * 24 ) - ( $hours * 60 ) ); if ( $days != 1 ) { $value = $days . ' days, '; } else { $value = $days . ' day, '; } if ( $hours != 1 ) { $value .= $hours . ' hours and '; } else { $value .= $hours . ' hour and '; } if ( $min != 1 ) { $value .= $min . ' minutes'; } else { $value .= $min . ' minute'; } return $value; } $serveruptime = getserveruptime(); $serverload = ' [Server Load: ' . $regs[1] . ' : ' . $regs[2] . ' : ' . $regs[3] . '] [Server UpTime: ' . $serveruptime . ']'; } else { $serverload = ''; } |
#667
|
||||
|
||||
Thanks, Floren, When I added the code you gave me, my Server Load has no numbers after it now. It only shows : :. Any ideas? And how can I get it to show on the next line?
|
#668
|
||||
|
||||
yeah TECK, it works but then doesn't show the server load averages, just : :
|
#669
|
||||
|
||||
That's really wierd.. I simply added a function, so it should display it...
Code:
function getserveruptime() { $fd = fopen( '/proc/uptime' , 'r' ); $ar_buf = split( ' ' , fgets( $fd , 4096 ) ); fclose( $fd ); $sys_ticks = trim( $ar_buf[0] ); $min = $sys_ticks / 60; $hours = $min / 60; $days = floor( $hours / 24 ); $hours = floor( $hours - ( $days * 24 ) ); $min = floor( $min - ( $days * 60 * 24 ) - ( $hours * 60 ) ); if ( $days != 1 ) { $value = $days . ' days, '; } else { $value = $days . ' day, '; } if ( $hours != 1 ) { $value .= $hours . ' hours and '; } else { $value .= $hours . ' hour and '; } if ( $min != 1 ) { $value .= $min . ' minutes'; } else { $value .= $min . ' minute'; } return $value; } $serveruptime = getserveruptime(); Boofo, simply call $serveruptime anywhere you want... you could use this: '][high]<br />[/high][Server UpTime: ' . $serveruptime . ']'; from the line listed above, it will display it under the actual line of admin stats... let me know if everything is ok... simply add the above function below this line: Code:
preg_match('/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/',$stats,$regs); |
#670
|
||||
|
||||
Thank you, Floren. It worked great! Once again you have proven yourself the Microstats Wizard. This is why it won Hack of the Month. If they ever have a hack of the year contest, you got my vote!
One last question (2 actually). What is the difference between Server Uptime and MySQL uptime? I have both of them installed and they are about 5 days off from one another. Also, could you show me how to add (I know this will sound stupid) seconds to the uptime, please? |
#671
|
||||
|
||||
1. There is a link I posted in the first thread that will explain the diff between, is done by Eva2000 at VB.com site.
2. For seconds, use this: Code:
$sec = floor( $sys_ticks - ( $days * 60 * 24 ) - ( $hours * 60 ) - ( $min * 60 ) ); Code:
if ( $sec != 1 ) { $value .= $sec . ' seconds'; } else { $value .= $sec . ' second'; } |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|