Changeset 43908 in vbox for trunk/src/VBox/Main/include
- Timestamp:
- Nov 19, 2012 5:36:43 AM (12 years ago)
- Location:
- trunk/src/VBox/Main/include
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/include/ConsoleImpl.h
r43584 r43908 239 239 240 240 void processRemoteUSBDevices(uint32_t u32ClientId, VRDEUSBDEVICEDESC *pDevList, uint32_t cbDevList, bool fDescExt); 241 void report GuestStatistics(ULONG aValidStats, ULONG aCpuUser,241 void reportVmStatistics(ULONG aValidStats, ULONG aCpuUser, 242 242 ULONG aCpuKernel, ULONG aCpuIdle, 243 243 ULONG aMemTotal, ULONG aMemFree, … … 245 245 ULONG aMemCache, ULONG aPageTotal, 246 246 ULONG aAllocVMM, ULONG aFreeVMM, 247 ULONG aBalloonedVMM, ULONG aSharedVMM) 247 ULONG aBalloonedVMM, ULONG aSharedVMM, 248 ULONG aVmNetRx, ULONG aVmNetTx) 248 249 { 249 mControl->Report GuestStatistics(aValidStats, aCpuUser, aCpuKernel, aCpuIdle,250 251 252 aBalloonedVMM, aSharedVMM);250 mControl->ReportVmStatistics(aValidStats, aCpuUser, aCpuKernel, aCpuIdle, 251 aMemTotal, aMemFree, aMemBalloon, aMemShared, 252 aMemCache, aPageTotal, aAllocVMM, aFreeVMM, 253 aBalloonedVMM, aSharedVMM, aVmNetRx, aVmNetTx); 253 254 } 254 255 void enableVMMStatistics(BOOL aEnable); -
trunk/src/VBox/Main/include/GuestImpl.h
r42897 r43908 22 22 #include <iprt/time.h> 23 23 #include <VBox/ostypes.h> 24 #include <VBox/vmm/stam.h> 24 25 25 26 #include "AdditionsFacilityImpl.h" … … 150 151 * @{ */ 151 152 void updateStats(uint64_t iTick); 153 static int staticEnumStatsCallback(const char *pszName, STAMTYPE enmType, void *pvSample, STAMUNIT enmUnit, 154 STAMVISIBILITY enmVisiblity, const char *pszDesc, void *pvUser); 152 155 /** @} */ 153 156 … … 179 182 ULONG mMemoryBalloonSize; 180 183 ULONG mStatUpdateInterval; 184 uint64_t mNetStatRx; 185 uint64_t mNetStatTx; 186 uint64_t mNetStatLastTs; 181 187 ULONG mCurrentGuestStat[GUESTSTATTYPE_MAX]; 182 ULONG m GuestValidStats;188 ULONG mVmValidStats; 183 189 BOOL mCollectVMMStats; 184 190 BOOL mfPageFusionEnabled; -
trunk/src/VBox/Main/include/MachineImpl.h
r43870 r43908 1069 1069 STDMETHOD(EjectMedium)(IMediumAttachment *aAttachment, 1070 1070 IMediumAttachment **aNewAttachment); 1071 STDMETHOD(ReportGuestStatistics)(ULONG aValidStats, ULONG aCpuUser, 1072 ULONG aCpuKernel, ULONG aCpuIdle, 1073 ULONG aMemTotal, ULONG aMemFree, 1074 ULONG aMemBalloon, ULONG aMemShared, 1075 ULONG aMemCache, ULONG aPageTotal, 1076 ULONG aAllocVMM, ULONG aFreeVMM, 1077 ULONG aBalloonedVMM, ULONG aSharedVMM); 1071 STDMETHOD(ReportVmStatistics)(ULONG aValidStats, ULONG aCpuUser, 1072 ULONG aCpuKernel, ULONG aCpuIdle, 1073 ULONG aMemTotal, ULONG aMemFree, 1074 ULONG aMemBalloon, ULONG aMemShared, 1075 ULONG aMemCache, ULONG aPageTotal, 1076 ULONG aAllocVMM, ULONG aFreeVMM, 1077 ULONG aBalloonedVMM, ULONG aSharedVMM, 1078 ULONG aVmNetRx, ULONG aVmNetTx); 1078 1079 1079 1080 // public methods only for internal purposes -
trunk/src/VBox/Main/include/Performance.h
r43831 r43908 154 154 typedef enum 155 155 { 156 GUESTSTATMASK_NONE = 0x00000000, 157 GUESTSTATMASK_CPUUSER = 0x00000001, 158 GUESTSTATMASK_CPUKERNEL = 0x00000002, 159 GUESTSTATMASK_CPUIDLE = 0x00000004, 160 GUESTSTATMASK_MEMTOTAL = 0x00000008, 161 GUESTSTATMASK_MEMFREE = 0x00000010, 162 GUESTSTATMASK_MEMBALLOON = 0x00000020, 163 GUESTSTATMASK_MEMSHARED = 0x00000040, 164 GUESTSTATMASK_MEMCACHE = 0x00000080, 165 GUESTSTATMASK_PAGETOTAL = 0x00000100, 166 GUESTSTATMASK_ALLOCVMM = 0x00000200, 167 GUESTSTATMASK_FREEVMM = 0x00000400, 168 GUESTSTATMASK_BALOONVMM = 0x00000800, 169 GUESTSTATMASK_SHAREDVMM = 0x00001000 170 } GUESTSTATMASK; 171 172 const ULONG GUESTSTATS_CPULOAD = 173 GUESTSTATMASK_CPUUSER|GUESTSTATMASK_CPUKERNEL|GUESTSTATMASK_CPUIDLE; 174 const ULONG GUESTSTATS_RAMUSAGE = 175 GUESTSTATMASK_MEMTOTAL|GUESTSTATMASK_MEMFREE|GUESTSTATMASK_MEMBALLOON| 176 GUESTSTATMASK_MEMSHARED|GUESTSTATMASK_MEMCACHE| 177 GUESTSTATMASK_PAGETOTAL; 178 const ULONG GUESTSTATS_VMMRAM = 179 GUESTSTATMASK_ALLOCVMM|GUESTSTATMASK_FREEVMM| 180 GUESTSTATMASK_BALOONVMM|GUESTSTATMASK_SHAREDVMM; 181 const ULONG GUESTSTATS_ALL = GUESTSTATS_CPULOAD|GUESTSTATS_RAMUSAGE|GUESTSTATS_VMMRAM; 182 156 VMSTATMASK_NONE = 0x00000000, 157 VMSTATMASK_GUEST_CPUUSER = 0x00000001, 158 VMSTATMASK_GUEST_CPUKERNEL = 0x00000002, 159 VMSTATMASK_GUEST_CPUIDLE = 0x00000004, 160 VMSTATMASK_GUEST_MEMTOTAL = 0x00000008, 161 VMSTATMASK_GUEST_MEMFREE = 0x00000010, 162 VMSTATMASK_GUEST_MEMBALLOON = 0x00000020, 163 VMSTATMASK_GUEST_MEMSHARED = 0x00000040, 164 VMSTATMASK_GUEST_MEMCACHE = 0x00000080, 165 VMSTATMASK_GUEST_PAGETOTAL = 0x00000100, 166 VMSTATMASK_VMM_ALLOC = 0x00010000, 167 VMSTATMASK_VMM_FREE = 0x00020000, 168 VMSTATMASK_VMM_BALOON = 0x00040000, 169 VMSTATMASK_VMM_SHARED = 0x00080000, 170 VMSTATMASK_NET_RX = 0x01000000, 171 VMSTATMASK_NET_TX = 0x02000000 172 } VMSTATMASK; 173 174 const ULONG VMSTATS_GUEST_CPULOAD = 175 VMSTATMASK_GUEST_CPUUSER | VMSTATMASK_GUEST_CPUKERNEL | 176 VMSTATMASK_GUEST_CPUIDLE; 177 const ULONG VMSTATS_GUEST_RAMUSAGE = 178 VMSTATMASK_GUEST_MEMTOTAL | VMSTATMASK_GUEST_MEMFREE | 179 VMSTATMASK_GUEST_MEMBALLOON | VMSTATMASK_GUEST_MEMSHARED | 180 VMSTATMASK_GUEST_MEMCACHE | VMSTATMASK_GUEST_PAGETOTAL; 181 const ULONG VMSTATS_VMM_RAM = 182 VMSTATMASK_VMM_ALLOC | VMSTATMASK_VMM_FREE| 183 VMSTATMASK_VMM_BALOON | VMSTATMASK_VMM_SHARED; 184 const ULONG VMSTATS_NET_RATE = 185 VMSTATMASK_NET_RX | VMSTATMASK_NET_TX; 186 const ULONG VMSTATS_ALL = 187 VMSTATS_GUEST_CPULOAD | VMSTATS_GUEST_RAMUSAGE | 188 VMSTATS_VMM_RAM | VMSTATS_NET_RATE; 183 189 class CollectorGuest; 184 190 … … 266 272 ULONG aMemCache, ULONG aPageTotal, 267 273 ULONG aAllocVMM, ULONG aFreeVMM, 268 ULONG aBalloonedVMM, ULONG aSharedVMM); 274 ULONG aBalloonedVMM, ULONG aSharedVMM, 275 ULONG aVmNetRx, ULONG aVmNetTx); 269 276 int enable(ULONG mask); 270 277 int disable(ULONG mask); … … 290 297 ULONG getBalloonedVMM() { return mBalloonedVMM; }; 291 298 ULONG getSharedVMM() { return mSharedVMM; }; 299 ULONG getVmNetRx() { return mVmNetRx; }; 300 ULONG getVmNetTx() { return mVmNetTx; }; 292 301 293 302 private: … … 317 326 ULONG mBalloonedVMM; 318 327 ULONG mSharedVMM; 328 ULONG mVmNetRx; 329 ULONG mVmNetTx; 319 330 }; 320 331 … … 663 674 664 675 #ifndef VBOX_COLLECTOR_TEST_CASE 676 /* 677 * Although MachineNetRate is measured for VM, not for the guest, it is 678 * derived from BaseGuestMetric since it uses the same mechanism for 679 * data collection -- values get pushed by Guest class along with other 680 * guest statistics. 681 */ 682 class MachineNetRate : public BaseGuestMetric 683 { 684 public: 685 MachineNetRate(CollectorGuest *cguest, ComPtr<IUnknown> object, SubMetric *rx, SubMetric *tx) 686 : BaseGuestMetric(cguest, "Net/Rate", object), mRx(rx), mTx(tx) {}; 687 ~MachineNetRate() { delete mRx; delete mTx; }; 688 689 void init(ULONG period, ULONG length); 690 void preCollect(CollectorHints& hints, uint64_t iTick); 691 void collect(); 692 int enable(); 693 int disable(); 694 const char *getUnit() { return "B/s"; }; 695 ULONG getMinValue() { return 0; }; 696 ULONG getMaxValue() { return INT32_MAX; }; 697 ULONG getScale() { return 1; } 698 private: 699 SubMetric *mRx, *mTx; 700 }; 701 665 702 class GuestCpuLoad : public BaseGuestMetric 666 703 {
Note:
See TracChangeset
for help on using the changeset viewer.