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
  #172  
Old 03-28-2002, 08:03 AM
Jawelin Jawelin is offline
 
Join Date: Nov 2001
Posts: 557
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Extension: how could I use a similar replacement variable (or at least similar calculation) to show stats of some AdminCP pages ?

Note: db_mysql.php vars are of course always present (saw appending &explain=1 to the query_string) ....

I tried to call dooutput(" ", 0) just before the end of AdminCP page and then use $microstats variable (correctly set), but got an unexpected behavior of that function...
I saw unprintable chars .... for example.

Thnx
Reply With Quote
  #173  
Old 03-28-2002, 08:25 AM
Jawelin Jawelin is offline
 
Join Date: Nov 2001
Posts: 557
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by JDD
$totaltime=$endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
I noticed a possible incongruence (or simply an algorithm I can't understand... gre between the original - corrected by FF - time calculation of functions.php and the same calc within db_mysql.php, where both are made with:
PHP Code:
    $beforetime=$endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
.
.
.
    
$aftertime=$endtime[0]-$starttime[0]+$endtime[1]-$starttime[1]; 

Thnx
Reply With Quote
  #174  
Old 03-28-2002, 11:26 AM
JDD JDD is offline
 
Join Date: Oct 2001
Posts: 11
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hi...

Quote:
I noticed a possible incongruence (or simply an algorithm I can't understand... ) between the original - corrected by FF - time calculation of functions.php and the same calc within db_mysql.php, where both are made with
yes there is possible an incongruence, if global.php is called more than once to generate a page, the starttime var would be set to a different value (if global.php is only called once the startime would be of the same value during the whole calculation)
For the endtime var it doesn't matter because it is always set to the current time just before it is used. So only starttime could be a prob, I have a solution for it to fix.. just sent me a pm so we could try it out (unfortunately I couldn't test it, because the ftp server of my webpage is currently down, therefore I don't post it because I am not sure that it does work 100%)

JDD
Reply With Quote
  #175  
Old 03-28-2002, 12:28 PM
Jawelin Jawelin is offline
 
Join Date: Nov 2001
Posts: 557
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by nakkid
install a test board with no hacks. this way you will see exacly where is the bug related to your server.
Actually I don't think it depends on installed hacks...

Let me try. Looking at php.net manual for microtime() I tried to use that sample function
PHP Code:
function getmicrotime(){ 
    list(
$usec$sec) = explode(" ",microtime()); 
    return ((float)
$usec + (float)$sec); 

to measure my sample page (with many sql queries) loading time.
Well.
I got values of about 3-4 seconds, nearest to the actual latency time before displaying on a fast connection... many more than 0.7 seconds displayed by { getmicrostats } function at the end of the same page...

:ermm:

Heeeellllllllpppppppp !!!!!!!! :squareeyed:
Reply With Quote
  #176  
Old 03-28-2002, 04:54 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 JDD
You would get funny looking huge values most of the time (exactly the difference to 1.1.1970)
that's what i got. then i shortenned the code and it worked ok.

Quote:
Originally posted by JDD
So, just give my modifications a chance and try them out, you'll see they would work. I have no clue why it is working on vB.org, but I doubt they use your code in it's original form.
FireFly uses the code i posted, except that it has the full start-endtime line the way it was defaulted (not mines). it doesnt have the starttime mod in global.php. i will set it as you mention tonite at home and if ok, i will add it to the hack..

also, what time values you get when you load the page? can you post a website so i see the way it works on your server?
Reply With Quote
  #177  
Old 03-28-2002, 04:59 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 Jawelin
I noticed a possible incongruence (or simply an algorithm I can't understand... gre between the original - [high]corrected by FF[/high] - ...
just to clear things up Jawelin. this hack was verified by FireFly, not edited. all hack is written by me, except the PHP-MySQL% addon (made by FireFly, with proper credit in the .txt file). he also explained to me what is the proper way to call the {microstats} variable anywhere.
Reply With Quote
  #178  
Old 03-28-2002, 08:28 PM
Jawelin Jawelin is offline
 
Join Date: Nov 2001
Posts: 557
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally posted by nakkid
just to clear things up Jawelin. this hack was verified by FireFly, not edited. all hack is written by me
[...]
Thanks for having pointed it out, np, but I just was talking about the algorithm... and I was talking to you, of course.
Referred to FF only to identify the original hack and distinguish it from the variant by JDD. That's all.

Btw, as I repeat, the 'empirical' way following the php.net gave numbers about 5-7 times larger than microstats values...
That's my question.

Thnx
Reply With Quote
  #179  
Old 03-28-2002, 11:26 PM
TECK's Avatar
TECK TECK is offline
 
Join Date: Nov 2001
Location: Canada
Posts: 4,182
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This upgrade will fix the negative values some users get when loading a page.

CREDITS:
JDD
pagestarttime addon in [high]global.php[/high]

VB2.2.4 forum/global.php (2 changes)
1. Find the code:
PHP Code:
if (isset($showqueries)) {
  
$pagestarttime=microtime();

Replace it with:
PHP Code:
$pagestarttime=microtime(); 
2. Find the code:
PHP Code:
$templatesused.=',pagenav,pagenav_curpage,pagenav_firstlink,pagenav_lastlink,pagenav_nextlink,pagenav_pagelink,pagenav_prevlink'
Replace it with:
PHP Code:
$templatesused.=',pagenav,pagenav_curpage,pagenav_firstlink,pagenav_lastlink,pagenav_nextlink,pagenav_pagelink,pagenav_prevlink,home_microstats'
forum/admin/functions.php (1 change)
1. Find the code:
PHP Code:
$totaltime=$endtime[0]-$starttime[0]; 
Replace it with:
PHP Code:
$totaltime=$endtime[0]-$starttime[0]+$endtime[1]-$starttime[1]; 
Reply With Quote
  #180  
Old 03-29-2002, 01:08 AM
wooolF[RM]'s Avatar
wooolF[RM] wooolF[RM] is offline
 
Join Date: Jan 2002
Posts: 524
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

]works great thanx
Reply With Quote
  #181  
Old 03-29-2002, 01:12 AM
David Bott David Bott is offline
 
Join Date: Dec 2001
Posts: 215
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

At this point I can say I have not seen a negitive number with the fix above. Thank you.
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 12: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.09823 seconds
  • Memory Usage 2,339KB
  • Queries Executed 27 (?)
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
  • (8)bbcode_php
  • (7)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_postinfo_query
  • fetch_postinfo
  • 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