]> jspc29.x-matter.uni-frankfurt.de Git - hadesdaq.git/commitdiff
fixed event rate up to 2**17 Hz, added uptime
authorHades DAQ <hadaq@hades33.gsi.de>
Sat, 12 Apr 2014 12:36:38 +0000 (14:36 +0200)
committerHades DAQ <hadaq@hades33.gsi.de>
Sat, 12 Apr 2014 12:36:38 +0000 (14:36 +0200)
hmon/QA.pm
hmon/hmon_spill.pl
hmon/hmon_uptime.pl [new file with mode: 0755]
hmon/permanent/hmon_qa.pl
hmon/permanent/hmon_spill.pl [changed mode: 0755->0644]

index 39788417f729f34026e6619aaae26973d3162b6d..011d5669f95b38312c8d05ca93b8d3de9590eb01 100644 (file)
@@ -13,7 +13,8 @@ our $cats = {'main'=>"Main",
              'mdc'=>"MDC",
              'endp'=>"Endp",
              'feeerr'=>"Fee",
-             'other'=>"Other"};
+             'other'=>"Other",
+             'pion'=>"Pion"};
 
 # Order of categories
 our $entries->{'cats'} = ["main",
@@ -24,10 +25,11 @@ our $entries->{'cats'} = ["main",
                           "mdc",
                           "endp",
                           "feeerr",
-                          "other"];
+                          "other",
+                          "pion"];
 
 # Order of entries in each cat
-$entries->{'main'}    = ['time', 'rate','onlineqa'];
+$entries->{'main'}    = ['time', 'rate','onlineqa','up'];
 $entries->{'daq'}     = ['trbnet', 'timeouts', 'busy','readout'];
 $entries->{'trg'}     = ['spill', 'source', 'accepted', 'ptrate', 'start'];
 $entries->{'server'}  = ['fill', 'cpu', 'icinga', 'etrax', 'pwrsup'];
@@ -36,6 +38,7 @@ $entries->{'mdc'}     = ['token', 'blocked', 'temp', 'linkqual', 'voltage'];
 $entries->{'endp'}    = ['mdc', 'rich', 'tof', 'rpc', 'other'];
 $entries->{'feeerr'}  = ['rich', 'trb', 'feeerr','trginp','trgqual'];
 $entries->{'other'}   = ['magnet','speech','shower','rich','mdcinvalid'];
+$entries->{'pion'}    = ['nxstatus', 'LV', 'HV', 'cooling', 'rate'];
 
 
 our $QAServer = "hades33";
@@ -85,7 +88,7 @@ use constant {CTSAddress => 0x0003};
 #  Missing Boards
 ###############################################################################
 
-our @mdc_boards_removed =(0x2233);
+our @mdc_boards_removed =();
 our @mdc_chambers_removed =();
 our @rich_boards_removed =();
 our @tof_boards_removed =();
index 1e4823f317a77a95caec2937aad6b6dbdce2b645..720e95f292af6515f737df3fb8ef3a8af540b96c 100755 (executable)
@@ -1,6 +1,7 @@
 #!/usr/bin/perl -w
 
 use warnings;
+use Time::HiRes qw(usleep);
 use strict;
 use Data::Dumper;
 use Hmon;
@@ -13,6 +14,7 @@ my $evtrate = 0;
 my $events = 0;
 my $spilllength = 0;
 my $lastres = 0;
+my $midlastres = 0;
 my $outofspill = 0;
 my @spills;
 my $spillavgshort = 0;
@@ -58,7 +60,14 @@ while (1) {
        my $res = $rh_result->{0x3000} & 0xffff;
        $evtrate = $res >= $lastres ? $res - $lastres : ($res + 2**16) - $lastres;
        $events += $evtrate;
+        $midlastres = $res;
+        usleep(500000);
 
+        $rh_result = trb_register_read(0x3000, 0x01) or $trbneterr = 1; #sleep 5 and next;
+       $res = $rh_result->{0x3000} & 0xffff;
+       my $evtrate2 = $res >= $midlastres ? $res - $midlastres : ($res + 2**16) - $midlastres;
+       $events += $evtrate2;
+        $evtrate += $evtrate2;
        # When end of spill is detected...
        my $qastate;
        my $qashort;
@@ -102,7 +111,7 @@ while (1) {
        $qastate = QA::OK;
        
        ################Remove after comics or adjust!
-       if (($evtrate <= 200 || $evtrate >= 50000) && $errtime<20){
+       if (($evtrate <= 200 || $evtrate >= 80000) && $errtime<20){
            $errtime++; 
        }
        elsif ($errtime > 1) {
@@ -119,7 +128,7 @@ while (1) {
                       $qashort, $qalong);
 
        $lastres = $res;
-       sleep(1);
+       usleep(500000);
     } else {
        QA::WriteQALog($fqa, "main", "rate", 30, QA::ERROR, "Current Rate", "N/A", "N/A");
        QA::WriteQALog($fqa,"trg", "spill", 30, QA::ERROR, "Spill Sum","N/A", "N/A");
diff --git a/hmon/hmon_uptime.pl b/hmon/hmon_uptime.pl
new file mode 100755 (executable)
index 0000000..650f0dc
--- /dev/null
@@ -0,0 +1,27 @@
+#!/usr/bin/perl -w
+
+use warnings;
+use Time::HiRes qw( gettimeofday usleep time );
+use Time::Duration;
+use FileHandle;
+use POSIX qw/strftime/;
+use QA;
+use Hmon;
+my $fqa  = QA::OpenQAFile();
+
+my @start = localtime();
+my $st    = time();
+
+
+while (1) {
+
+
+
+  my $qastate = QA::OK;
+  my $s = concise(ago(time() - $st,2));
+  my $str = strftime("%H:%M:%S",@start);
+  QA::WriteQALog($fqa,"main","up", 10, $qastate, "Last Restart", $s, 
+                 "Last restart of Hmon: " . $str . " - ". $s);
+
+  sleep(5);
+}
index abff219397a892b09587eca983a2cec3d9817a65..f85cf4ec500bff87c4fd78613e851886dfb7916d 100755 (executable)
@@ -43,7 +43,7 @@ while($a = <FLOG>) {
 #Generate output file at most once per second
   if($oldtime < time) {
     $oldtime = scalar time();
-    $str  = Hmon::MakeTitle(7,10,"Tactical Overview",1);
+    $str  = Hmon::MakeTitle(7,11,"Tactical Overview",1);
     $str .= "<div class=\"QA\">";
     foreach my $c (@{$entries->{'cats'}}) {
       $str .= "<div class=\"header\" style=\"clear:both\">$cats->{$c}</div>\n";
old mode 100755 (executable)
new mode 100644 (file)