Changeset 102635 in vbox
- Timestamp:
- Dec 18, 2023 2:49:52 PM (16 months ago)
- svn:sync-xref-src-repo-rev:
- 160794
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp
r102625 r102635 1702 1702 } 1703 1703 1704 void UIVMActivityMonitorLocal::updateNetworkGraphsAndMetric(quint64 iReceiveTotal, quint64 iTransmitTotal)1704 void UIVMActivityMonitorLocal::updateNetworkGraphsAndMetric(quint64 uReceiveTotal, quint64 uTransmitTotal) 1705 1705 { 1706 1706 UIMetric &NetMetric = m_metrics[m_strNetworkMetricName]; 1707 1707 1708 quint64 iReceiveRate = iReceiveTotal - NetMetric.total(0);1709 quint64 iTransmitRate = iTransmitTotal - NetMetric.total(1);1710 1711 NetMetric.setTotal(0, iReceiveTotal);1712 NetMetric.setTotal(1, iTransmitTotal);1708 quint64 uReceiveRate = uReceiveTotal - NetMetric.total(0); 1709 quint64 uTransmitRate = uTransmitTotal - NetMetric.total(1); 1710 1711 NetMetric.setTotal(0, uReceiveTotal); 1712 NetMetric.setTotal(1, uTransmitTotal); 1713 1713 1714 1714 if (!NetMetric.isInitialized()) … … 1718 1718 } 1719 1719 1720 NetMetric.addData(0, iReceiveRate);1721 NetMetric.addData(1, iTransmitRate);1720 NetMetric.addData(0, uReceiveRate); 1721 NetMetric.addData(1, uTransmitRate); 1722 1722 1723 1723 if (m_infoLabels.contains(m_strNetworkMetricName) && m_infoLabels[m_strNetworkMetricName]) … … 1726 1726 strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4<br/>%5 %6</font><br/><font color=\"%7\">%8: %9<br/>%10 %11</font>") 1727 1727 .arg(m_strNetworkInfoLabelTitle) 1728 .arg(dataColorString(m_strNetworkMetricName, 0)).arg(m_strNetworkInfoLabelReceived).arg(UITranslator::formatSize( (quint64)iReceiveRate, g_iDecimalCount))1729 .arg(m_strNetworkInfoLabelReceivedTotal).arg(UITranslator::formatSize( (quint64)iReceiveTotal, g_iDecimalCount))1730 .arg(dataColorString(m_strNetworkMetricName, 1)).arg(m_strNetworkInfoLabelTransmitted).arg(UITranslator::formatSize( (quint64)iTransmitRate, g_iDecimalCount))1731 .arg(m_strNetworkInfoLabelTransmittedTotal).arg(UITranslator::formatSize( (quint64)iTransmitTotal, g_iDecimalCount));1728 .arg(dataColorString(m_strNetworkMetricName, 0)).arg(m_strNetworkInfoLabelReceived).arg(UITranslator::formatSize(uReceiveRate, g_iDecimalCount)) 1729 .arg(m_strNetworkInfoLabelReceivedTotal).arg(UITranslator::formatSize(uReceiveTotal, g_iDecimalCount)) 1730 .arg(dataColorString(m_strNetworkMetricName, 1)).arg(m_strNetworkInfoLabelTransmitted).arg(UITranslator::formatSize(uTransmitRate, g_iDecimalCount)) 1731 .arg(m_strNetworkInfoLabelTransmittedTotal).arg(UITranslator::formatSize(uTransmitTotal, g_iDecimalCount)); 1732 1732 m_infoLabels[m_strNetworkMetricName]->setText(strInfo); 1733 1733 } … … 1740 1740 UIMetric &diskMetric = m_metrics[m_strDiskIOMetricName]; 1741 1741 1742 quint64 iWriteRate = uDiskIOTotalWritten - diskMetric.total(0);1743 quint64 iReadRate = uDiskIOTotalRead - diskMetric.total(1);1742 quint64 uWriteRate = uDiskIOTotalWritten - diskMetric.total(0); 1743 quint64 uReadRate = uDiskIOTotalRead - diskMetric.total(1); 1744 1744 1745 1745 diskMetric.setTotal(0, uDiskIOTotalWritten); … … 1751 1751 return; 1752 1752 } 1753 diskMetric.addData(0, iWriteRate);1754 diskMetric.addData(1, iReadRate);1753 diskMetric.addData(0, uWriteRate); 1754 diskMetric.addData(1, uReadRate); 1755 1755 1756 1756 if (m_infoLabels.contains(m_strDiskIOMetricName) && m_infoLabels[m_strDiskIOMetricName]) … … 1758 1758 QString strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4<br/>%5 %6</font><br/><font color=\"%7\">%8: %9<br/>%10 %11</font>") 1759 1759 .arg(m_strDiskIOInfoLabelTitle) 1760 .arg(dataColorString(m_strDiskIOMetricName, 0)).arg(m_strDiskIOInfoLabelWritten).arg(UITranslator::formatSize( (quint64)iWriteRate, g_iDecimalCount))1760 .arg(dataColorString(m_strDiskIOMetricName, 0)).arg(m_strDiskIOInfoLabelWritten).arg(UITranslator::formatSize(uWriteRate, g_iDecimalCount)) 1761 1761 .arg(m_strDiskIOInfoLabelWrittenTotal).arg(UITranslator::formatSize((quint64)uDiskIOTotalWritten, g_iDecimalCount)) 1762 .arg(dataColorString(m_strDiskIOMetricName, 1)).arg(m_strDiskIOInfoLabelRead).arg(UITranslator::formatSize( (quint64)iReadRate, g_iDecimalCount))1762 .arg(dataColorString(m_strDiskIOMetricName, 1)).arg(m_strDiskIOInfoLabelRead).arg(UITranslator::formatSize(uReadRate, g_iDecimalCount)) 1763 1763 .arg(m_strDiskIOInfoLabelReadTotal).arg(UITranslator::formatSize((quint64)uDiskIOTotalRead, g_iDecimalCount)); 1764 1764 m_infoLabels[m_strDiskIOMetricName]->setText(strInfo); … … 1885 1885 updateCPUGraphsAndMetric((ULONG) fValue, 0); 1886 1886 } 1887 else if (enmMetricType == KMetricType_NetworksBytesOut) 1888 cacheNetworkTransmit(timeStamps[i], (int)data[i].toFloat()); 1887 1889 else if (enmMetricType == KMetricType_NetworksBytesIn) 1888 { 1889 //printf("%s %s\n", qPrintable(data[i]), qPrintable(timeStamps[i])); 1890 } 1890 cacheNetworkReceive(timeStamps[i], (int)data[i].toFloat()); 1891 1891 else if (enmMetricType == KMetricType_DiskBytesRead) 1892 { 1893 cacheDiskRead(timeStamps[i], data[i].toULongLong()); 1894 } 1892 cacheDiskRead(timeStamps[i], (int)data[i].toFloat()); 1895 1893 else if (enmMetricType == KMetricType_DiskBytesWritten) 1896 {1897 //printf("write %s %f\n", qPrintable(data[i]), data[i].toFloat());1898 1894 cacheDiskWrite(timeStamps[i], (int)data[i].toFloat()); 1899 }1900 1901 // KMetricType_DiskBytesWritten = 4,1902 1903 1895 } 1904 1896 sender()->deleteLater(); … … 1987 1979 1988 1980 void UIVMActivityMonitorCloud::updateRAMGraphsAndMetric(quint64 /*iTotalRAM*/, quint64 /*iFreeRAM*/){} 1989 void UIVMActivityMonitorCloud::updateNetworkGraphsAndMetric(quint64 /*iReceiveTotal*/, quint64 /*iTransmitTotal*/){} 1981 void UIVMActivityMonitorCloud::updateNetworkGraphsAndMetric(quint64 uReceiveRate, quint64 uTransmitRate) 1982 { 1983 UIMetric &networkMetric = m_metrics[m_strNetworkMetricName]; 1984 networkMetric.addData(0, uReceiveRate); 1985 networkMetric.addData(1, uTransmitRate); 1986 1987 if (m_infoLabels.contains(m_strNetworkMetricName) && m_infoLabels[m_strNetworkMetricName]) 1988 { 1989 QString strInfo; 1990 strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4</font><br/><font color=\"%5\">%6: %7<br/></font>") 1991 .arg(m_strNetworkInfoLabelTitle) 1992 .arg(dataColorString(m_strNetworkMetricName, 0)).arg(m_strNetworkInfoLabelReceived).arg(UITranslator::formatSize(uReceiveRate, g_iDecimalCount)) 1993 .arg(dataColorString(m_strNetworkMetricName, 1)).arg(m_strNetworkInfoLabelTransmitted).arg(UITranslator::formatSize(uTransmitRate, g_iDecimalCount)); 1994 1995 m_infoLabels[m_strNetworkMetricName]->setText(strInfo); 1996 } 1997 } 1990 1998 1991 1999 void UIVMActivityMonitorCloud::updateDiskIOGraphsAndMetric(quint64 uWriteRate, quint64 uReadRate) 1992 2000 { 1993 //printf("%lld %lld\n", uWriteRate, uReadRate);1994 2001 UIMetric &diskMetric = m_metrics[m_strDiskIOMetricName]; 1995 2002 1996 // quint64 iWriteRate = uDiskIOTotalWritten - diskMetric.total(0); 1997 // quint64 iReadRate = uDiskIOTotalRead - diskMetric.total(1); 1998 1999 // diskMetric.setTotal(0, uDiskIOTotalWritten); 2000 // diskMetric.setTotal(1, uDiskIOTotalRead); 2001 2002 // /* Do not set data and maximum if the metric has not been initialized since we need to initialize totals "(t-1)" first: */ 2003 // if (!diskMetric.isInitialized()){ 2004 // diskMetric.setIsInitialized(true); 2005 // return; 2006 // } 2003 2007 2004 diskMetric.addData(0, uWriteRate); 2008 2005 diskMetric.addData(1, uReadRate); 2009 2006 2010 // if (m_infoLabels.contains(m_strDiskIOMetricName) && m_infoLabels[m_strDiskIOMetricName]) 2011 // { 2012 // QString strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4<br/>%5 %6</font><br/><font color=\"%7\">%8: %9<br/>%10 %11</font>") 2013 // .arg(m_strDiskIOInfoLabelTitle) 2014 // .arg(dataColorString(m_strDiskIOMetricName, 0)).arg(m_strDiskIOInfoLabelWritten).arg(UITranslator::formatSize((quint64)iWriteRate, g_iDecimalCount)) 2015 // .arg(m_strDiskIOInfoLabelWrittenTotal).arg(UITranslator::formatSize((quint64)uDiskIOTotalWritten, g_iDecimalCount)) 2016 // .arg(dataColorString(m_strDiskIOMetricName, 1)).arg(m_strDiskIOInfoLabelRead).arg(UITranslator::formatSize((quint64)iReadRate, g_iDecimalCount)) 2017 // .arg(m_strDiskIOInfoLabelReadTotal).arg(UITranslator::formatSize((quint64)uDiskIOTotalRead, g_iDecimalCount)); 2018 // m_infoLabels[m_strDiskIOMetricName]->setText(strInfo); 2019 // } 2007 2008 if (m_infoLabels.contains(m_strDiskIOMetricName) && m_infoLabels[m_strDiskIOMetricName]) 2009 { 2010 QString strInfo = QString("<b>%1</b></b><br/> <font color=\"%2\">%3: %4</font><br/> <font color=\"%5\">%6: %7</font>") 2011 .arg(m_strDiskIOInfoLabelTitle) 2012 .arg(dataColorString(m_strDiskIOMetricName, 0)).arg(m_strDiskIOInfoLabelWritten).arg(UITranslator::formatSize(uWriteRate, g_iDecimalCount)) 2013 .arg(dataColorString(m_strDiskIOMetricName, 1)).arg(m_strDiskIOInfoLabelRead).arg(UITranslator::formatSize(uReadRate, g_iDecimalCount)); 2014 2015 m_infoLabels[m_strDiskIOMetricName]->setText(strInfo); 2016 } 2017 2020 2018 if (m_charts.contains(m_strDiskIOMetricName)) 2021 2019 m_charts[m_strDiskIOMetricName]->update(); … … 2142 2140 } 2143 2141 2142 void UIVMActivityMonitorCloud::cacheNetworkReceive(const QString &strTimeStamp, int iValue) 2143 { 2144 AssertReturnVoid(!m_networkReceiveCache.contains(strTimeStamp)); 2145 2146 if (m_networkTransmitCache.contains(strTimeStamp)) 2147 { 2148 updateNetworkGraphsAndMetric((quint64) iValue, (quint64) m_networkTransmitCache[strTimeStamp]); 2149 m_networkTransmitCache.remove(strTimeStamp); 2150 } 2151 else 2152 m_networkReceiveCache[strTimeStamp] = iValue; 2153 } 2154 2155 2156 void UIVMActivityMonitorCloud::cacheNetworkTransmit(const QString &strTimeStamp, int iValue) 2157 { 2158 AssertReturnVoid(!m_networkTransmitCache.contains(strTimeStamp)); 2159 2160 if (m_networkReceiveCache.contains(strTimeStamp)) 2161 { 2162 updateNetworkGraphsAndMetric((quint64) m_networkReceiveCache[strTimeStamp], (quint64) iValue); 2163 m_networkReceiveCache.remove(strTimeStamp); 2164 } 2165 else 2166 m_networkTransmitCache[strTimeStamp] = iValue; 2167 } 2168 2169 2144 2170 2145 2171 #include "UIVMActivityMonitor.moc" -
trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h
r102625 r102635 157 157 virtual void updateCPUGraphsAndMetric(ULONG iLoadPercentage, ULONG iOtherPercentage) = 0; 158 158 virtual void updateRAMGraphsAndMetric(quint64 iTotalRAM, quint64 iFreeRAM) = 0; 159 virtual void updateNetworkGraphsAndMetric(quint64 iReceiveTotal, quint64 iTransmitTotal) = 0;159 virtual void updateNetworkGraphsAndMetric(quint64 uReceiveTotal, quint64 uTransmitTotal) = 0; 160 160 virtual void updateDiskIOGraphsAndMetric(quint64 uDiskIOTotalWritten, quint64 uDiskIOTotalRead) = 0; 161 161 /** @} */ … … 285 285 void updateCPUGraphsAndMetric(ULONG iLoadPercentage, ULONG iOtherPercentage); 286 286 void updateRAMGraphsAndMetric(quint64 iTotalRAM, quint64 iFreeRAM); 287 void updateNetworkGraphsAndMetric(quint64 iReceiveTotal, quint64 iTransmitTotal);287 void updateNetworkGraphsAndMetric(quint64 uReceiveTotal, quint64 uTransmitTotal); 288 288 void updateDiskIOGraphsAndMetric(quint64 uDiskIOTotalWritten, quint64 uDiskIOTotalRead); 289 289 void updateVMExitMetric(quint64 uTotalVMExits); … … 334 334 virtual void updateCPUGraphsAndMetric(ULONG iLoadPercentage, ULONG iOtherPercentage) RT_OVERRIDE; 335 335 virtual void updateRAMGraphsAndMetric(quint64 iTotalRAM, quint64 iFreeRAM) RT_OVERRIDE; 336 virtual void updateNetworkGraphsAndMetric(quint64 iReceiveTotal, quint64 iTransmitTotal) RT_OVERRIDE;336 virtual void updateNetworkGraphsAndMetric(quint64 uReceive, quint64 uTransmit) RT_OVERRIDE; 337 337 virtual void updateDiskIOGraphsAndMetric(quint64 uWriteRate, quint64 uReadRate) RT_OVERRIDE; 338 338 /** @} */ … … 346 346 void cacheDiskRead(const QString &strTimeStamp, int iValue); 347 347 348 void cacheNetworkReceive(const QString &strTimeStamp, int iValue); 349 void cacheNetworkTransmit(const QString &strTimeStamp, int iValue); 350 351 348 352 bool findMetric(KMetricType enmMetricType, UIMetric &metric, int &iDataSeriesIndex) const; 349 353 void prepareMetrics(); … … 358 362 QMap<QString, quint64> m_diskWriteCache; 359 363 QMap<QString, quint64> m_diskReadCache; 364 365 QMap<QString, quint64> m_networkReceiveCache; 366 QMap<QString, quint64> m_networkTransmitCache; 367 360 368 }; 361 369 #endif /* !FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitor_h */
Note:
See TracChangeset
for help on using the changeset viewer.