FACT++  1.0
void FactGui::handleFadWriteStats ( const DimData d)
inlineprivate

Definition at line 658 of file FactGui.h.

References DimData::ptr(), and DimData::size().

Referenced by infoHandler().

659  {
660  const bool connected = d.size()!=0;
661 
662  fEvtBuilderET->setEnabled(connected);
663  fEvtBuilderRate->setEnabled(connected);
664  fEvtBuilderWritten->setEnabled(connected);
665  fEvtBuilderFreeSpace->setEnabled(connected);
666  fEvtBuilderSpaceLeft->setEnabled(connected);
667 
668  fFreeSpaceData = UINT64_MAX;
670 
671  if (!connected)
672  return;
673 
674  const uint64_t *vals = d.ptr<uint64_t>();
675 
676  const size_t space = vals[0];
677  const size_t written = vals[1];
678  const size_t rate = float(vals[2])/vals[3];
679 
680  fFreeSpaceData = space;
682 
683  fEvtBuilderFreeSpace->setSuffix(" MB");
684  fEvtBuilderFreeSpace->setDecimals(0);
685  fEvtBuilderFreeSpace->setValue(space*1e-6);
686 
687  if (space> 1000000) // > 1GB
688  {
689  fEvtBuilderFreeSpace->setSuffix(" GB");
690  fEvtBuilderFreeSpace->setDecimals(2);
691  fEvtBuilderFreeSpace->setValue(space*1e-9);
692  }
693  if (space>= 3000000) // >= 3GB
694  {
695  fEvtBuilderFreeSpace->setSuffix(" GB");
696  fEvtBuilderFreeSpace->setDecimals(1);
697  fEvtBuilderFreeSpace->setValue(space*1e-9);
698  }
699  if (space>=100000000) // >= 100GB
700  {
701  fEvtBuilderFreeSpace->setSuffix(" GB");
702  fEvtBuilderFreeSpace->setDecimals(0);
703  fEvtBuilderFreeSpace->setValue(space*1e-9);
704  }
705 
706  fEvtBuilderET->setTime(QTime().addSecs(rate>0?space/rate:0));
707  fEvtBuilderRate->setValue(rate*1e-3); // kB/s
708  fEvtBuilderWritten->setValue(written*1e-6);
709 
710  fEvtBuilderRate->setSuffix(" kB/s");
711  fEvtBuilderRate->setDecimals(2);
712  fEvtBuilderRate->setValue(rate);
713  if (rate> 2) // > 2kB/s
714  {
715  fEvtBuilderRate->setSuffix(" kB/s");
716  fEvtBuilderRate->setDecimals(1);
717  fEvtBuilderRate->setValue(rate);
718  }
719  if (rate>=100) // >100kB/s
720  {
721  fEvtBuilderRate->setSuffix(" kB/s");
722  fEvtBuilderRate->setDecimals(0);
723  fEvtBuilderRate->setValue(rate);
724  }
725  if (rate>=1000) // >100kB/s
726  {
727  fEvtBuilderRate->setSuffix(" MB/s");
728  fEvtBuilderRate->setDecimals(2);
729  fEvtBuilderRate->setValue(rate*1e-3);
730  }
731  if (rate>=10000) // >1MB/s
732  {
733  fEvtBuilderRate->setSuffix(" MB/s");
734  fEvtBuilderRate->setDecimals(1);
735  fEvtBuilderRate->setValue(rate*1e-3);
736  }
737  if (rate>=100000) // >10MB/s
738  {
739  fEvtBuilderRate->setSuffix(" MB/s");
740  fEvtBuilderRate->setDecimals(0);
741  fEvtBuilderRate->setValue(rate*1e-3);
742  }
743 
744  if (space/1000000>static_cast<size_t>(fEvtBuilderSpaceLeft->maximum()))
745  fEvtBuilderSpaceLeft->setValue(fEvtBuilderSpaceLeft->maximum()); // GB
746  else
747  fEvtBuilderSpaceLeft->setValue(space/1000000); // MB
748  }
size_t size() const
Definition: DimData.h:39
void UpdateGlobalStatus()
Definition: FactGui.h:445
uint64_t fFreeSpaceData
Definition: FactGui.h:656
const T * ptr(uint32_t offset=0) const
Definition: DimData.h:32

+ Here is the call graph for this function:

+ Here is the caller graph for this function: