- Timestamp:
- Jan 16, 2024 3:08:18 PM (16 months ago)
- svn:sync-xref-src-repo-rev:
- 161122
- 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
r102897 r102900 1286 1286 { 1287 1287 QTextStream stream(&dataFile); 1288 for (QMap< QString, UIMetric>::const_iterator iterator = m_metrics.begin(); iterator != m_metrics.end(); ++iterator)1288 for (QMap<Metric_Type, UIMetric>::const_iterator iterator = m_metrics.begin(); iterator != m_metrics.end(); ++iterator) 1289 1289 iterator.value().toFile(stream); 1290 1290 dataFile.close(); … … 1323 1323 void UIVMActivityMonitor::resetRAMInfoLabel() 1324 1324 { 1325 if (m_infoLabels.contains( m_strRAMMetricName) && m_infoLabels[m_strRAMMetricName])1325 if (m_infoLabels.contains(Metric_Type_RAM) && m_infoLabels[Metric_Type_RAM]) 1326 1326 { 1327 1327 QString strInfo = QString("<b>%1</b><br/>%2: %3<br/>%4: %5<br/>%6: %7"). … … 1329 1329 .arg(m_strRAMInfoLabelFree).arg("--") 1330 1330 .arg(m_strRAMInfoLabelUsed).arg("--"); 1331 m_infoLabels[ m_strRAMMetricName]->setText(strInfo);1332 } 1333 } 1334 1335 QString UIVMActivityMonitor::dataColorString( const QString &strChartName, int iDataIndex)1336 { 1337 if (!m_charts.contains( strChartName))1331 m_infoLabels[Metric_Type_RAM]->setText(strInfo); 1332 } 1333 } 1334 1335 QString UIVMActivityMonitor::dataColorString(Metric_Type enmType, int iDataIndex) 1336 { 1337 if (!m_charts.contains(enmType)) 1338 1338 return QColor(Qt::black).name(QColor::HexRgb); 1339 UIChart *pChart = m_charts[ strChartName];1339 UIChart *pChart = m_charts[enmType]; 1340 1340 if (!pChart) 1341 1341 return QColor(Qt::black).name(QColor::HexRgb); … … 1385 1385 1386 1386 /* Configure charts: */ 1387 if (m_charts.contains( m_strCPUMetricName) && m_charts[m_strCPUMetricName])1388 { 1389 m_charts[ m_strCPUMetricName]->setIsPieChartAllowed(true);1390 m_charts[ m_strCPUMetricName]->setIsAreaChartAllowed(true);1387 if (m_charts.contains(Metric_Type_CPU) && m_charts[Metric_Type_CPU]) 1388 { 1389 m_charts[Metric_Type_CPU]->setIsPieChartAllowed(true); 1390 m_charts[Metric_Type_CPU]->setIsAreaChartAllowed(true); 1391 1391 } 1392 1392 } … … 1479 1479 ++m_iTimeStep; 1480 1480 1481 if (m_metrics.contains( m_strRAMMetricName))1481 if (m_metrics.contains(Metric_Type_RAM)) 1482 1482 { 1483 1483 quint64 iTotalRAM = 0; … … 1488 1488 1489 1489 /* Update the CPU load chart with values we get from IMachineDebugger::getCPULoad(..): */ 1490 if (m_metrics.contains( m_strCPUMetricName))1490 if (m_metrics.contains(Metric_Type_CPU)) 1491 1491 { 1492 1492 ULONG aPctExecuting; … … 1577 1577 m_pTimer->stop(); 1578 1578 /* reset the metrics. this will delete their data cache: */ 1579 for (QMap< QString, UIMetric>::iterator iterator = m_metrics.begin();1579 for (QMap<Metric_Type, UIMetric>::iterator iterator = m_metrics.begin(); 1580 1580 iterator != m_metrics.end(); ++iterator) 1581 1581 iterator.value().reset(); 1582 1582 /* force update on the charts to draw now emptied metrics' data: */ 1583 for (QMap< QString, UIChart*>::iterator iterator = m_charts.begin();1583 for (QMap<Metric_Type, UIChart*>::iterator iterator = m_charts.begin(); 1584 1584 iterator != m_charts.end(); ++iterator) 1585 1585 iterator.value()->update(); … … 1598 1598 UIVMActivityMonitor::prepareWidgets(); 1599 1599 1600 Q StringListchartOrder;1601 chartOrder << m_strCPUMetricName << m_strRAMMetricName<<1602 m_strNetworkMetricName << m_strDiskIOMetricName << m_strVMExitMetricName;1600 QVector<Metric_Type> chartOrder; 1601 chartOrder << Metric_Type_CPU << Metric_Type_RAM << 1602 Metric_Type_Network_InOut << Metric_Type_Disk_InOut << Metric_Type_VM_Exits; 1603 1603 int iRow = 0; 1604 foreach ( const QString &strMetricName, chartOrder)1605 { 1606 if (!m_metrics.contains( strMetricName))1604 foreach (Metric_Type enmType, chartOrder) 1605 { 1606 if (!m_metrics.contains(enmType)) 1607 1607 continue; 1608 1608 … … 1619 1619 pLabel->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); 1620 1620 pChartLayout->addWidget(pLabel); 1621 m_infoLabels.insert( strMetricName, pLabel);1622 1623 UIChart *pChart = new UIChart(this, &(m_metrics[ strMetricName]), m_iMaximumQueueSize);1621 m_infoLabels.insert(enmType, pLabel); 1622 1623 UIChart *pChart = new UIChart(this, &(m_metrics[enmType]), m_iMaximumQueueSize); 1624 1624 connect(pChart, &UIChart::sigExportMetricsToFile, 1625 1625 this, &UIVMActivityMonitor::sltExportMetricsToFile); 1626 1626 connect(pChart, &UIChart::sigDataIndexUnderCursor, 1627 1627 this, &UIVMActivityMonitor::sltChartDataIndexUnderCursorChanged); 1628 m_charts.insert( strMetricName, pChart);1628 m_charts.insert(enmType, pChart); 1629 1629 pChart->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); 1630 1630 pChartLayout->addWidget(pChart); … … 1661 1661 ramMetric.setDataSeriesName(1, "Used"); 1662 1662 ramMetric.setRequiresGuestAdditions(true); 1663 m_metrics.insert( m_strRAMMetricName, ramMetric);1663 m_metrics.insert(Metric_Type_RAM, ramMetric); 1664 1664 } 1665 1665 } … … 1671 1671 cpuMetric.setDataSeriesName(0, "Guest Load"); 1672 1672 cpuMetric.setDataSeriesName(1, "VMM Load"); 1673 m_metrics.insert( m_strCPUMetricName, cpuMetric);1673 m_metrics.insert(Metric_Type_CPU, cpuMetric); 1674 1674 1675 1675 /* Network metric: */ … … 1678 1678 networkMetric.setDataSeriesName(1, "Transmit Rate"); 1679 1679 networkMetric.setAutoUpdateMaximum(true); 1680 m_metrics.insert( m_strNetworkMetricName, networkMetric);1680 m_metrics.insert(Metric_Type_Network_InOut, networkMetric); 1681 1681 1682 1682 /* Disk IO metric */ … … 1685 1685 diskIOMetric.setDataSeriesName(1, "Read Rate"); 1686 1686 diskIOMetric.setAutoUpdateMaximum(true); 1687 m_metrics.insert( m_strDiskIOMetricName, diskIOMetric);1687 m_metrics.insert(Metric_Type_Disk_InOut, diskIOMetric); 1688 1688 1689 1689 /* VM exits metric */ 1690 1690 UIMetric VMExitsMetric(m_strVMExitMetricName, "times", m_iMaximumQueueSize); 1691 1691 VMExitsMetric.setAutoUpdateMaximum(true); 1692 m_metrics.insert( m_strVMExitMetricName, VMExitsMetric);1692 m_metrics.insert(Metric_Type_VM_Exits, VMExitsMetric); 1693 1693 } 1694 1694 … … 1722 1722 void UIVMActivityMonitorLocal::enableDisableGuestAdditionDependedWidgets(bool fEnable) 1723 1723 { 1724 for (QMap< QString, UIMetric>::const_iterator iterator = m_metrics.begin();1724 for (QMap<Metric_Type, UIMetric>::const_iterator iterator = m_metrics.begin(); 1725 1725 iterator != m_metrics.end(); ++iterator) 1726 1726 { … … 1742 1742 return; 1743 1743 1744 UIMetric &VMExitMetric = m_metrics[ m_strVMExitMetricName];1744 UIMetric &VMExitMetric = m_metrics[Metric_Type_VM_Exits]; 1745 1745 quint64 iRate = uTotalVMExits - VMExitMetric.total(0); 1746 1746 VMExitMetric.setTotal(0, uTotalVMExits); … … 1752 1752 } 1753 1753 VMExitMetric.addData(0, iRate); 1754 if (m_infoLabels.contains( m_strVMExitMetricName) && m_infoLabels[m_strVMExitMetricName])1754 if (m_infoLabels.contains(Metric_Type_VM_Exits) && m_infoLabels[Metric_Type_VM_Exits]) 1755 1755 { 1756 1756 QString strInfo; 1757 1757 strInfo = QString("<b>%1</b><br/><font color=\"%2\">%3: %4 %5</font><br/>%6: %7 %8") 1758 1758 .arg(m_strVMExitInfoLabelTitle) 1759 .arg(dataColorString( m_strCPUMetricName, 0)).arg(m_strVMExitLabelCurrent).arg(UITranslator::addMetricSuffixToNumber(iRate)).arg(VMExitMetric.unit())1759 .arg(dataColorString(Metric_Type_VM_Exits, 0)).arg(m_strVMExitLabelCurrent).arg(UITranslator::addMetricSuffixToNumber(iRate)).arg(VMExitMetric.unit()) 1760 1760 .arg(m_strVMExitLabelTotal).arg(UITranslator::addMetricSuffixToNumber(uTotalVMExits)).arg(VMExitMetric.unit()); 1761 m_infoLabels[ m_strVMExitMetricName]->setText(strInfo);1762 } 1763 if (m_charts.contains( m_strVMExitMetricName))1764 m_charts[ m_strVMExitMetricName]->update();1761 m_infoLabels[Metric_Type_VM_Exits]->setText(strInfo); 1762 } 1763 if (m_charts.contains(Metric_Type_VM_Exits)) 1764 m_charts[Metric_Type_VM_Exits]->update(); 1765 1765 } 1766 1766 1767 1767 void UIVMActivityMonitorLocal::updateCPUChart(quint64 iExecutingPercentage, ULONG iOtherPercentage) 1768 1768 { 1769 UIMetric &CPUMetric = m_metrics[ m_strCPUMetricName];1769 UIMetric &CPUMetric = m_metrics[Metric_Type_CPU]; 1770 1770 CPUMetric.addData(0, iExecutingPercentage); 1771 1771 CPUMetric.addData(1, iOtherPercentage); 1772 1772 CPUMetric.setMaximum(100); 1773 if (m_infoLabels.contains( m_strCPUMetricName) && m_infoLabels[m_strCPUMetricName])1773 if (m_infoLabels.contains(Metric_Type_CPU) && m_infoLabels[Metric_Type_CPU]) 1774 1774 { 1775 1775 QString strInfo; … … 1777 1777 strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4%5</font><br/><font color=\"%6\">%7: %8%9</font>") 1778 1778 .arg(m_strCPUInfoLabelTitle) 1779 .arg(dataColorString( m_strCPUMetricName, 0))1779 .arg(dataColorString(Metric_Type_CPU, 0)) 1780 1780 .arg(m_strCPUInfoLabelGuest).arg(QString::number(iExecutingPercentage)).arg(CPUMetric.unit()) 1781 .arg(dataColorString( m_strCPUMetricName, 1))1781 .arg(dataColorString(Metric_Type_CPU, 1)) 1782 1782 .arg(m_strCPUInfoLabelVMM).arg(QString::number(iOtherPercentage)).arg(CPUMetric.unit()); 1783 m_infoLabels[ m_strCPUMetricName]->setText(strInfo);1784 } 1785 1786 if (m_charts.contains( m_strCPUMetricName))1787 m_charts[ m_strCPUMetricName]->update();1783 m_infoLabels[Metric_Type_CPU]->setText(strInfo); 1784 } 1785 1786 if (m_charts.contains(Metric_Type_CPU)) 1787 m_charts[Metric_Type_CPU]->update(); 1788 1788 } 1789 1789 1790 1790 void UIVMActivityMonitorLocal::updateRAMGraphsAndMetric(quint64 iTotalRAM, quint64 iFreeRAM) 1791 1791 { 1792 UIMetric &RAMMetric = m_metrics[ m_strRAMMetricName];1792 UIMetric &RAMMetric = m_metrics[Metric_Type_RAM]; 1793 1793 RAMMetric.setMaximum(iTotalRAM); 1794 1794 RAMMetric.addData(0, iTotalRAM - iFreeRAM); 1795 if (m_infoLabels.contains( m_strRAMMetricName) && m_infoLabels[m_strRAMMetricName])1795 if (m_infoLabels.contains(Metric_Type_RAM) && m_infoLabels[Metric_Type_RAM]) 1796 1796 { 1797 1797 QString strInfo; … … 1799 1799 .arg(m_strRAMInfoLabelTitle) 1800 1800 .arg(m_strRAMInfoLabelTotal).arg(UITranslator::formatSize(_1K * iTotalRAM, g_iDecimalCount)) 1801 .arg(dataColorString( m_strCPUMetricName, 1)).arg(m_strRAMInfoLabelFree).arg(UITranslator::formatSize(_1K * (iFreeRAM), g_iDecimalCount))1802 .arg(dataColorString( m_strCPUMetricName, 0)).arg(m_strRAMInfoLabelUsed).arg(UITranslator::formatSize(_1K * (iTotalRAM - iFreeRAM), g_iDecimalCount));1803 m_infoLabels[ m_strRAMMetricName]->setText(strInfo);1804 } 1805 if (m_charts.contains( m_strRAMMetricName))1806 m_charts[ m_strRAMMetricName]->update();1801 .arg(dataColorString(Metric_Type_RAM, 1)).arg(m_strRAMInfoLabelFree).arg(UITranslator::formatSize(_1K * (iFreeRAM), g_iDecimalCount)) 1802 .arg(dataColorString(Metric_Type_RAM, 0)).arg(m_strRAMInfoLabelUsed).arg(UITranslator::formatSize(_1K * (iTotalRAM - iFreeRAM), g_iDecimalCount)); 1803 m_infoLabels[Metric_Type_RAM]->setText(strInfo); 1804 } 1805 if (m_charts.contains(Metric_Type_RAM)) 1806 m_charts[Metric_Type_RAM]->update(); 1807 1807 } 1808 1808 1809 1809 void UIVMActivityMonitorLocal::updateNetworkChart(quint64 uReceiveTotal, quint64 uTransmitTotal) 1810 1810 { 1811 UIMetric &NetMetric = m_metrics[ m_strNetworkMetricName];1811 UIMetric &NetMetric = m_metrics[Metric_Type_Network_InOut]; 1812 1812 1813 1813 quint64 uReceiveRate = uReceiveTotal - NetMetric.total(0); … … 1826 1826 NetMetric.addData(1, uTransmitRate); 1827 1827 1828 if (m_infoLabels.contains( m_strNetworkMetricName) && m_infoLabels[m_strNetworkMetricName])1828 if (m_infoLabels.contains(Metric_Type_Network_InOut) && m_infoLabels[Metric_Type_Network_InOut]) 1829 1829 { 1830 1830 QString strInfo; 1831 1831 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>") 1832 1832 .arg(m_strNetworkInfoLabelTitle) 1833 .arg(dataColorString( m_strNetworkMetricName, 0)).arg(m_strNetworkInfoLabelReceived).arg(UITranslator::formatSize(uReceiveRate, g_iDecimalCount))1833 .arg(dataColorString(Metric_Type_Network_InOut, 0)).arg(m_strNetworkInfoLabelReceived).arg(UITranslator::formatSize(uReceiveRate, g_iDecimalCount)) 1834 1834 .arg(m_strNetworkInfoLabelReceivedTotal).arg(UITranslator::formatSize(uReceiveTotal, g_iDecimalCount)) 1835 .arg(dataColorString( m_strNetworkMetricName, 1)).arg(m_strNetworkInfoLabelTransmitted).arg(UITranslator::formatSize(uTransmitRate, g_iDecimalCount))1835 .arg(dataColorString(Metric_Type_Network_InOut, 1)).arg(m_strNetworkInfoLabelTransmitted).arg(UITranslator::formatSize(uTransmitRate, g_iDecimalCount)) 1836 1836 .arg(m_strNetworkInfoLabelTransmittedTotal).arg(UITranslator::formatSize(uTransmitTotal, g_iDecimalCount)); 1837 m_infoLabels[ m_strNetworkMetricName]->setText(strInfo);1838 } 1839 if (m_charts.contains( m_strNetworkMetricName))1840 m_charts[ m_strNetworkMetricName]->update();1837 m_infoLabels[Metric_Type_Network_InOut]->setText(strInfo); 1838 } 1839 if (m_charts.contains(Metric_Type_Network_InOut)) 1840 m_charts[Metric_Type_Network_InOut]->update(); 1841 1841 } 1842 1842 1843 1843 void UIVMActivityMonitorLocal::updateDiskIOChart(quint64 uDiskIOTotalWritten, quint64 uDiskIOTotalRead) 1844 1844 { 1845 UIMetric &diskMetric = m_metrics[ m_strDiskIOMetricName];1845 UIMetric &diskMetric = m_metrics[Metric_Type_Disk_InOut]; 1846 1846 1847 1847 quint64 uWriteRate = uDiskIOTotalWritten - diskMetric.total(0); … … 1859 1859 diskMetric.addData(1, uReadRate); 1860 1860 1861 if (m_infoLabels.contains( m_strDiskIOMetricName) && m_infoLabels[m_strDiskIOMetricName])1861 if (m_infoLabels.contains(Metric_Type_Disk_InOut) && m_infoLabels[Metric_Type_Disk_InOut]) 1862 1862 { 1863 1863 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>") 1864 1864 .arg(m_strDiskIOInfoLabelTitle) 1865 .arg(dataColorString( m_strDiskIOMetricName, 0)).arg(m_strDiskIOInfoLabelWritten).arg(UITranslator::formatSize(uWriteRate, g_iDecimalCount))1865 .arg(dataColorString(Metric_Type_Disk_InOut, 0)).arg(m_strDiskIOInfoLabelWritten).arg(UITranslator::formatSize(uWriteRate, g_iDecimalCount)) 1866 1866 .arg(m_strDiskIOInfoLabelWrittenTotal).arg(UITranslator::formatSize((quint64)uDiskIOTotalWritten, g_iDecimalCount)) 1867 .arg(dataColorString( m_strDiskIOMetricName, 1)).arg(m_strDiskIOInfoLabelRead).arg(UITranslator::formatSize(uReadRate, g_iDecimalCount))1867 .arg(dataColorString(Metric_Type_Disk_InOut, 1)).arg(m_strDiskIOInfoLabelRead).arg(UITranslator::formatSize(uReadRate, g_iDecimalCount)) 1868 1868 .arg(m_strDiskIOInfoLabelReadTotal).arg(UITranslator::formatSize((quint64)uDiskIOTotalRead, g_iDecimalCount)); 1869 m_infoLabels[ m_strDiskIOMetricName]->setText(strInfo);1870 } 1871 if (m_charts.contains( m_strDiskIOMetricName))1872 m_charts[ m_strDiskIOMetricName]->update();1869 m_infoLabels[Metric_Type_Disk_InOut]->setText(strInfo); 1870 } 1871 if (m_charts.contains(Metric_Type_Disk_InOut)) 1872 m_charts[Metric_Type_Disk_InOut]->update(); 1873 1873 } 1874 1874 1875 1875 void UIVMActivityMonitorLocal::resetVMExitInfoLabel() 1876 1876 { 1877 if (m_infoLabels.contains( m_strVMExitMetricName) && m_infoLabels[m_strVMExitMetricName])1877 if (m_infoLabels.contains(Metric_Type_VM_Exits) && m_infoLabels[Metric_Type_VM_Exits]) 1878 1878 { 1879 1879 QString strInfo; … … 1883 1883 .arg(m_strVMExitLabelTotal).arg("--"); 1884 1884 1885 m_infoLabels[ m_strVMExitMetricName]->setText(strInfo);1885 m_infoLabels[Metric_Type_VM_Exits]->setText(strInfo); 1886 1886 } 1887 1887 } … … 1889 1889 void UIVMActivityMonitorLocal::resetCPUInfoLabel() 1890 1890 { 1891 if (m_infoLabels.contains( m_strCPUMetricName) && m_infoLabels[m_strCPUMetricName])1891 if (m_infoLabels.contains(Metric_Type_CPU) && m_infoLabels[Metric_Type_CPU]) 1892 1892 { 1893 1893 QString strInfo =QString("<b>%1</b></b><br/>%2: %3<br/>%4: %5") … … 1895 1895 .arg(m_strCPUInfoLabelGuest).arg("--") 1896 1896 .arg(m_strCPUInfoLabelVMM).arg("--"); 1897 m_infoLabels[ m_strCPUMetricName]->setText(strInfo);1897 m_infoLabels[Metric_Type_CPU]->setText(strInfo); 1898 1898 } 1899 1899 } … … 1901 1901 void UIVMActivityMonitorLocal::resetNetworkInfoLabel() 1902 1902 { 1903 if (m_infoLabels.contains( m_strNetworkMetricName) && m_infoLabels[m_strNetworkMetricName])1903 if (m_infoLabels.contains(Metric_Type_Network_InOut) && m_infoLabels[Metric_Type_Network_InOut]) 1904 1904 { 1905 1905 QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4 %5<br/>%6: %7<br/>%8 %9") … … 1909 1909 .arg(m_strNetworkInfoLabelTransmitted).arg("--") 1910 1910 .arg(m_strNetworkInfoLabelTransmittedTotal).arg("--"); 1911 m_infoLabels[ m_strNetworkMetricName]->setText(strInfo);1911 m_infoLabels[Metric_Type_Network_InOut]->setText(strInfo); 1912 1912 } 1913 1913 } … … 1915 1915 void UIVMActivityMonitorLocal::resetDiskIOInfoLabel() 1916 1916 { 1917 if (m_infoLabels.contains( m_strDiskIOMetricName) && m_infoLabels[m_strDiskIOMetricName])1917 if (m_infoLabels.contains(Metric_Type_Disk_InOut) && m_infoLabels[Metric_Type_Disk_InOut]) 1918 1918 { 1919 1919 QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4 %5<br/>%6: %7<br/>%8 %9") … … 1923 1923 .arg(m_strDiskIOInfoLabelRead).arg("--") 1924 1924 .arg(m_strDiskIOInfoLabelReadTotal).arg("--"); 1925 m_infoLabels[ m_strDiskIOMetricName]->setText(strInfo);1925 m_infoLabels[Metric_Type_Disk_InOut]->setText(strInfo); 1926 1926 } 1927 1927 } … … 1940 1940 , m_enmMachineState(KCloudMachineState_Invalid) 1941 1941 { 1942 m_metricType Names[KMetricType_CpuUtilization] = m_strCPUMetricName;1943 m_metricType Names[KMetricType_MemoryUtilization] = m_strRAMMetricName;1944 m_metricType Names[KMetricType_DiskBytesRead] = m_strDiskIOReadMetricName;1945 m_metricType Names[KMetricType_DiskBytesWritten] = m_strDiskIOWrittenMetricName;1946 m_metricType Names[KMetricType_NetworksBytesIn] = m_strNetworkInMetricName;1947 m_metricType Names[KMetricType_NetworksBytesOut] = m_strNetworkOutMetricName;1942 m_metricTypeDict[KMetricType_CpuUtilization] = Metric_Type_CPU; 1943 m_metricTypeDict[KMetricType_MemoryUtilization] = Metric_Type_RAM; 1944 m_metricTypeDict[KMetricType_DiskBytesRead] = Metric_Type_Disk_Out; 1945 m_metricTypeDict[KMetricType_DiskBytesWritten] = Metric_Type_Disk_In; 1946 m_metricTypeDict[KMetricType_NetworksBytesIn] = Metric_Type_Network_In; 1947 m_metricTypeDict[KMetricType_NetworksBytesOut] = Metric_Type_Network_Out; 1948 1948 1949 1949 setMachine(machine); … … 2109 2109 2110 2110 if (enmMetricType == KMetricType_NetworksBytesIn) 2111 m_metrics[ m_strNetworkInMetricName].reset();2111 m_metrics[Metric_Type_Network_In].reset(); 2112 2112 else if (enmMetricType == KMetricType_NetworksBytesOut) 2113 m_metrics[ m_strNetworkOutMetricName].reset();2113 m_metrics[Metric_Type_Network_Out].reset(); 2114 2114 else if (enmMetricType == KMetricType_DiskBytesRead) 2115 m_metrics[ m_strDiskIOReadMetricName].reset();2115 m_metrics[Metric_Type_Disk_Out].reset(); 2116 2116 else if (enmMetricType == KMetricType_DiskBytesWritten) 2117 m_metrics[ m_strDiskIOWrittenMetricName].reset();2117 m_metrics[Metric_Type_Disk_In].reset(); 2118 2118 else if (enmMetricType == KMetricType_CpuUtilization) 2119 m_metrics[ m_strCPUMetricName].reset();2119 m_metrics[Metric_Type_CPU].reset(); 2120 2120 else if (enmMetricType == KMetricType_MemoryUtilization) 2121 m_metrics[ m_strRAMMetricName].reset();2121 m_metrics[Metric_Type_RAM].reset(); 2122 2122 2123 2123 … … 2125 2125 { 2126 2126 if (enmMetricType == KMetricType_CpuUtilization) 2127 {2128 2127 updateCPUChart(newData[i], newTimeStamps[i]); 2129 }2130 2128 else if (enmMetricType == KMetricType_NetworksBytesOut) 2131 2129 updateNetworkOutChart(newData[i], newTimeStamps[i]); … … 2223 2221 m_pTimer->stop(); 2224 2222 /* reset the metrics. this will delete their data cache: */ 2225 for (QMap< QString, UIMetric>::iterator iterator = m_metrics.begin();2223 for (QMap<Metric_Type, UIMetric>::iterator iterator = m_metrics.begin(); 2226 2224 iterator != m_metrics.end(); ++iterator) 2227 2225 iterator.value().reset(); 2228 2226 /* force update on the charts to draw now emptied metrics' data: */ 2229 for (QMap< QString, UIChart*>::iterator iterator = m_charts.begin();2227 for (QMap<Metric_Type, UIChart*>::iterator iterator = m_charts.begin(); 2230 2228 iterator != m_charts.end(); ++iterator) 2231 2229 iterator.value()->update(); … … 2251 2249 void UIVMActivityMonitorCloud::updateCPUChart(quint64 iLoadPercentage, const QString &strLabel) 2252 2250 { 2253 UIMetric &CPUMetric = m_metrics[ m_strCPUMetricName];2251 UIMetric &CPUMetric = m_metrics[Metric_Type_CPU]; 2254 2252 CPUMetric.addData(0, iLoadPercentage, strLabel); 2255 2253 CPUMetric.setMaximum(100); 2256 if (m_infoLabels.contains( m_strCPUMetricName) && m_infoLabels[m_strCPUMetricName])2254 if (m_infoLabels.contains(Metric_Type_CPU) && m_infoLabels[Metric_Type_CPU]) 2257 2255 { 2258 2256 QString strInfo; … … 2260 2258 strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4%5</font>") 2261 2259 .arg(m_strCPUInfoLabelTitle) 2262 .arg(dataColorString( m_strCPUMetricName, 0))2260 .arg(dataColorString(Metric_Type_CPU, 0)) 2263 2261 .arg(m_strCPUInfoLabelGuest).arg(QString::number(iLoadPercentage)).arg(CPUMetric.unit()); 2264 2262 2265 m_infoLabels[ m_strCPUMetricName]->setText(strInfo);2266 } 2267 2268 if (m_charts.contains( m_strCPUMetricName))2269 m_charts[ m_strCPUMetricName]->update();2263 m_infoLabels[Metric_Type_CPU]->setText(strInfo); 2264 } 2265 2266 if (m_charts.contains(Metric_Type_CPU)) 2267 m_charts[Metric_Type_CPU]->update(); 2270 2268 } 2271 2269 2272 2270 void UIVMActivityMonitorCloud::updateNetworkInChart(quint64 uReceiveRate, const QString &strLabel) 2273 2271 { 2274 UIMetric &networkMetric = m_metrics[ m_strNetworkInMetricName];2272 UIMetric &networkMetric = m_metrics[Metric_Type_Network_In]; 2275 2273 networkMetric.addData(0, uReceiveRate, strLabel); 2276 2274 2277 2275 2278 if (m_infoLabels.contains( m_strNetworkInMetricName) && m_infoLabels[m_strNetworkInMetricName])2276 if (m_infoLabels.contains(Metric_Type_Network_In) && m_infoLabels[Metric_Type_Network_In]) 2279 2277 { 2280 2278 QString strInfo; 2281 2279 strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4</font><br/>") 2282 2280 .arg(m_strNetworkInInfoLabelTitle) 2283 .arg(dataColorString( m_strNetworkInMetricName, 0)).arg(m_strNetworkInfoLabelReceived).arg(UITranslator::formatSize(uReceiveRate, g_iDecimalCount));2284 2285 m_infoLabels[ m_strNetworkInMetricName]->setText(strInfo);2286 } 2287 if (m_charts.contains( m_strNetworkInMetricName))2288 m_charts[ m_strNetworkInMetricName]->update();2281 .arg(dataColorString(Metric_Type_Network_In, 0)).arg(m_strNetworkInfoLabelReceived).arg(UITranslator::formatSize(uReceiveRate, g_iDecimalCount)); 2282 2283 m_infoLabels[Metric_Type_Network_In]->setText(strInfo); 2284 } 2285 if (m_charts.contains(Metric_Type_Network_In)) 2286 m_charts[Metric_Type_Network_In]->update(); 2289 2287 } 2290 2288 2291 2289 void UIVMActivityMonitorCloud::updateNetworkOutChart(quint64 uTransmitRate, const QString &strLabel) 2292 2290 { 2293 UIMetric &networkMetric = m_metrics[ m_strNetworkOutMetricName];2291 UIMetric &networkMetric = m_metrics[Metric_Type_Network_Out]; 2294 2292 networkMetric.addData(0, uTransmitRate, strLabel); 2295 2293 2296 if (m_infoLabels.contains( m_strNetworkOutMetricName) && m_infoLabels[m_strNetworkOutMetricName])2294 if (m_infoLabels.contains(Metric_Type_Network_Out) && m_infoLabels[Metric_Type_Network_Out]) 2297 2295 { 2298 2296 QString strInfo; 2299 2297 strInfo = QString("<b>%1</b></b><br/><font color=\"%5\">%6: %7<br/></font>") 2300 2298 .arg(m_strNetworkOutInfoLabelTitle) 2301 .arg(dataColorString( m_strNetworkOutMetricName, 1)).arg(m_strNetworkInfoLabelTransmitted).arg(UITranslator::formatSize(uTransmitRate, g_iDecimalCount));2302 2303 m_infoLabels[ m_strNetworkOutMetricName]->setText(strInfo);2304 } 2305 if (m_charts.contains( m_strNetworkOutMetricName))2306 m_charts[ m_strNetworkOutMetricName]->update();2299 .arg(dataColorString(Metric_Type_Network_Out, 0)).arg(m_strNetworkInfoLabelTransmitted).arg(UITranslator::formatSize(uTransmitRate, g_iDecimalCount)); 2300 2301 m_infoLabels[Metric_Type_Network_Out]->setText(strInfo); 2302 } 2303 if (m_charts.contains(Metric_Type_Network_Out)) 2304 m_charts[Metric_Type_Network_Out]->update(); 2307 2305 } 2308 2306 2309 2307 void UIVMActivityMonitorCloud::updateDiskIOWrittenChart(quint64 uWriteRate, const QString &strLabel) 2310 2308 { 2311 UIMetric &diskMetric = m_metrics[ m_strDiskIOWrittenMetricName];2309 UIMetric &diskMetric = m_metrics[Metric_Type_Disk_In]; 2312 2310 2313 2311 diskMetric.addData(0, uWriteRate, strLabel); 2314 2312 2315 2313 2316 if (m_infoLabels.contains( m_strDiskIOWrittenMetricName) && m_infoLabels[m_strDiskIOWrittenMetricName])2314 if (m_infoLabels.contains(Metric_Type_Disk_In) && m_infoLabels[Metric_Type_Disk_In]) 2317 2315 { 2318 2316 QString strInfo = QString("<b>%1</b></b><br/> <font color=\"%2\">%3: %4</font>") 2319 2317 .arg(m_strDiskIOInfoLabelTitle) 2320 .arg(dataColorString( m_strDiskIOWrittenMetricName, 0)).arg(m_strDiskIOInfoLabelWritten).arg(UITranslator::formatSize(uWriteRate, g_iDecimalCount));2321 2322 m_infoLabels[ m_strDiskIOWrittenMetricName]->setText(strInfo);2323 } 2324 2325 if (m_charts.contains( m_strDiskIOWrittenMetricName))2326 m_charts[ m_strDiskIOWrittenMetricName]->update();2318 .arg(dataColorString(Metric_Type_Disk_In, 0)).arg(m_strDiskIOInfoLabelWritten).arg(UITranslator::formatSize(uWriteRate, g_iDecimalCount)); 2319 2320 m_infoLabels[Metric_Type_Disk_In]->setText(strInfo); 2321 } 2322 2323 if (m_charts.contains(Metric_Type_Disk_In)) 2324 m_charts[Metric_Type_Disk_In]->update(); 2327 2325 } 2328 2326 2329 2327 void UIVMActivityMonitorCloud::updateDiskIOReadChart(quint64 uReadRate, const QString &strLabel) 2330 2328 { 2331 UIMetric &diskMetric = m_metrics[ m_strDiskIOReadMetricName];2329 UIMetric &diskMetric = m_metrics[Metric_Type_Disk_Out]; 2332 2330 2333 2331 diskMetric.addData(0, uReadRate, strLabel); 2334 2332 2335 2333 2336 if (m_infoLabels.contains( m_strDiskIOReadMetricName) && m_infoLabels[m_strDiskIOReadMetricName])2334 if (m_infoLabels.contains(Metric_Type_Disk_Out) && m_infoLabels[Metric_Type_Disk_Out]) 2337 2335 { 2338 2336 QString strInfo = QString("<b>%1</b></b><br/> <font color=\"%2\">%3: %4</font>") 2339 2337 .arg(m_strDiskIOInfoLabelTitle) 2340 .arg(dataColorString( m_strDiskIOReadMetricName, 1)).arg(m_strDiskIOInfoLabelRead).arg(UITranslator::formatSize(uReadRate, g_iDecimalCount));2341 2342 m_infoLabels[ m_strDiskIOReadMetricName]->setText(strInfo);2343 } 2344 2345 if (m_charts.contains( m_strDiskIOReadMetricName))2346 m_charts[ m_strDiskIOReadMetricName]->update();2338 .arg(dataColorString(Metric_Type_Disk_Out, 0)).arg(m_strDiskIOInfoLabelRead).arg(UITranslator::formatSize(uReadRate, g_iDecimalCount)); 2339 2340 m_infoLabels[Metric_Type_Disk_Out]->setText(strInfo); 2341 } 2342 2343 if (m_charts.contains(Metric_Type_Disk_Out)) 2344 m_charts[Metric_Type_Disk_Out]->update(); 2347 2345 } 2348 2346 … … 2350 2348 void UIVMActivityMonitorCloud::updateRAMChart(quint64 iUsedRAM, const QString &strLabel) 2351 2349 { 2352 UIMetric &RAMMetric = m_metrics[ m_strRAMMetricName];2350 UIMetric &RAMMetric = m_metrics[Metric_Type_RAM]; 2353 2351 RAMMetric.setMaximum(m_iTotalRAM); 2354 2352 RAMMetric.addData(0, iUsedRAM, strLabel); 2355 2353 2356 if (m_infoLabels.contains( m_strRAMMetricName) && m_infoLabels[m_strRAMMetricName])2354 if (m_infoLabels.contains(Metric_Type_RAM) && m_infoLabels[Metric_Type_RAM]) 2357 2355 { 2358 2356 QString strInfo; … … 2360 2358 .arg(m_strRAMInfoLabelTitle) 2361 2359 .arg(m_strRAMInfoLabelTotal).arg(UITranslator::formatSize(_1K * m_iTotalRAM, g_iDecimalCount)) 2362 .arg(dataColorString( m_strCPUMetricName, 1)).arg(m_strRAMInfoLabelFree).arg(UITranslator::formatSize(_1K * (m_iTotalRAM - iUsedRAM), g_iDecimalCount))2363 .arg(dataColorString( m_strCPUMetricName, 0)).arg(m_strRAMInfoLabelUsed).arg(UITranslator::formatSize(_1K * iUsedRAM, g_iDecimalCount));2364 m_infoLabels[ m_strRAMMetricName]->setText(strInfo);2365 } 2366 2367 if (m_charts.contains( m_strRAMMetricName))2368 m_charts[ m_strRAMMetricName]->update();2360 .arg(dataColorString(Metric_Type_RAM, 1)).arg(m_strRAMInfoLabelFree).arg(UITranslator::formatSize(_1K * (m_iTotalRAM - iUsedRAM), g_iDecimalCount)) 2361 .arg(dataColorString(Metric_Type_RAM, 0)).arg(m_strRAMInfoLabelUsed).arg(UITranslator::formatSize(_1K * iUsedRAM, g_iDecimalCount)); 2362 m_infoLabels[Metric_Type_RAM]->setText(strInfo); 2363 } 2364 2365 if (m_charts.contains(Metric_Type_RAM)) 2366 m_charts[Metric_Type_RAM]->update(); 2369 2367 } 2370 2368 2371 2369 bool UIVMActivityMonitorCloud::findMetric(KMetricType enmMetricType, UIMetric &metric, int &iDataSeriesIndex) const 2372 2370 { 2373 if ( m_metricTypeNames[enmMetricType].isEmpty())2371 if (!m_metricTypeDict.contains(enmMetricType)) 2374 2372 return false; 2375 2373 2376 const QString &strMetricName = m_metricTypeNames[enmMetricType];2377 2378 if (!m_metrics.contains( strMetricName))2374 Metric_Type enmType = m_metricTypeDict[enmMetricType]; 2375 2376 if (!m_metrics.contains(enmType)) 2379 2377 return false; 2380 2378 2381 metric = m_metrics[ strMetricName];2379 metric = m_metrics[enmType]; 2382 2380 iDataSeriesIndex = 0; 2383 2381 if (enmMetricType == KMetricType_NetworksBytesOut || … … 2394 2392 UIMetric ramMetric(m_strRAMMetricName, "kb", m_iMaximumQueueSize); 2395 2393 ramMetric.setDataSeriesName(0, "Used"); 2396 m_metrics.insert( m_strRAMMetricName, ramMetric);2394 m_metrics.insert(Metric_Type_RAM, ramMetric); 2397 2395 } 2398 2396 … … 2400 2398 UIMetric cpuMetric(m_strCPUMetricName, "%", m_iMaximumQueueSize); 2401 2399 cpuMetric.setDataSeriesName(0, "CPU Utilization"); 2402 m_metrics.insert( m_strCPUMetricName, cpuMetric);2400 m_metrics.insert(Metric_Type_CPU, cpuMetric); 2403 2401 2404 2402 /* Network in metric: */ … … 2406 2404 networkInMetric.setDataSeriesName(0, "Receive Rate"); 2407 2405 networkInMetric.setAutoUpdateMaximum(true); 2408 m_metrics.insert( m_strNetworkInMetricName, networkInMetric);2406 m_metrics.insert(Metric_Type_Network_In, networkInMetric); 2409 2407 2410 2408 /* Network out metric: */ 2411 UIMetric networkOutMetric(m_strNetwork InMetricName, "B", m_iMaximumQueueSize);2409 UIMetric networkOutMetric(m_strNetworkOutMetricName, "B", m_iMaximumQueueSize); 2412 2410 networkOutMetric.setDataSeriesName(0, "Transmit Rate"); 2413 2411 networkOutMetric.setAutoUpdateMaximum(true); 2414 m_metrics.insert( m_strNetworkOutMetricName, networkOutMetric);2412 m_metrics.insert(Metric_Type_Network_Out, networkOutMetric); 2415 2413 2416 2414 /* Disk write metric */ … … 2418 2416 diskIOWrittenMetric.setDataSeriesName(0, "Write Rate"); 2419 2417 diskIOWrittenMetric.setAutoUpdateMaximum(true); 2420 m_metrics.insert( m_strDiskIOWrittenMetricName, diskIOWrittenMetric);2418 m_metrics.insert(Metric_Type_Disk_In, diskIOWrittenMetric); 2421 2419 2422 2420 /* Disk read metric */ … … 2424 2422 diskIOReadMetric.setDataSeriesName(0, "Read Rate"); 2425 2423 diskIOReadMetric.setAutoUpdateMaximum(true); 2426 m_metrics.insert( m_strDiskIOReadMetricName, diskIOReadMetric);2424 m_metrics.insert(Metric_Type_Disk_Out, diskIOReadMetric); 2427 2425 2428 2426 } … … 2432 2430 UIVMActivityMonitor::prepareWidgets(); 2433 2431 2434 Q StringListchartOrder;2435 chartOrder << m_strCPUMetricName << m_strRAMMetricName<<2436 m_strNetworkInMetricName << m_strNetworkOutMetricName << m_strDiskIOWrittenMetricName << m_strDiskIOReadMetricName;2432 QVector<Metric_Type> chartOrder; 2433 chartOrder << Metric_Type_CPU << Metric_Type_RAM << 2434 Metric_Type_Network_In << Metric_Type_Network_Out << Metric_Type_Disk_In << Metric_Type_Disk_Out; 2437 2435 int iRow = 0; 2438 foreach ( const QString &strMetricName, chartOrder)2439 { 2440 if (!m_metrics.contains( strMetricName))2436 foreach (Metric_Type enmType, chartOrder) 2437 { 2438 if (!m_metrics.contains(enmType)) 2441 2439 continue; 2442 2440 … … 2453 2451 pLabel->setAlignment(Qt::AlignLeft | Qt::AlignVCenter); 2454 2452 pChartLayout->addWidget(pLabel); 2455 m_infoLabels.insert( strMetricName, pLabel);2456 2457 UIChart *pChart = new UIChart(this, &(m_metrics[ strMetricName]), m_iMaximumQueueSize);2453 m_infoLabels.insert(enmType, pLabel); 2454 2455 UIChart *pChart = new UIChart(this, &(m_metrics[enmType]), m_iMaximumQueueSize); 2458 2456 connect(pChart, &UIChart::sigExportMetricsToFile, 2459 2457 this, &UIVMActivityMonitor::sltExportMetricsToFile); 2460 2458 connect(pChart, &UIChart::sigDataIndexUnderCursor, 2461 2459 this, &UIVMActivityMonitor::sltChartDataIndexUnderCursorChanged); 2462 m_charts.insert( strMetricName, pChart);2460 m_charts.insert(enmType, pChart); 2463 2461 pChart->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); 2464 2462 pChartLayout->addWidget(pChart); … … 2471 2469 bottomSpacerWidget->setVisible(true); 2472 2470 m_pContainerLayout->addWidget(bottomSpacerWidget, iRow, 0, 1, 2); 2473 m_charts[ m_strCPUMetricName]->setShowPieChart(false);2471 m_charts[Metric_Type_CPU]->setShowPieChart(false); 2474 2472 } 2475 2473 2476 2474 void UIVMActivityMonitorCloud::resetCPUInfoLabel() 2477 2475 { 2478 if (m_infoLabels.contains( m_strCPUMetricName) && m_infoLabels[m_strCPUMetricName])2476 if (m_infoLabels.contains(Metric_Type_CPU) && m_infoLabels[Metric_Type_CPU]) 2479 2477 { 2480 2478 QString strInfo; … … 2484 2482 .arg(m_strCPUInfoLabelGuest).arg("---"); 2485 2483 2486 m_infoLabels[ m_strCPUMetricName]->setText(strInfo);2484 m_infoLabels[Metric_Type_CPU]->setText(strInfo); 2487 2485 } 2488 2486 } … … 2490 2488 void UIVMActivityMonitorCloud::resetNetworkInInfoLabel() 2491 2489 { 2492 if (m_infoLabels.contains( m_strNetworkInMetricName) && m_infoLabels[m_strNetworkInMetricName])2490 if (m_infoLabels.contains(Metric_Type_Network_In) && m_infoLabels[Metric_Type_Network_In]) 2493 2491 { 2494 2492 QString strInfo = QString("<b>%1</b></b><br/>%2: %3") … … 2496 2494 .arg(m_strNetworkInfoLabelReceived).arg("--"); 2497 2495 2498 m_infoLabels[ m_strNetworkInMetricName]->setText(strInfo);2496 m_infoLabels[Metric_Type_Network_In]->setText(strInfo); 2499 2497 } 2500 2498 } … … 2502 2500 void UIVMActivityMonitorCloud::resetNetworkOutInfoLabel() 2503 2501 { 2504 if (m_infoLabels.contains( m_strNetworkOutMetricName) && m_infoLabels[m_strNetworkOutMetricName])2502 if (m_infoLabels.contains(Metric_Type_Network_Out) && m_infoLabels[Metric_Type_Network_Out]) 2505 2503 { 2506 2504 QString strInfo = QString("<b>%1</b></b><br/>%2: %3") … … 2508 2506 .arg(m_strNetworkInfoLabelTransmitted).arg("--"); 2509 2507 2510 m_infoLabels[ m_strNetworkOutMetricName]->setText(strInfo);2508 m_infoLabels[Metric_Type_Network_Out]->setText(strInfo); 2511 2509 } 2512 2510 } … … 2514 2512 void UIVMActivityMonitorCloud::resetDiskIOWrittenInfoLabel() 2515 2513 { 2516 if (m_infoLabels.contains( m_strDiskIOWrittenMetricName) && m_infoLabels[m_strDiskIOWrittenMetricName])2514 if (m_infoLabels.contains(Metric_Type_Disk_In) && m_infoLabels[Metric_Type_Disk_In]) 2517 2515 { 2518 2516 QString strInfo = QString("<b>%1</b></b><br/>%2: %3") 2519 2517 .arg(m_strDiskIOInfoLabelTitle) 2520 2518 .arg(m_strDiskIOInfoLabelWritten).arg("--"); 2521 m_infoLabels[ m_strDiskIOWrittenMetricName]->setText(strInfo);2519 m_infoLabels[Metric_Type_Disk_In]->setText(strInfo); 2522 2520 } 2523 2521 } … … 2525 2523 void UIVMActivityMonitorCloud::resetDiskIOReadInfoLabel() 2526 2524 { 2527 if (m_infoLabels.contains( m_strDiskIOReadMetricName) && m_infoLabels[m_strDiskIOReadMetricName])2525 if (m_infoLabels.contains(Metric_Type_Disk_Out) && m_infoLabels[Metric_Type_Disk_Out]) 2528 2526 { 2529 2527 QString strInfo = QString("<b>%1</b></b><br/>%2: %3") 2530 2528 .arg(m_strDiskIOInfoLabelTitle) 2531 2529 .arg(m_strDiskIOInfoLabelRead).arg("--"); 2532 m_infoLabels[ m_strDiskIOReadMetricName]->setText(strInfo);2530 m_infoLabels[Metric_Type_Disk_Out]->setText(strInfo); 2533 2531 } 2534 2532 } -
trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h
r102893 r102900 65 65 #define DATA_SERIES_SIZE 2 66 66 67 struct UIMetricData 68 { 69 quint64 m_value; 70 QString m_strLabel; 67 enum Metric_Type 68 { 69 Metric_Type_CPU = 0, 70 Metric_Type_RAM, 71 Metric_Type_Disk_InOut, 72 Metric_Type_Disk_In, 73 Metric_Type_Disk_Out, 74 Metric_Type_Network_InOut, 75 Metric_Type_Network_In, 76 Metric_Type_Network_Out, 77 Metric_Type_VM_Exits, 78 Metric_Type_Max 71 79 }; 72 80 … … 168 176 virtual void start() = 0; 169 177 170 /** Returns a QColor for the chart with @p strChartName and data series with @p iDataIndex. */ 171 QString dataColorString(const QString &strChartName, int iDataIndex); 178 QString dataColorString(Metric_Type enmType, int iDataIndex); 172 179 173 180 /** @name The following functions reset corresponding info labels … … 183 190 QTimer *m_pTimer; 184 191 quint64 m_iTimeStep; 185 QMap< QString, UIMetric> m_metrics;192 QMap<Metric_Type, UIMetric> m_metrics; 186 193 187 194 /** @name These metric names are used for map keys to identify metrics. They are not translated. … … 196 203 QVector<CUnknown> m_objectList; 197 204 /** @} */ 198 QMap<QString,UIChart*> m_charts; 199 /** Stores the QLabel instances which we show next to each UIChart. The value is the name of the metric. */ 200 QMap<QString,QLabel*> m_infoLabels; 205 QMap<Metric_Type, UIChart*> m_charts; 206 QMap<Metric_Type, QLabel*> m_infoLabels; 201 207 202 208 /** @name Cached translated strings. … … 370 376 371 377 QVector<KMetricType> m_availableMetricTypes; 372 /** Mapping from API enums to internal metric names. Necessary also since we don't hace a 1-to-1 mapping. */373 QHash<KMetricType, QString> m_metricTypeNames;378 /** Mapping from API enums to internal metric type enum. */ 379 QHash<KMetricType, Metric_Type> m_metricTypeDict; 374 380 375 381 /** Total amount of RAM in kb. */
Note:
See TracChangeset
for help on using the changeset viewer.