VirtualBox

Changeset 102900 in vbox for trunk/src


Ignore:
Timestamp:
Jan 16, 2024 3:08:18 PM (16 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
161122
Message:

FE/Qt: bugref:10501. Using an enum rather than strings metric/chart container keys.

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  
    12861286    {
    12871287        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)
    12891289            iterator.value().toFile(stream);
    12901290        dataFile.close();
     
    13231323void UIVMActivityMonitor::resetRAMInfoLabel()
    13241324{
    1325     if (m_infoLabels.contains(m_strRAMMetricName)  && m_infoLabels[m_strRAMMetricName])
     1325    if (m_infoLabels.contains(Metric_Type_RAM)  && m_infoLabels[Metric_Type_RAM])
    13261326    {
    13271327        QString strInfo = QString("<b>%1</b><br/>%2: %3<br/>%4: %5<br/>%6: %7").
     
    13291329            .arg(m_strRAMInfoLabelFree).arg("--")
    13301330            .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
     1335QString UIVMActivityMonitor::dataColorString(Metric_Type enmType, int iDataIndex)
     1336{
     1337    if (!m_charts.contains(enmType))
    13381338        return QColor(Qt::black).name(QColor::HexRgb);
    1339     UIChart *pChart = m_charts[strChartName];
     1339    UIChart *pChart = m_charts[enmType];
    13401340    if (!pChart)
    13411341        return QColor(Qt::black).name(QColor::HexRgb);
     
    13851385
    13861386    /* 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);
    13911391    }
    13921392}
     
    14791479    ++m_iTimeStep;
    14801480
    1481     if (m_metrics.contains(m_strRAMMetricName))
     1481    if (m_metrics.contains(Metric_Type_RAM))
    14821482    {
    14831483        quint64 iTotalRAM = 0;
     
    14881488
    14891489    /* 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))
    14911491    {
    14921492        ULONG aPctExecuting;
     
    15771577        m_pTimer->stop();
    15781578    /* 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();
    15801580         iterator != m_metrics.end(); ++iterator)
    15811581        iterator.value().reset();
    15821582    /* 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();
    15841584         iterator != m_charts.end(); ++iterator)
    15851585        iterator.value()->update();
     
    15981598    UIVMActivityMonitor::prepareWidgets();
    15991599
    1600     QStringList chartOrder;
    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;
    16031603    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))
    16071607            continue;
    16081608
     
    16191619        pLabel->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
    16201620        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);
    16241624        connect(pChart, &UIChart::sigExportMetricsToFile,
    16251625                this, &UIVMActivityMonitor::sltExportMetricsToFile);
    16261626        connect(pChart, &UIChart::sigDataIndexUnderCursor,
    16271627                this, &UIVMActivityMonitor::sltChartDataIndexUnderCursorChanged);
    1628         m_charts.insert(strMetricName, pChart);
     1628        m_charts.insert(enmType, pChart);
    16291629        pChart->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
    16301630        pChartLayout->addWidget(pChart);
     
    16611661                    ramMetric.setDataSeriesName(1, "Used");
    16621662                    ramMetric.setRequiresGuestAdditions(true);
    1663                     m_metrics.insert(m_strRAMMetricName, ramMetric);
     1663                    m_metrics.insert(Metric_Type_RAM, ramMetric);
    16641664                }
    16651665            }
     
    16711671    cpuMetric.setDataSeriesName(0, "Guest Load");
    16721672    cpuMetric.setDataSeriesName(1, "VMM Load");
    1673     m_metrics.insert(m_strCPUMetricName, cpuMetric);
     1673    m_metrics.insert(Metric_Type_CPU, cpuMetric);
    16741674
    16751675    /* Network metric: */
     
    16781678    networkMetric.setDataSeriesName(1, "Transmit Rate");
    16791679    networkMetric.setAutoUpdateMaximum(true);
    1680     m_metrics.insert(m_strNetworkMetricName, networkMetric);
     1680    m_metrics.insert(Metric_Type_Network_InOut, networkMetric);
    16811681
    16821682    /* Disk IO metric */
     
    16851685    diskIOMetric.setDataSeriesName(1, "Read Rate");
    16861686    diskIOMetric.setAutoUpdateMaximum(true);
    1687     m_metrics.insert(m_strDiskIOMetricName, diskIOMetric);
     1687    m_metrics.insert(Metric_Type_Disk_InOut, diskIOMetric);
    16881688
    16891689    /* VM exits metric */
    16901690    UIMetric VMExitsMetric(m_strVMExitMetricName, "times", m_iMaximumQueueSize);
    16911691    VMExitsMetric.setAutoUpdateMaximum(true);
    1692     m_metrics.insert(m_strVMExitMetricName, VMExitsMetric);
     1692    m_metrics.insert(Metric_Type_VM_Exits, VMExitsMetric);
    16931693}
    16941694
     
    17221722void UIVMActivityMonitorLocal::enableDisableGuestAdditionDependedWidgets(bool fEnable)
    17231723{
    1724     for (QMap<QString, UIMetric>::const_iterator iterator =  m_metrics.begin();
     1724    for (QMap<Metric_Type, UIMetric>::const_iterator iterator =  m_metrics.begin();
    17251725         iterator != m_metrics.end(); ++iterator)
    17261726    {
     
    17421742        return;
    17431743
    1744     UIMetric &VMExitMetric = m_metrics[m_strVMExitMetricName];
     1744    UIMetric &VMExitMetric = m_metrics[Metric_Type_VM_Exits];
    17451745    quint64 iRate = uTotalVMExits - VMExitMetric.total(0);
    17461746    VMExitMetric.setTotal(0, uTotalVMExits);
     
    17521752    }
    17531753    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])
    17551755    {
    17561756        QString strInfo;
    17571757        strInfo = QString("<b>%1</b><br/><font color=\"%2\">%3: %4 %5</font><br/>%6: %7 %8")
    17581758            .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())
    17601760            .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();
    17651765}
    17661766
    17671767void UIVMActivityMonitorLocal::updateCPUChart(quint64 iExecutingPercentage, ULONG iOtherPercentage)
    17681768{
    1769     UIMetric &CPUMetric = m_metrics[m_strCPUMetricName];
     1769    UIMetric &CPUMetric = m_metrics[Metric_Type_CPU];
    17701770    CPUMetric.addData(0, iExecutingPercentage);
    17711771    CPUMetric.addData(1, iOtherPercentage);
    17721772    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])
    17741774    {
    17751775        QString strInfo;
     
    17771777        strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4%5</font><br/><font color=\"%6\">%7: %8%9</font>")
    17781778            .arg(m_strCPUInfoLabelTitle)
    1779             .arg(dataColorString(m_strCPUMetricName, 0))
     1779            .arg(dataColorString(Metric_Type_CPU, 0))
    17801780            .arg(m_strCPUInfoLabelGuest).arg(QString::number(iExecutingPercentage)).arg(CPUMetric.unit())
    1781             .arg(dataColorString(m_strCPUMetricName, 1))
     1781            .arg(dataColorString(Metric_Type_CPU, 1))
    17821782            .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();
    17881788}
    17891789
    17901790void UIVMActivityMonitorLocal::updateRAMGraphsAndMetric(quint64 iTotalRAM, quint64 iFreeRAM)
    17911791{
    1792     UIMetric &RAMMetric = m_metrics[m_strRAMMetricName];
     1792    UIMetric &RAMMetric = m_metrics[Metric_Type_RAM];
    17931793    RAMMetric.setMaximum(iTotalRAM);
    17941794    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])
    17961796    {
    17971797        QString strInfo;
     
    17991799            .arg(m_strRAMInfoLabelTitle)
    18001800            .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();
    18071807}
    18081808
    18091809void UIVMActivityMonitorLocal::updateNetworkChart(quint64 uReceiveTotal, quint64 uTransmitTotal)
    18101810{
    1811     UIMetric &NetMetric = m_metrics[m_strNetworkMetricName];
     1811    UIMetric &NetMetric = m_metrics[Metric_Type_Network_InOut];
    18121812
    18131813    quint64 uReceiveRate = uReceiveTotal - NetMetric.total(0);
     
    18261826    NetMetric.addData(1, uTransmitRate);
    18271827
    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])
    18291829    {
    18301830        QString strInfo;
    18311831        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>")
    18321832            .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))
    18341834            .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))
    18361836            .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();
    18411841}
    18421842
    18431843void UIVMActivityMonitorLocal::updateDiskIOChart(quint64 uDiskIOTotalWritten, quint64 uDiskIOTotalRead)
    18441844{
    1845     UIMetric &diskMetric = m_metrics[m_strDiskIOMetricName];
     1845    UIMetric &diskMetric = m_metrics[Metric_Type_Disk_InOut];
    18461846
    18471847    quint64 uWriteRate = uDiskIOTotalWritten - diskMetric.total(0);
     
    18591859    diskMetric.addData(1, uReadRate);
    18601860
    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])
    18621862    {
    18631863        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>")
    18641864            .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))
    18661866            .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))
    18681868            .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();
    18731873}
    18741874
    18751875void UIVMActivityMonitorLocal::resetVMExitInfoLabel()
    18761876{
    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])
    18781878    {
    18791879        QString strInfo;
     
    18831883            .arg(m_strVMExitLabelTotal).arg("--");
    18841884
    1885         m_infoLabels[m_strVMExitMetricName]->setText(strInfo);
     1885        m_infoLabels[Metric_Type_VM_Exits]->setText(strInfo);
    18861886    }
    18871887}
     
    18891889void UIVMActivityMonitorLocal::resetCPUInfoLabel()
    18901890{
    1891     if (m_infoLabels.contains(m_strCPUMetricName)  && m_infoLabels[m_strCPUMetricName])
     1891    if (m_infoLabels.contains(Metric_Type_CPU)  && m_infoLabels[Metric_Type_CPU])
    18921892    {
    18931893        QString strInfo =QString("<b>%1</b></b><br/>%2: %3<br/>%4: %5")
     
    18951895            .arg(m_strCPUInfoLabelGuest).arg("--")
    18961896            .arg(m_strCPUInfoLabelVMM).arg("--");
    1897         m_infoLabels[m_strCPUMetricName]->setText(strInfo);
     1897        m_infoLabels[Metric_Type_CPU]->setText(strInfo);
    18981898    }
    18991899}
     
    19011901void UIVMActivityMonitorLocal::resetNetworkInfoLabel()
    19021902{
    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])
    19041904    {
    19051905        QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4 %5<br/>%6: %7<br/>%8 %9")
     
    19091909            .arg(m_strNetworkInfoLabelTransmitted).arg("--")
    19101910            .arg(m_strNetworkInfoLabelTransmittedTotal).arg("--");
    1911         m_infoLabels[m_strNetworkMetricName]->setText(strInfo);
     1911        m_infoLabels[Metric_Type_Network_InOut]->setText(strInfo);
    19121912    }
    19131913}
     
    19151915void UIVMActivityMonitorLocal::resetDiskIOInfoLabel()
    19161916{
    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])
    19181918    {
    19191919        QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4 %5<br/>%6: %7<br/>%8 %9")
     
    19231923            .arg(m_strDiskIOInfoLabelRead).arg("--")
    19241924            .arg(m_strDiskIOInfoLabelReadTotal).arg("--");
    1925         m_infoLabels[m_strDiskIOMetricName]->setText(strInfo);
     1925        m_infoLabels[Metric_Type_Disk_InOut]->setText(strInfo);
    19261926    }
    19271927}
     
    19401940    , m_enmMachineState(KCloudMachineState_Invalid)
    19411941{
    1942     m_metricTypeNames[KMetricType_CpuUtilization] = m_strCPUMetricName;
    1943     m_metricTypeNames[KMetricType_MemoryUtilization] = m_strRAMMetricName;
    1944     m_metricTypeNames[KMetricType_DiskBytesRead] = m_strDiskIOReadMetricName;
    1945     m_metricTypeNames[KMetricType_DiskBytesWritten] = m_strDiskIOWrittenMetricName;
    1946     m_metricTypeNames[KMetricType_NetworksBytesIn] = m_strNetworkInMetricName;
    1947     m_metricTypeNames[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;
    19481948
    19491949    setMachine(machine);
     
    21092109
    21102110    if (enmMetricType == KMetricType_NetworksBytesIn)
    2111         m_metrics[m_strNetworkInMetricName].reset();
     2111        m_metrics[Metric_Type_Network_In].reset();
    21122112    else if (enmMetricType == KMetricType_NetworksBytesOut)
    2113         m_metrics[m_strNetworkOutMetricName].reset();
     2113        m_metrics[Metric_Type_Network_Out].reset();
    21142114    else if (enmMetricType == KMetricType_DiskBytesRead)
    2115         m_metrics[m_strDiskIOReadMetricName].reset();
     2115        m_metrics[Metric_Type_Disk_Out].reset();
    21162116    else if (enmMetricType == KMetricType_DiskBytesWritten)
    2117         m_metrics[m_strDiskIOWrittenMetricName].reset();
     2117        m_metrics[Metric_Type_Disk_In].reset();
    21182118    else if (enmMetricType == KMetricType_CpuUtilization)
    2119         m_metrics[m_strCPUMetricName].reset();
     2119        m_metrics[Metric_Type_CPU].reset();
    21202120    else if (enmMetricType == KMetricType_MemoryUtilization)
    2121         m_metrics[m_strRAMMetricName].reset();
     2121        m_metrics[Metric_Type_RAM].reset();
    21222122
    21232123
     
    21252125    {
    21262126        if (enmMetricType == KMetricType_CpuUtilization)
    2127         {
    21282127            updateCPUChart(newData[i], newTimeStamps[i]);
    2129         }
    21302128        else if (enmMetricType == KMetricType_NetworksBytesOut)
    21312129            updateNetworkOutChart(newData[i], newTimeStamps[i]);
     
    22232221        m_pTimer->stop();
    22242222    /* 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();
    22262224         iterator != m_metrics.end(); ++iterator)
    22272225        iterator.value().reset();
    22282226    /* 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();
    22302228         iterator != m_charts.end(); ++iterator)
    22312229        iterator.value()->update();
     
    22512249void UIVMActivityMonitorCloud::updateCPUChart(quint64 iLoadPercentage, const QString &strLabel)
    22522250{
    2253     UIMetric &CPUMetric = m_metrics[m_strCPUMetricName];
     2251    UIMetric &CPUMetric = m_metrics[Metric_Type_CPU];
    22542252    CPUMetric.addData(0, iLoadPercentage, strLabel);
    22552253    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])
    22572255    {
    22582256        QString strInfo;
     
    22602258        strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4%5</font>")
    22612259            .arg(m_strCPUInfoLabelTitle)
    2262             .arg(dataColorString(m_strCPUMetricName, 0))
     2260            .arg(dataColorString(Metric_Type_CPU, 0))
    22632261            .arg(m_strCPUInfoLabelGuest).arg(QString::number(iLoadPercentage)).arg(CPUMetric.unit());
    22642262
    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();
    22702268}
    22712269
    22722270void UIVMActivityMonitorCloud::updateNetworkInChart(quint64 uReceiveRate, const QString &strLabel)
    22732271{
    2274     UIMetric &networkMetric = m_metrics[m_strNetworkInMetricName];
     2272    UIMetric &networkMetric = m_metrics[Metric_Type_Network_In];
    22752273    networkMetric.addData(0, uReceiveRate, strLabel);
    22762274
    22772275
    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])
    22792277    {
    22802278        QString strInfo;
    22812279        strInfo = QString("<b>%1</b></b><br/><font color=\"%2\">%3: %4</font><br/>")
    22822280            .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();
    22892287}
    22902288
    22912289void UIVMActivityMonitorCloud::updateNetworkOutChart(quint64 uTransmitRate, const QString &strLabel)
    22922290{
    2293     UIMetric &networkMetric = m_metrics[m_strNetworkOutMetricName];
     2291    UIMetric &networkMetric = m_metrics[Metric_Type_Network_Out];
    22942292    networkMetric.addData(0, uTransmitRate, strLabel);
    22952293
    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])
    22972295    {
    22982296        QString strInfo;
    22992297        strInfo = QString("<b>%1</b></b><br/><font color=\"%5\">%6: %7<br/></font>")
    23002298            .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();
    23072305}
    23082306
    23092307void UIVMActivityMonitorCloud::updateDiskIOWrittenChart(quint64 uWriteRate, const QString &strLabel)
    23102308{
    2311     UIMetric &diskMetric = m_metrics[m_strDiskIOWrittenMetricName];
     2309    UIMetric &diskMetric = m_metrics[Metric_Type_Disk_In];
    23122310
    23132311    diskMetric.addData(0, uWriteRate, strLabel);
    23142312
    23152313
    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])
    23172315    {
    23182316        QString strInfo = QString("<b>%1</b></b><br/> <font color=\"%2\">%3: %4</font>")
    23192317            .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();
    23272325}
    23282326
    23292327void UIVMActivityMonitorCloud::updateDiskIOReadChart(quint64 uReadRate, const QString &strLabel)
    23302328{
    2331     UIMetric &diskMetric = m_metrics[m_strDiskIOReadMetricName];
     2329    UIMetric &diskMetric = m_metrics[Metric_Type_Disk_Out];
    23322330
    23332331    diskMetric.addData(0, uReadRate, strLabel);
    23342332
    23352333
    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])
    23372335    {
    23382336        QString strInfo = QString("<b>%1</b></b><br/> <font color=\"%2\">%3: %4</font>")
    23392337            .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();
    23472345}
    23482346
     
    23502348void UIVMActivityMonitorCloud::updateRAMChart(quint64 iUsedRAM, const QString &strLabel)
    23512349{
    2352     UIMetric &RAMMetric = m_metrics[m_strRAMMetricName];
     2350    UIMetric &RAMMetric = m_metrics[Metric_Type_RAM];
    23532351    RAMMetric.setMaximum(m_iTotalRAM);
    23542352    RAMMetric.addData(0, iUsedRAM, strLabel);
    23552353
    2356     if (m_infoLabels.contains(m_strRAMMetricName)  && m_infoLabels[m_strRAMMetricName])
     2354    if (m_infoLabels.contains(Metric_Type_RAM)  && m_infoLabels[Metric_Type_RAM])
    23572355    {
    23582356        QString strInfo;
     
    23602358            .arg(m_strRAMInfoLabelTitle)
    23612359            .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();
    23692367}
    23702368
    23712369bool UIVMActivityMonitorCloud::findMetric(KMetricType enmMetricType, UIMetric &metric, int &iDataSeriesIndex) const
    23722370{
    2373     if (m_metricTypeNames[enmMetricType].isEmpty())
     2371    if (!m_metricTypeDict.contains(enmMetricType))
    23742372        return false;
    23752373
    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))
    23792377        return false;
    23802378
    2381     metric = m_metrics[strMetricName];
     2379    metric = m_metrics[enmType];
    23822380    iDataSeriesIndex = 0;
    23832381    if (enmMetricType == KMetricType_NetworksBytesOut ||
     
    23942392        UIMetric ramMetric(m_strRAMMetricName, "kb", m_iMaximumQueueSize);
    23952393        ramMetric.setDataSeriesName(0, "Used");
    2396         m_metrics.insert(m_strRAMMetricName, ramMetric);
     2394        m_metrics.insert(Metric_Type_RAM, ramMetric);
    23972395    }
    23982396
     
    24002398    UIMetric cpuMetric(m_strCPUMetricName, "%", m_iMaximumQueueSize);
    24012399    cpuMetric.setDataSeriesName(0, "CPU Utilization");
    2402     m_metrics.insert(m_strCPUMetricName, cpuMetric);
     2400    m_metrics.insert(Metric_Type_CPU, cpuMetric);
    24032401
    24042402    /* Network in metric: */
     
    24062404    networkInMetric.setDataSeriesName(0, "Receive Rate");
    24072405    networkInMetric.setAutoUpdateMaximum(true);
    2408     m_metrics.insert(m_strNetworkInMetricName, networkInMetric);
     2406    m_metrics.insert(Metric_Type_Network_In, networkInMetric);
    24092407
    24102408    /* Network out metric: */
    2411     UIMetric networkOutMetric(m_strNetworkInMetricName, "B", m_iMaximumQueueSize);
     2409    UIMetric networkOutMetric(m_strNetworkOutMetricName, "B", m_iMaximumQueueSize);
    24122410    networkOutMetric.setDataSeriesName(0, "Transmit Rate");
    24132411    networkOutMetric.setAutoUpdateMaximum(true);
    2414     m_metrics.insert(m_strNetworkOutMetricName, networkOutMetric);
     2412    m_metrics.insert(Metric_Type_Network_Out, networkOutMetric);
    24152413
    24162414    /* Disk write metric */
     
    24182416    diskIOWrittenMetric.setDataSeriesName(0, "Write Rate");
    24192417    diskIOWrittenMetric.setAutoUpdateMaximum(true);
    2420     m_metrics.insert(m_strDiskIOWrittenMetricName, diskIOWrittenMetric);
     2418    m_metrics.insert(Metric_Type_Disk_In, diskIOWrittenMetric);
    24212419
    24222420    /* Disk read metric */
     
    24242422    diskIOReadMetric.setDataSeriesName(0, "Read Rate");
    24252423    diskIOReadMetric.setAutoUpdateMaximum(true);
    2426     m_metrics.insert(m_strDiskIOReadMetricName, diskIOReadMetric);
     2424    m_metrics.insert(Metric_Type_Disk_Out, diskIOReadMetric);
    24272425
    24282426}
     
    24322430    UIVMActivityMonitor::prepareWidgets();
    24332431
    2434     QStringList chartOrder;
    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;
    24372435    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))
    24412439            continue;
    24422440
     
    24532451        pLabel->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
    24542452        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);
    24582456        connect(pChart, &UIChart::sigExportMetricsToFile,
    24592457                this, &UIVMActivityMonitor::sltExportMetricsToFile);
    24602458        connect(pChart, &UIChart::sigDataIndexUnderCursor,
    24612459                this, &UIVMActivityMonitor::sltChartDataIndexUnderCursorChanged);
    2462         m_charts.insert(strMetricName, pChart);
     2460        m_charts.insert(enmType, pChart);
    24632461        pChart->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
    24642462        pChartLayout->addWidget(pChart);
     
    24712469    bottomSpacerWidget->setVisible(true);
    24722470    m_pContainerLayout->addWidget(bottomSpacerWidget, iRow, 0, 1, 2);
    2473     m_charts[m_strCPUMetricName]->setShowPieChart(false);
     2471    m_charts[Metric_Type_CPU]->setShowPieChart(false);
    24742472}
    24752473
    24762474void UIVMActivityMonitorCloud::resetCPUInfoLabel()
    24772475{
    2478     if (m_infoLabels.contains(m_strCPUMetricName)  && m_infoLabels[m_strCPUMetricName])
     2476    if (m_infoLabels.contains(Metric_Type_CPU)  && m_infoLabels[Metric_Type_CPU])
    24792477    {
    24802478        QString strInfo;
     
    24842482            .arg(m_strCPUInfoLabelGuest).arg("---");
    24852483
    2486         m_infoLabels[m_strCPUMetricName]->setText(strInfo);
     2484        m_infoLabels[Metric_Type_CPU]->setText(strInfo);
    24872485    }
    24882486}
     
    24902488void UIVMActivityMonitorCloud::resetNetworkInInfoLabel()
    24912489{
    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])
    24932491    {
    24942492        QString strInfo = QString("<b>%1</b></b><br/>%2: %3")
     
    24962494            .arg(m_strNetworkInfoLabelReceived).arg("--");
    24972495
    2498         m_infoLabels[m_strNetworkInMetricName]->setText(strInfo);
     2496        m_infoLabels[Metric_Type_Network_In]->setText(strInfo);
    24992497    }
    25002498}
     
    25022500void UIVMActivityMonitorCloud::resetNetworkOutInfoLabel()
    25032501{
    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])
    25052503    {
    25062504        QString strInfo = QString("<b>%1</b></b><br/>%2: %3")
     
    25082506            .arg(m_strNetworkInfoLabelTransmitted).arg("--");
    25092507
    2510         m_infoLabels[m_strNetworkOutMetricName]->setText(strInfo);
     2508        m_infoLabels[Metric_Type_Network_Out]->setText(strInfo);
    25112509    }
    25122510}
     
    25142512void UIVMActivityMonitorCloud::resetDiskIOWrittenInfoLabel()
    25152513{
    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])
    25172515    {
    25182516        QString strInfo = QString("<b>%1</b></b><br/>%2: %3")
    25192517            .arg(m_strDiskIOInfoLabelTitle)
    25202518            .arg(m_strDiskIOInfoLabelWritten).arg("--");
    2521         m_infoLabels[m_strDiskIOWrittenMetricName]->setText(strInfo);
     2519        m_infoLabels[Metric_Type_Disk_In]->setText(strInfo);
    25222520    }
    25232521}
     
    25252523void UIVMActivityMonitorCloud::resetDiskIOReadInfoLabel()
    25262524{
    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])
    25282526    {
    25292527        QString strInfo = QString("<b>%1</b></b><br/>%2: %3")
    25302528            .arg(m_strDiskIOInfoLabelTitle)
    25312529            .arg(m_strDiskIOInfoLabelRead).arg("--");
    2532         m_infoLabels[m_strDiskIOReadMetricName]->setText(strInfo);
     2530        m_infoLabels[Metric_Type_Disk_Out]->setText(strInfo);
    25332531    }
    25342532}
  • trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h

    r102893 r102900  
    6565#define DATA_SERIES_SIZE 2
    6666
    67 struct UIMetricData
    68 {
    69     quint64 m_value;
    70     QString m_strLabel;
     67enum 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
    7179};
    7280
     
    168176    virtual void start() = 0;
    169177
    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);
    172179
    173180    /** @name The following functions reset corresponding info labels
     
    183190    QTimer                 *m_pTimer;
    184191    quint64                 m_iTimeStep;
    185     QMap<QString, UIMetric> m_metrics;
     192    QMap<Metric_Type, UIMetric> m_metrics;
    186193
    187194    /** @name These metric names are used for map keys to identify metrics. They are not translated.
     
    196203        QVector<CUnknown> m_objectList;
    197204    /** @} */
    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;
    201207
    202208    /** @name Cached translated strings.
     
    370376
    371377    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;
    374380
    375381    /** Total amount of RAM in kb. */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette