Changeset 83380 in vbox
- Timestamp:
- Mar 24, 2020 2:10:43 PM (5 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/monitor
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/monitor/UIMonitorCommon.cpp
r83375 r83380 26 26 /* COM includes: */ 27 27 #include "CMachineDebugger.h" 28 #include "CPerformanceCollector.h" 28 29 29 30 /* static */ … … 106 107 return xmlData; 107 108 } 109 110 /* static */ 111 void UIMonitorCommon::getRAMLoad(CPerformanceCollector &comPerformanceCollector, QVector<QString> &nameList, 112 QVector<CUnknown>& objectList, quint64 &iOutTotalRAM, quint64 &iOutFreeRAM) 113 { 114 iOutTotalRAM = 0; 115 iOutFreeRAM = 0; 116 QVector<QString> aReturnNames; 117 QVector<CUnknown> aReturnObjects; 118 QVector<QString> aReturnUnits; 119 QVector<ULONG> aReturnScales; 120 QVector<ULONG> aReturnSequenceNumbers; 121 QVector<ULONG> aReturnDataIndices; 122 QVector<ULONG> aReturnDataLengths; 123 /* Make a query to CPerformanceCollector to fetch some metrics (e.g RAM usage): */ 124 QVector<LONG> returnData = comPerformanceCollector.QueryMetricsData(nameList, 125 objectList, 126 aReturnNames, 127 aReturnObjects, 128 aReturnUnits, 129 aReturnScales, 130 aReturnSequenceNumbers, 131 aReturnDataIndices, 132 aReturnDataLengths); 133 /* Parse the result we get from CPerformanceCollector to get respective values: */ 134 for (int i = 0; i < aReturnNames.size(); ++i) 135 { 136 if (aReturnDataLengths[i] == 0) 137 continue; 138 /* Read the last of the return data disregarding the rest since we are caching the data in GUI side: */ 139 float fData = returnData[aReturnDataIndices[i] + aReturnDataLengths[i] - 1] / (float)aReturnScales[i]; 140 if (aReturnNames[i].contains("RAM", Qt::CaseInsensitive) && !aReturnNames[i].contains(":")) 141 { 142 if (aReturnNames[i].contains("Total", Qt::CaseInsensitive)) 143 iOutTotalRAM = (quint64)fData; 144 if (aReturnNames[i].contains("Free", Qt::CaseInsensitive)) 145 iOutFreeRAM = (quint64)fData; 146 } 147 } 148 } -
trunk/src/VBox/Frontends/VirtualBox/src/monitor/UIMonitorCommon.h
r83347 r83380 46 46 static void getVMMExitCount(CMachineDebugger &debugger, quint64 &uOutVMMExitCount); 47 47 /** @} */ 48 static void getRAMLoad(CPerformanceCollector &comPerformanceCollector, QVector<QString> &nameList, 49 QVector<CUnknown>& objectList, quint64 &iOutTotalRAM, quint64 &iOutFreeRAM); 48 50 49 51 private: -
trunk/src/VBox/Frontends/VirtualBox/src/monitor/performance/UIPerformanceMonitor.cpp
r83346 r83380 948 948 return; 949 949 ++m_iTimeStep; 950 QVector<QString> allNames;// = new ArrayList<IUnknown>(); 951 QVector<CUnknown> allObjects;// = new ArrayList<IUnknown>(); 952 QVector<QString> aReturnNames; 953 QVector<CUnknown> aReturnObjects; 954 QVector<QString> aReturnUnits; 955 QVector<ULONG> aReturnScales; 956 QVector<ULONG> aReturnSequenceNumbers; 957 QVector<ULONG> aReturnDataIndices; 958 QVector<ULONG> aReturnDataLengths; 959 /* Make a query to CPerformanceCollector to fetch some metrics (e.g RAM usage): */ 960 QVector<LONG> returnData = m_performanceMonitor.QueryMetricsData(m_nameList, 961 m_objectList, 962 aReturnNames, 963 aReturnObjects, 964 aReturnUnits, 965 aReturnScales, 966 aReturnSequenceNumbers, 967 aReturnDataIndices, 968 aReturnDataLengths); 969 quint64 iTotalRAM = 0; 970 quint64 iFreeRAM = 0; 971 /* Parse the result we get from CPerformanceCollector to get respective values: */ 972 for (int i = 0; i < aReturnNames.size(); ++i) 973 { 974 if (aReturnDataLengths[i] == 0) 975 continue; 976 /* Read the last of the return data disregarding the rest since we are caching the data in GUI side: */ 977 float fData = returnData[aReturnDataIndices[i] + aReturnDataLengths[i] - 1] / (float)aReturnScales[i]; 978 if (aReturnNames[i].contains("RAM", Qt::CaseInsensitive) && !aReturnNames[i].contains(":")) 979 { 980 if (aReturnNames[i].contains("Total", Qt::CaseInsensitive)) 981 iTotalRAM = (quint64)fData; 982 if (aReturnNames[i].contains("Free", Qt::CaseInsensitive)) 983 iFreeRAM = (quint64)fData; 984 } 985 } 986 if (m_metrics.contains(m_strRAMMetricName)) 987 updateRAMGraphsAndMetric(iTotalRAM, iFreeRAM); 950 951 if (m_metrics.contains(m_strRAMMetricName)) 952 { 953 quint64 iTotalRAM = 0; 954 quint64 iFreeRAM = 0; 955 UIMonitorCommon::getRAMLoad(m_performanceMonitor, m_nameList, m_objectList, iTotalRAM, iFreeRAM); 956 updateRAMGraphsAndMetric(iTotalRAM, iFreeRAM); 957 } 988 958 989 959 /* Update the CPU load chart with values we get from IMachineDebugger::getCPULoad(..): */ -
trunk/src/VBox/Frontends/VirtualBox/src/monitor/resource/UIResourceMonitor.cpp
r83379 r83380 302 302 { 303 303 Q_UNUSED(parent); 304 // int iCount = 0;305 // for (int i = 0; i < m_columnShown.size(); ++i)306 // if (m_columnShown[i])307 // ++iCount;308 // printf("column count %d\n", iCount);309 // return iCount;310 304 return VMResouceMonitorColumn_Max; 311 305 } … … 485 479 if (m_pModel) 486 480 m_pModel->setColumnCaptions(m_columnCaptions); 487 488 481 } 489 482 … … 593 586 return; 594 587 QMenu menu; 595 596 588 for (int i = 0; i < VMResouceMonitorColumn_Max; ++i) 597 589 { … … 603 595 if (i < m_columnShown.size()) 604 596 pAction->setChecked(m_columnShown[i]); 597 if (i == (int)VMResouceMonitorColumn_Name) 598 pAction->setEnabled(false); 605 599 connect(pAction, &QAction::triggered, this, &UIResourceMonitorWidget::sltHandleColumnAction); 606 600 } … … 693 687 void UIResourceMonitor::finalize() 694 688 { 695 /* Apply language settings: */696 689 retranslateUi(); 697 690 }
Note:
See TracChangeset
for help on using the changeset viewer.