Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 2.x > vBulletin 2.x Full Releases
FAQ Community Calendar Today's Posts Search

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

Quote:
Originally posted by Raptor
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 ?
Please read the first post. Thank you.
Reply With Quote
  #673  
Old 12-07-2002, 08:59 AM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by Boofo
This is why it won Hack of the Month.
It did? I wish since is a useful hack for VB coders, but it didn't...
Reply With Quote
  #674  
Old 12-07-2002, 10:07 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I guess I should have said "you won"? I forgot it was your other program. Oops! Sorry.
Reply With Quote
  #675  
Old 12-07-2002, 10:22 AM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by TECK
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...
This doesn't work quite right. I ended up with:

[Server UpTime: 9 days, 3 hours and 40 minutes and 775307 seconds]
Reply With Quote
  #676  
Old 12-07-2002, 06:26 PM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hmmm, I can't test it in a live envionment because my server doesn't support the uptime, or passthru (PHP in save mode)...
But technically this is what it does:
$sys_ticks - shows the no. of seconds since the system is up
( $days * 60 * 24 ) - the days
( $hours * 60 ) - the hours
( $min * 60 ) - the minutes
Removing all those values should give you the seconds only... maybe one of the php gurus can explain what we do wrong? In theory it should work...

You could also do this... replace the function with this line:
Code:
$serveruptime = passthru( '/usr/bin/uptime' );
Reply With Quote
  #677  
Old 12-07-2002, 06:49 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I just tried the passthru code you gave me and nothing shows up with that.
Reply With Quote
  #678  
Old 12-07-2002, 07:10 PM
Admin's Avatar
Admin Admin is offline
Coder
 
Join Date: Oct 2023
Location: Server
Posts: 1
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

passthru() returns nothing. You need to use exec('whatever', $output) and then $output will be an array containing the output from the program. If you only need the last line of output, simply do $line = exec('whatever').
Reply With Quote
  #679  
Old 12-07-2002, 08:20 PM
Boofo's Avatar
Boofo Boofo is offline
 
Join Date: Mar 2002
Location: Des Moines, IA (USA)
Posts: 15,776
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You got me on this one, Chen. (By the way, "hello and it's good to hear from you. ) You're explanation went way over my head. All I am trying to do is get the seconds to show out of the code Teck gave me. Can you help me on that, please?
Reply With Quote
  #680  
Old 12-08-2002, 09:02 PM
Bison's Avatar
Bison Bison is offline
 
Join Date: Jun 2002
Location: Virginia Beach, Virginia
Posts: 522
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by TECK
Code:
    function serveruptime() {
      $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 = serveruptime();
      $serverload = ' [Server Load: '.$regs[1].' : '.$regs[2].' : '.$regs[3].'][Server Uptime: ' . $serveruptime . ']';
    } else {
      $serverload = '';
    }
TECK,

Why would it be a security risk for someone to read from the "/proc" in a *nix box? This is what my isp is telling me why they disabled this feature?

And if this is disabled, is it possible to get your hack to work with the other statistics (ex: MySQL - PHP - G-ZIP)?

Thanks in advance!
Reply With Quote
  #681  
Old 12-09-2002, 05:47 AM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You are running PHP in safe mode. My host does it also. That's life... you can't do nothing about it.
Reply With Quote
Reply


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:00 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.07776 seconds
  • Memory Usage 2,322KB
  • 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
  • (4)bbcode_code
  • (4)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