Changeset 83392 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Mar 24, 2020 4:59:50 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 136609
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/monitor/resource/UIResourceMonitor.cpp
r83380 r83392 47 47 #include "CMachine.h" 48 48 #include "CMachineDebugger.h" 49 #include "CPerformanceMetric.h" 49 50 50 51 /* Other VBox includes: */ … … 88 89 QUuid m_VMuid; 89 90 QString m_strVMName; 90 quint64 m_uCPUGuestLoad; 91 quint64 m_uCPUVMMLoad; 91 quint64 m_uCPUGuestLoad; 92 quint64 m_uCPUVMMLoad; 93 94 quint64 m_uTotalRAM; 95 quint64 m_uUsedRAM; 96 float m_fRAMUsagePercentage; 97 92 98 quint64 m_uNetworkDownRate; 93 99 quint64 m_uNetworkUpRate; … … 104 110 105 111 CMachineDebugger m_comDebugger; 112 /** @name The following are used during UIPerformanceCollector::QueryMetricsData(..) 113 * @{ */ 114 QVector<QString> m_nameList; 115 QVector<CUnknown> m_objectList; 116 /** @} */ 117 CPerformanceCollector m_performanceMonitor; 118 119 private: 120 121 void initPerformanceCollector(); 106 122 107 123 }; 124 108 125 109 126 /********************************************************************************************************************************* … … 165 182 166 183 QTimer *m_pTimer; 184 167 185 }; 168 186 … … 188 206 : m_VMuid(uid) 189 207 , m_strVMName(strVMName) 208 , m_uCPUGuestLoad(0) 209 , m_uCPUVMMLoad(0) 210 , m_uTotalRAM(0) 211 , m_uUsedRAM(0) 212 , m_fRAMUsagePercentage(0) 190 213 , m_uNetworkDownRate(0) 191 214 , m_uNetworkUpRate(0) … … 206 229 m_comDebugger = comConsole.GetDebugger(); 207 230 } 231 initPerformanceCollector(); 208 232 } 209 233 210 234 UIResourceMonitorItem::UIResourceMonitorItem() 211 235 : m_VMuid(QUuid()) 236 , m_uCPUGuestLoad(0) 237 , m_uCPUVMMLoad(0) 238 , m_uTotalRAM(0) 239 , m_uUsedRAM(0) 240 , m_fRAMUsagePercentage(0) 212 241 , m_uNetworkDownRate(0) 213 242 , m_uNetworkUpRate(0) … … 221 250 , m_uVMExitTotal(0) 222 251 { 252 initPerformanceCollector(); 223 253 } 224 254 225 255 UIResourceMonitorItem::UIResourceMonitorItem(const QUuid &uid) 226 256 : m_VMuid(uid) 257 , m_uCPUGuestLoad(0) 258 , m_uCPUVMMLoad(0) 259 , m_uTotalRAM(0) 260 , m_uUsedRAM(0) 261 , m_fRAMUsagePercentage(0) 227 262 , m_uNetworkDownRate(0) 228 263 , m_uNetworkUpRate(0) … … 236 271 , m_uVMExitTotal(0) 237 272 { 273 initPerformanceCollector(); 238 274 } 239 275 … … 245 281 } 246 282 283 void UIResourceMonitorItem::initPerformanceCollector() 284 { 285 /* Initialize and configure CPerformanceCollector: */ 286 const ULONG iPeriod = 1; 287 const int iMetricSetupCount = 1; 288 m_performanceMonitor = uiCommon().virtualBox().GetPerformanceCollector(); 289 m_nameList << "Guest/RAM/Usage*"; 290 m_objectList = QVector<CUnknown>(m_nameList.size(), CUnknown()); 291 m_performanceMonitor.SetupMetrics(m_nameList, m_objectList, iPeriod, iMetricSetupCount); 292 } 247 293 248 294 /********************************************************************************************************************************* … … 310 356 if (!index.isValid() || role != Qt::DisplayRole || index.row() >= rowCount()) 311 357 return QVariant(); 312 // if (index.column() >= m_columnShown.size() || !m_columnShown[index.column()]) 313 // return QVariant(); 358 314 359 switch (index.column()) 315 360 { … … 322 367 case VMResouceMonitorColumn_CPUVMMLoad: 323 368 return m_itemList[index.row()].m_uCPUVMMLoad; 369 break; 370 case VMResouceMonitorColumn_RAMUsedAndTotal: 371 return QString("%1/%2").arg(uiCommon().formatSize(_1K * m_itemList[index.row()].m_uUsedRAM, iDecimalCount)). 372 arg(uiCommon().formatSize(_1K * m_itemList[index.row()].m_uTotalRAM, iDecimalCount)); 373 break; 374 case VMResouceMonitorColumn_RAMUsedPercentage: 375 return m_itemList[index.row()].m_fRAMUsagePercentage; 324 376 break; 325 377 case VMResouceMonitorColumn_NetworkUpRate: … … 407 459 for (int i = 0; i < m_itemList.size(); ++i) 408 460 { 461 if (!m_itemList[i].m_performanceMonitor.isNull()) 462 { 463 /* RAM usage: */ 464 quint64 uFreeRAM = 0; 465 UIMonitorCommon::getRAMLoad(m_itemList[i].m_performanceMonitor, m_itemList[i].m_nameList, m_itemList[i].m_objectList, 466 m_itemList[i].m_uTotalRAM, uFreeRAM); 467 m_itemList[i].m_uUsedRAM = m_itemList[i].m_uTotalRAM - uFreeRAM; 468 if (m_itemList[i].m_uTotalRAM != 0) 469 m_itemList[i].m_fRAMUsagePercentage = 100.f * (m_itemList[i].m_uUsedRAM / (float)m_itemList[i].m_uTotalRAM); 470 } 471 409 472 if (!m_itemList[i].m_comDebugger.isNull()) 410 473 { 474 /* CPU Load: */ 411 475 m_itemList[i].m_comDebugger.GetCPULoad(0x7fffffff, aPctExecuting, aPctHalted, aPctVMM); 412 476 m_itemList[i].m_uCPUGuestLoad = aPctExecuting; 413 477 m_itemList[i].m_uCPUVMMLoad = aPctVMM; 478 414 479 /* Network rate: */ 415 480 quint64 uPrevDownTotal = m_itemList[i].m_uNetworkDownTotal;
Note:
See TracChangeset
for help on using the changeset viewer.