'mdc'=>"MDC",
'endp'=>"Endp",
'feeerr'=>"Fee",
- 'other'=>"Other"};
+ 'other'=>"Other",
+ 'pion'=>"Pion"};
# Order of categories
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'];
$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";
# Missing Boards
###############################################################################
-our @mdc_boards_removed =(0x2233);
+our @mdc_boards_removed =();
our @mdc_chambers_removed =();
our @rich_boards_removed =();
our @tof_boards_removed =();
#!/usr/bin/perl -w
use warnings;
+use Time::HiRes qw(usleep);
use strict;
use Data::Dumper;
use Hmon;
my $events = 0;
my $spilllength = 0;
my $lastres = 0;
+my $midlastres = 0;
my $outofspill = 0;
my @spills;
my $spillavgshort = 0;
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;
$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) {
$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");
--- /dev/null
+#!/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);
+}
#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";