Changeset 14220 for trunk


Ignore:
Timestamp:
06/22/12 22:57:11 (12 years ago)
Author:
tbretz
Message:
Added free disk space to status page.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/smartfact.cc

    r14218 r14220  
    2121#include "Converter.h"
    2222#include "PixelMap.h"
     23#include "DimWriteStatistics.h"
    2324
    2425#include "tools.h"
     
    500501    EventHist   fErrorHist;
    501502    EventHist   fChatHist;
     503
     504    uint64_t fFreeSpace;
    502505
    503506    Sun   fSun;
     
    15611564    }
    15621565
     1566    int HandleStats(const EventImp &d)
     1567    {
     1568        if (!CheckDataSize(d, "Stats", 4*8))
     1569        {
     1570            fFreeSpace = UINT64_MAX;
     1571            return GetCurrentState();
     1572        }
     1573
     1574        const DimWriteStatistics::Stats &s = d.Ref<DimWriteStatistics::Stats>();
     1575        fFreeSpace = s.freeSpace;
     1576
     1577        return GetCurrentState();
     1578    }
     1579
    15631580    int HandleFscTemperature(const EventImp &d)
    15641581    {
     
    20972114        newerr |= SetError(!fDimControl.online(),
    20982115                           "<b>dimctrl offline</b>");
     2116        newerr |= SetError(fDimDataLogger.state()<20 || fDimDataLogger.state()>40,
     2117                           "<b>datalogger not ready</b>");
    20992118
    21002119        //newerr |= SetError(fDimDriveControl.state()==Drive::State::kLocked,
     
    21482167        newerr |= SetError(fLastRunFinishedWithZeroEvents,
    21492168                           "Last run finshed, but contained zero events.");
     2169
     2170        newerr |= SetError(fFreeSpace<50000000000,
     2171                           "Less than 50GB disk space left.");
    21502172
    21512173        fLastRunFinishedWithZeroEvents = false;
     
    25412563            out << GetStateHtml(fDimSkypeClient,  1);
    25422564
     2565            string col = HTML::kRed;
     2566            if (fFreeSpace>uint64_t(199999999999))
     2567                col = HTML::kYellow;
     2568            if (fFreeSpace>uint64_t(999999999999))
     2569                col = HTML::kGreen;
     2570            if (fFreeSpace==UINT64_MAX)
     2571                col = HTML::kWhite;
     2572
     2573            out << col << '\t' << Tools::Scientific(fFreeSpace) << "B\n";
     2574
    25432575            out << HTML::kGreen << '\t' << dt.str().substr(0, dt.str().length()-7) << '\n';
    25442576        }
     
    25752607        fRateScanDataId(0),
    25762608        fRateScanBoard(0),
     2609        fFreeSpace(UINT64_MAX),
    25772610        // ---
    25782611        fDimMcp         ("MCP"),
     
    26582691        Subscribe("FAD_CONTROL/EVENT_DATA")
    26592692            (bind(&StateMachineSmartFACT::HandleFadEventData,        this, placeholders::_1));
     2693        Subscribe("FAD_CONTROL/STATS")
     2694            (bind(&StateMachineSmartFACT::HandleStats,               this, placeholders::_1));
     2695
     2696        Subscribe("DATA_LOGGER/STATS")
     2697            (bind(&StateMachineSmartFACT::HandleStats,               this, placeholders::_1));
    26602698
    26612699        Subscribe("FTM_CONTROL/TRIGGER_RATES")
Note: See TracChangeset for help on using the changeset viewer.