Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
vbMicroStats: page load time, queries, GZIP and PHP version Details »»
vbMicroStats: page load time, queries, GZIP and PHP version
Version: 1.00, by TECK TECK is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 2.2.x Rating:
Released: 03-06-2002 Last Update: Never Installs: 594
 
No support by the author.

[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

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #662  
Old 12-05-2002, 10:32 AM
Sebastian's Avatar
Sebastian Sebastian is offline
 
Join Date: Oct 2002
Location: America
Posts: 488
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

doesn't work... still get the redeclare error.

Fatal error: Cannot redeclare serveruptime() in /home/www/html/forum/admin/functions.php on line 518
Reply With Quote
  #663  
Old 12-05-2002, 11:45 AM
Raptor Raptor is offline
 
Join Date: Nov 2001
Posts: 499
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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 ?
Reply With Quote
  #664  
Old 12-05-2002, 02:21 PM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by Sebastian
doesn't work... still get the redeclare error.


Fatal error: Cannot redeclare serveruptime() in /home/www/html/forum/admin/functions.php on line 518
Aha, you probably have my admin hack installed.
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 = '';
    }
Reply With Quote
  #665  
Old 12-05-2002, 02:33 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Teck, how would we get the serveruptime to show in the admin part of microstats at the bottom of the page?
Reply With Quote
  #666  
Old 12-05-2002, 08:02 PM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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='';
    }
Replace with:
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 = '';
    }
Reply With Quote
  #667  
Old 12-05-2002, 09:17 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #668  
Old 12-05-2002, 10:22 PM
Sebastian's Avatar
Sebastian Sebastian is offline
 
Join Date: Oct 2002
Location: America
Posts: 488
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

yeah TECK, it works but then doesn't show the server load averages, just : :
Reply With Quote
  #669  
Old 12-06-2002, 09:17 PM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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();
The rest is unchanged.
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);
Reply With Quote
  #670  
Old 12-07-2002, 01:52 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #671  
Old 12-07-2002, 08:54 AM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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 ) );
Then:
Code:
        if ( $sec != 1 ) {
          $value .= $sec . ' seconds';
        } else {
          $value .= $sec . ' second';
        }
Just play with the "and" word...
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:14 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05863 seconds
  • Memory Usage 2,320KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (7)bbcode_code
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (3)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete