vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 2.x Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=4)
-   -   vbMicroStats: page load time, queries, GZIP and PHP version (https://vborg.vbsupport.ru/showthread.php?t=35811)

FWC 11-10-2002 10:07 PM

Quote:

Originally posted by mheinemann
Does a higher GZIP setting offer more compression or less compression.
Anything over 1 offers little compression gain and is very hard on the server.

mheinemann 11-10-2002 10:11 PM

Thanks for letting me know. Guess I should take it off level 4.

Dynamic One 11-11-2002 07:48 AM

Thanks for thits great hack. Easy to see if another hack is taking to much traficdata :).

Sebastian 11-12-2002 07:32 AM

is it possible to get the server load on a windows 2000 adv server? i tried $serverload but it doesn't show the load, just shows generation time, sql and php .. what about server uptime, is that possible to add, if so will it work on win2000?

thanks.

TECK 11-12-2002 09:01 AM

no

Bison 11-19-2002 05:11 PM

Is it just me ... or have anyone noticed that the "getmicrostats" tage in the footer of their pages stopped working?

Mine was working just fine last week and all of a sudden, it stopped! :( Just shows the tag now ... any clue why?

ZiRu$ 11-20-2002 03:24 AM

Installed....thx man..........32 queries on my forumhome

TECK 11-20-2002 04:07 AM

ZiRu$, you had problems before with it, glad you got it up and running. Congratulations. :)

marc49 11-24-2002 06:38 AM

rolodex, does it say {getmicrostats} in your footer?

I upgraded to 2.2.9 and installed it correctly (as far as I know) and I am getting {getmicrostats} instead of the actual stats

Asendin 11-24-2002 12:11 PM

im using this hack with 2.2.9 with no problems

Bison 11-24-2002 02:51 PM

Must be a "server thing" ... it was working B-fore!

Asendin 11-24-2002 05:45 PM

since installing this hack on 2.2.9, my 5 min server load stat shows up in red. this happen to anyone else?

not that it matters, i kinda like it this way, just wondering

http://www.asendtechnologies.com/misc/microstats.jpg

TECK 11-25-2002 11:25 AM

You probably removed the space between brackets, as suggested in the readme file...
That will make the server stats to show colored, otherwise they will show in black. :)

Julio 11-26-2002 11:13 AM

To "call" microstats, I simply use:

{getmicrostats} $trimmedtime $percentphp $percentsql $query_count $serverload ?

Sebastian 12-01-2002 11:31 PM

TECK, How do I get it to show the server uptime right below the load?

Right now mines show:

Page generated in 0.15713799 seconds (81.58% PHP - 18.42% MySQL) with 15 queries.
[Debug Mode OFF] [PHP v4.3.0RC] [GZIP enabled - level 1] [Server Load: 0.01 ยป 0.02 : 0.00]

I would like to see uptime right below the load.

/me installed

TECK 12-02-2002 08:50 AM

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;
}


snout 12-02-2002 11:09 AM

cool thanks mate, sounds useful ;) ill give it a try........

bahamut0 12-02-2002 03:27 PM

installed very nice helpfull in seeing quickly how many queries im getting. which is 22

Sebastian 12-05-2002 09:57 AM

TECK.

you have already added: @exec('uptime')

so I cannot redeclare that code you posted, you are parsing the @exec('uptime') to only show the load averages right? if so how do I un parse the code below so it shows the uptime right near the load?

thanks.

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='';
    }


TECK 12-05-2002 10:26 AM

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 = '';
    }


Sebastian 12-05-2002 10:32 AM

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

Fatal error: Cannot redeclare serveruptime() in /home/www/html/forum/admin/functions.php on line 518

Raptor 12-05-2002 11:45 AM

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 ?

TECK 12-05-2002 02:21 PM

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 = '';
    }


Boofo 12-05-2002 02:33 PM

Teck, how would we get the serveruptime to show in the admin part of microstats at the bottom of the page? :)

TECK 12-05-2002 08:02 PM

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 = '';
    }


Boofo 12-05-2002 09:17 PM

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?

Sebastian 12-05-2002 10:22 PM

yeah TECK, it works but then doesn't show the server load averages, just : :

TECK 12-06-2002 09:17 PM

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);

Boofo 12-07-2002 01:52 AM

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? :)

TECK 12-07-2002 08:54 AM

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...

TECK 12-07-2002 08:56 AM

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.

TECK 12-07-2002 08:59 AM

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... :D

Boofo 12-07-2002 10:07 AM

I guess I should have said "you won"? I forgot it was your other program. :) Oops! Sorry. :)

Boofo 12-07-2002 10:22 AM

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]

TECK 12-07-2002 06:26 PM

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' );

Boofo 12-07-2002 06:49 PM

I just tried the passthru code you gave me and nothing shows up with that.

Admin 12-07-2002 07:10 PM

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').

Boofo 12-07-2002 08:20 PM

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? :)

Bison 12-08-2002 09:02 PM

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!

TECK 12-09-2002 05:47 AM

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


All times are GMT. The time now is 01:10 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.02187 seconds
  • Memory Usage 1,848KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (14)bbcode_code_printable
  • (6)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.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
  • printthread_start
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete