VirtualBox

Changeset 102611 in vbox for trunk


Ignore:
Timestamp:
Dec 15, 2023 12:35:23 PM (10 months ago)
Author:
vboxsync
Message:

FE/Qt: bugref:10501. Adding disk IO metrics. We do not do muc with them yet.

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

    r102607 r102611  
    10851085    , m_strCPUMetricName("CPU Load")
    10861086    , m_strRAMMetricName("RAM Usage")
    1087     , m_strDiskMetricName("Disk Usage")
    10881087    , m_strNetworkMetricName("Network")
    10891088    , m_strDiskIOMetricName("DiskIO")
     
    11811180    QStringList chartOrder;
    11821181    chartOrder << m_strCPUMetricName << m_strRAMMetricName <<
    1183         m_strDiskMetricName << m_strNetworkMetricName << m_strDiskIOMetricName << m_strVMExitMetricName;
     1182        m_strNetworkMetricName << m_strDiskIOMetricName << m_strVMExitMetricName;
    11841183    int iRow = 0;
    11851184    foreach (const QString &strMetricName, chartOrder)
     
    12661265}
    12671266
    1268 void UIVMActivityMonitorLocal::resetCPUInfoLabel()
    1269 {
    1270     if (m_infoLabels.contains(m_strCPUMetricName)  && m_infoLabels[m_strCPUMetricName])
    1271     {
    1272         QString strInfo =QString("<b>%1</b></b><br/>%2: %3<br/>%4: %5")
    1273             .arg(m_strCPUInfoLabelTitle)
    1274             .arg(m_strCPUInfoLabelGuest).arg("--")
    1275             .arg(m_strCPUInfoLabelVMM).arg("--");
    1276         m_infoLabels[m_strCPUMetricName]->setText(strInfo);
    1277     }
    1278 }
    1279 
    12801267void UIVMActivityMonitor::resetRAMInfoLabel()
    12811268{
     
    12871274            .arg(m_strRAMInfoLabelUsed).arg("--");
    12881275        m_infoLabels[m_strRAMMetricName]->setText(strInfo);
    1289     }
    1290 }
    1291 
    1292 void UIVMActivityMonitor::resetNetworkInfoLabel()
    1293 {
    1294     if (m_infoLabels.contains(m_strNetworkMetricName)  && m_infoLabels[m_strNetworkMetricName])
    1295     {
    1296         QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4 %5<br/>%6: %7<br/>%8 %9")
    1297             .arg(m_strNetworkInfoLabelTitle)
    1298             .arg(m_strNetworkInfoLabelReceived).arg("--")
    1299             .arg(m_strNetworkInfoLabelReceivedTotal).arg("--")
    1300             .arg(m_strNetworkInfoLabelTransmitted).arg("--")
    1301             .arg(m_strNetworkInfoLabelTransmittedTotal).arg("--");
    1302         m_infoLabels[m_strNetworkMetricName]->setText(strInfo);
    1303     }
    1304 }
    1305 
    1306 void UIVMActivityMonitor::resetDiskIOInfoLabel()
    1307 {
    1308     if (m_infoLabels.contains(m_strDiskIOMetricName)  && m_infoLabels[m_strDiskIOMetricName])
    1309     {
    1310         QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4 %5<br/>%6: %7<br/>%8 %9")
    1311             .arg(m_strDiskIOInfoLabelTitle)
    1312             .arg(m_strDiskIOInfoLabelWritten).arg("--")
    1313             .arg(m_strDiskIOInfoLabelWrittenTotal).arg("--")
    1314             .arg(m_strDiskIOInfoLabelRead).arg("--")
    1315             .arg(m_strDiskIOInfoLabelReadTotal).arg("--");
    1316         m_infoLabels[m_strDiskIOMetricName]->setText(strInfo);
    13171276    }
    13181277}
     
    18211780}
    18221781
     1782void UIVMActivityMonitorLocal::resetCPUInfoLabel()
     1783{
     1784    if (m_infoLabels.contains(m_strCPUMetricName)  && m_infoLabels[m_strCPUMetricName])
     1785    {
     1786        QString strInfo =QString("<b>%1</b></b><br/>%2: %3<br/>%4: %5")
     1787            .arg(m_strCPUInfoLabelTitle)
     1788            .arg(m_strCPUInfoLabelGuest).arg("--")
     1789            .arg(m_strCPUInfoLabelVMM).arg("--");
     1790        m_infoLabels[m_strCPUMetricName]->setText(strInfo);
     1791    }
     1792}
     1793
     1794void UIVMActivityMonitorLocal::resetNetworkInfoLabel()
     1795{
     1796    if (m_infoLabels.contains(m_strNetworkMetricName)  && m_infoLabels[m_strNetworkMetricName])
     1797    {
     1798        QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4 %5<br/>%6: %7<br/>%8 %9")
     1799            .arg(m_strNetworkInfoLabelTitle)
     1800            .arg(m_strNetworkInfoLabelReceived).arg("--")
     1801            .arg(m_strNetworkInfoLabelReceivedTotal).arg("--")
     1802            .arg(m_strNetworkInfoLabelTransmitted).arg("--")
     1803            .arg(m_strNetworkInfoLabelTransmittedTotal).arg("--");
     1804        m_infoLabels[m_strNetworkMetricName]->setText(strInfo);
     1805    }
     1806}
     1807
     1808void UIVMActivityMonitorLocal::resetDiskIOInfoLabel()
     1809{
     1810    if (m_infoLabels.contains(m_strDiskIOMetricName)  && m_infoLabels[m_strDiskIOMetricName])
     1811    {
     1812        QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4 %5<br/>%6: %7<br/>%8 %9")
     1813            .arg(m_strDiskIOInfoLabelTitle)
     1814            .arg(m_strDiskIOInfoLabelWritten).arg("--")
     1815            .arg(m_strDiskIOInfoLabelWrittenTotal).arg("--")
     1816            .arg(m_strDiskIOInfoLabelRead).arg("--")
     1817            .arg(m_strDiskIOInfoLabelReadTotal).arg("--");
     1818        m_infoLabels[m_strDiskIOMetricName]->setText(strInfo);
     1819    }
     1820}
     1821
    18231822/*********************************************************************************************************************************
    18241823*   UIVMActivityMonitorCloud definition.                                                                         *
     
    18301829    m_metricTypeNames[KMetricType_CpuUtilization] = m_strCPUMetricName;
    18311830    m_metricTypeNames[KMetricType_MemoryUtilization] = m_strRAMMetricName;
    1832     m_metricTypeNames[KMetricType_DiskBytesRead] = m_strDiskMetricName;
    1833     m_metricTypeNames[KMetricType_DiskBytesWritten] = m_strDiskMetricName;
     1831    m_metricTypeNames[KMetricType_DiskBytesRead] = m_strDiskIOMetricName;
     1832    m_metricTypeNames[KMetricType_DiskBytesWritten] = m_strDiskIOMetricName;
    18341833    m_metricTypeNames[KMetricType_NetworksBytesIn] = m_strNetworkMetricName;
    18351834    m_metricTypeNames[KMetricType_NetworksBytesOut] = m_strNetworkMetricName;
     
    18411840    setMachine(machine);
    18421841    resetCPUInfoLabel();
     1842    resetNetworkInfoLabel();
     1843    resetDiskIOInfoLabel();
    18431844}
    18441845
     
    18631864    m_availableMetricTypes.clear();
    18641865    foreach (const QString &strName, metricNameList)
     1866    {
     1867        ///printf("%s\n", qPrintable(strName));
    18651868        m_availableMetricTypes << gpConverter->fromInternalString<KMetricType>(strName);
     1869    }
    18661870
    18671871    if (!m_availableMetricTypes.isEmpty())
     
    18821886            updateCPUGraphsAndMetric((ULONG) fValue, 0);
    18831887        }
     1888        else if (enmMetricType == KMetricType_NetworksBytesIn)
     1889        {
     1890            //printf("%s %s\n", qPrintable(data[i]), qPrintable(timeStamps[i]));
     1891        }
     1892        else if (enmMetricType == KMetricType_DiskBytesRead)
     1893        {
     1894            //printf("diskread %s %s\n", qPrintable(data[i]), qPrintable(timeStamps[i]));
     1895        }
     1896        else if (enmMetricType == KMetricType_DiskBytesWritten)
     1897        {
     1898            //printf("diskwrite %s %s\n", qPrintable(data[i]), qPrintable(timeStamps[i]));
     1899        }
     1900
     1901    // KMetricType_DiskBytesWritten = 4,
     1902
    18841903    }
    18851904    sender()->deleteLater();
     
    19121931    foreach (const KMetricType &enmMetricType, m_availableMetricTypes)
    19131932    {
     1933        printf("enm %d\n", enmMetricType);
    19141934        UIMetric metric;
    19151935        int iDataSeriesIndex = 0;
     
    19221942        if (metric.dataSize(iDataSeriesIndex) == 0)
    19231943            iDataSize = 60;
     1944
    19241945        UIProgressTaskReadCloudMachineMetricData *pTask = new UIProgressTaskReadCloudMachineMetricData(this, m_comMachine,
    19251946                                                                                                       enmMetricType, iDataSize);
     
    20012022    m_metrics.insert(m_strCPUMetricName, cpuMetric);
    20022023
    2003     // /* Network metric: */
    2004     // UIMetric networkMetric(m_strNetworkMetricName, "B", m_iMaximumQueueSize);
    2005     // networkMetric.setDataSeriesName(0, "Receive Rate");
    2006     // networkMetric.setDataSeriesName(1, "Transmit Rate");
    2007     // networkMetric.setAutoUpdateMaximum(true);
    2008     // m_metrics.insert(m_strNetworkMetricName, networkMetric);
    2009 
    2010     // /* Disk IO metric */
    2011     // UIMetric diskIOMetric(m_strDiskIOMetricName, "B", m_iMaximumQueueSize);
    2012     // diskIOMetric.setDataSeriesName(0, "Write Rate");
    2013     // diskIOMetric.setDataSeriesName(1, "Read Rate");
    2014     // diskIOMetric.setAutoUpdateMaximum(true);
    2015     // m_metrics.insert(m_strDiskIOMetricName, diskIOMetric);
    2016 
    2017     // /* VM exits metric */
    2018     // UIMetric VMExitsMetric(m_strVMExitMetricName, "times", m_iMaximumQueueSize);
    2019     // VMExitsMetric.setAutoUpdateMaximum(true);
    2020     // m_metrics.insert(m_strVMExitMetricName, VMExitsMetric);
     2024    /* Network metric: */
     2025    UIMetric networkMetric(m_strNetworkMetricName, "B", m_iMaximumQueueSize);
     2026    networkMetric.setDataSeriesName(0, "Receive Rate");
     2027    networkMetric.setDataSeriesName(1, "Transmit Rate");
     2028    networkMetric.setAutoUpdateMaximum(true);
     2029    m_metrics.insert(m_strNetworkMetricName, networkMetric);
     2030
     2031    /* Disk IO metric */
     2032    UIMetric diskIOMetric(m_strDiskIOMetricName, "B", m_iMaximumQueueSize);
     2033    diskIOMetric.setDataSeriesName(0, "Write Rate");
     2034    diskIOMetric.setDataSeriesName(1, "Read Rate");
     2035    diskIOMetric.setAutoUpdateMaximum(true);
     2036    m_metrics.insert(m_strDiskIOMetricName, diskIOMetric);
     2037
    20212038}
    20222039void UIVMActivityMonitorCloud::prepareWidgets()
     
    20412058}
    20422059
     2060void UIVMActivityMonitorCloud::resetNetworkInfoLabel()
     2061{
     2062    if (m_infoLabels.contains(m_strNetworkMetricName)  && m_infoLabels[m_strNetworkMetricName])
     2063    {
     2064        QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4 %5")
     2065            .arg(m_strNetworkInfoLabelTitle)
     2066            .arg(m_strNetworkInfoLabelReceived).arg("--")
     2067            .arg(m_strNetworkInfoLabelTransmitted).arg("--");
     2068
     2069        m_infoLabels[m_strNetworkMetricName]->setText(strInfo);
     2070    }
     2071}
     2072
     2073void UIVMActivityMonitorCloud::resetDiskIOInfoLabel()
     2074{
     2075    if (m_infoLabels.contains(m_strDiskIOMetricName)  && m_infoLabels[m_strDiskIOMetricName])
     2076    {
     2077        QString strInfo = QString("<b>%1</b></b><br/>%2: %3<br/>%4: %5")
     2078            .arg(m_strDiskIOInfoLabelTitle)
     2079            .arg(m_strDiskIOInfoLabelWritten).arg("--")
     2080            .arg(m_strDiskIOInfoLabelRead).arg("--");
     2081        m_infoLabels[m_strDiskIOMetricName]->setText(strInfo);
     2082    }
     2083}
     2084
    20432085#include "UIVMActivityMonitor.moc"
  • trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h

    r102598 r102611  
    167167      * @{ */
    168168        virtual void resetCPUInfoLabel() = 0;
     169        virtual void resetNetworkInfoLabel() = 0;
     170        virtual void resetDiskIOInfoLabel() = 0;
    169171        void resetRAMInfoLabel();
    170         void resetNetworkInfoLabel();
    171         void resetDiskIOInfoLabel();
    172172    /** @} */
    173173
     
    183183        QString m_strCPUMetricName;
    184184        QString m_strRAMMetricName;
    185         QString m_strDiskMetricName;
    186185        QString m_strNetworkMetricName;
    187186        QString m_strDiskIOMetricName;
     
    291290    void resetVMExitInfoLabel();
    292291    virtual void resetCPUInfoLabel();
     292    virtual void resetNetworkInfoLabel();
     293    virtual void resetDiskIOInfoLabel();
    293294    bool m_fGuestAdditionsAvailable;
    294295    CMachine m_comMachine;
     
    337338    /** @} */
    338339    virtual void resetCPUInfoLabel();
     340    virtual void resetNetworkInfoLabel();
     341    virtual void resetDiskIOInfoLabel();
     342
    339343    bool findMetric(KMetricType enmMetricType, UIMetric &metric, int &iDataSeriesIndex) const;
    340344    void prepareMetrics();
Note: See TracChangeset for help on using the changeset viewer.

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