change mrtg times collect again
authorDirk Koopman <djk@tobit.co.uk>
Thu, 17 Nov 2016 14:05:47 +0000 (14:05 +0000)
committerDirk Koopman <djk@tobit.co.uk>
Thu, 17 Nov 2016 14:05:47 +0000 (14:05 +0000)
Change the graphed values to 10ths of seconds and split out cluster
from children's cpu seconds.

Changes
cmd/mrtg.pl
perl/cluster.pl

diff --git a/Changes b/Changes
index b118fc01e9b4b2ff041802bf08d1d5963b3d053a..160b12da77314a6ce642f1e826fe050abee1016c 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,3 +1,6 @@
+17Nov16=======================================================================
+1. Change method (again) of get processor seconds in cmd/mrtg.pl. Split out
+   main process from children and display each separately.
 16Nov16=======================================================================
 1. Change method of get processor seconds in cmd/mrtg.pl
 18Aug16=======================================================================
index 4a872d6172810942393cc967357689a2b90110ad..7fd950d81873f2624aeb90f273c13f14da678463 100644 (file)
@@ -76,15 +76,14 @@ sub do_it
        }
 
        if (!$main::is_win && ($want{proc} || $want{all})) {
-               $ENV{COLUMNS} = 250;
-               my $secs;
+               my $secs = $main::clssecs + $main::cldsecs;
 
-               $secs = clock_gettime(CLOCK_PROCESS_CPUTIME_ID);
+               dbg "mrtg: proc: cluster=$main::clssecs children=$main::cldsecs clock=$secs" if isdbg('mrtg');
                
-               $mc->cfgprint('proc', [qw(noi unknaszero withzeroes perminute)], 5*60, 
+               $mc->cfgprint('proc', [qw(unknaszero withzeroes perminute)], 600, 
                                          "Processor Usage",
-                                         'Proc Secs/Min', 'Proc Secs', 'Proc Secs') unless $want{dataonly};
-               $mc->data('proc', $secs, $secs, "Processor Usage") unless $want{cfgonly};
+                                         'CPU 10th Secs/Min', 'Cluster Secs', 'Child Secs') unless $want{dataonly};
+               $mc->data('proc', $main::clssecs*10, $main::cldsecs*10, "Processor Usage") unless $want{cfgonly};
        }
 
        # do the users and nodes
index d82dd2e73bbd8d67aa68538a39dd19e49f6ae00e..1419e318e15d5e704045c1fd764201cf8faf0e7c 100755 (executable)
@@ -135,7 +135,7 @@ use vars qw(@inqueue $systime $starttime $lockfn @outstanding_connects
                        $clusterport $mycall $decease $is_win $routeroot $me $reqreg $bumpexisting
                        $allowdxby $dbh $dsn $dbuser $dbpass $do_xml $systime_days $systime_daystart
                        $can_encode $maxconnect_user $maxconnect_node $idle_interval $log_flush_interval
-                       $broadcast_debug
+                       $broadcast_debug 
                   );
 
 @inqueue = ();                                 # the main input queue, an array of hashes
@@ -155,6 +155,8 @@ $log_flush_interval = 2;            # interval to wait between log flushes
 
 our $ending;                                   # signal that we are ending;
 our $broadcast_debug;                  # allow broadcasting of debug info down "enhanced" user connections
+our $clssecs;                                  # the amount of cpu time the DXSpider process have consumed
+our $cldsecs;                                  # the amount of cpu time any child processes have consumed
 
 
 # send a message to call on conn and disconnect
@@ -651,6 +653,7 @@ setup_start();
 
 my $main_loop = Mojo::IOLoop->recurring($idle_interval => \&idle_loop);
 my $log_flush_loop = Mojo::IOLoop->recurring($log_flush_interval => \&DXLog::flushall);
+my $cpusecs_loop = Mojo::IOLoop->recurring(5 => sub {my @t = times; $clssecs = $t[0]+$t[1]; $cldsecs = $t[2]+$t[3]});
 
 Web::start_node();