VirtualBox

Ignore:
Timestamp:
Mar 31, 2010 1:33:57 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
59584
Message:

Metrics updates

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/GuestImpl.cpp

    r27885 r27896  
    8888
    8989    mStatUpdateInterval = 0;                    /* Default is not to report guest statistics at all */
     90
     91    /* Clear statistics. */
     92    for (unsigned i = 0 ; i < GUESTSTATTYPE_MAX; i++)
     93        mCurrentGuestStat[i] = 0;
     94
    9095    return S_OK;
    9196}
     
    251256                                          ULONG *aPageTotal, ULONG *aPageFree)
    252257{
    253     return S_OK;
    254 }
    255 
     258    CheckComArgOutPointerValid(aCpuUser);
     259    CheckComArgOutPointerValid(aCpuKernel);
     260    CheckComArgOutPointerValid(aCpuIdle);
     261    CheckComArgOutPointerValid(aMemTotal);
     262    CheckComArgOutPointerValid(aMemFree);
     263    CheckComArgOutPointerValid(aMemBalloon);
     264    CheckComArgOutPointerValid(aMemCache);
     265    CheckComArgOutPointerValid(aPageTotal);
     266    CheckComArgOutPointerValid(aPageFree);
     267
     268    AutoCaller autoCaller(this);
     269    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     270
     271    AutoReadLock alock(this COMMA_LOCKVAL_SRC_POS);
     272
     273    *aCpuUser = mCurrentGuestStat[GUESTSTATTYPE_CPUUSER];
     274    *aCpuKernel = mCurrentGuestStat[GUESTSTATTYPE_CPUKERNEL];
     275    *aCpuIdle = mCurrentGuestStat[GUESTSTATTYPE_CPUIDLE];
     276    *aMemTotal = mCurrentGuestStat[GUESTSTATTYPE_MEMTOTAL];
     277    *aMemFree = mCurrentGuestStat[GUESTSTATTYPE_MEMFREE];
     278    *aMemBalloon = mCurrentGuestStat[GUESTSTATTYPE_MEMBALLOON];
     279    *aMemCache = mCurrentGuestStat[GUESTSTATTYPE_MEMCACHE];
     280    *aPageTotal = mCurrentGuestStat[GUESTSTATTYPE_PAGETOTAL];
     281    *aPageFree = mCurrentGuestStat[GUESTSTATTYPE_PAGEFREE];
     282
     283    return S_OK;
     284}
     285
     286HRESULT Guest::SetStatistic(ULONG aCpuId, GUESTSTATTYPE enmType, ULONG aVal)
     287{
     288    AutoCaller autoCaller(this);
     289    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     290
     291    AutoWriteLock alock(this COMMA_LOCKVAL_SRC_POS);
     292
     293    if (enmType > GUESTSTATTYPE_MAX)
     294        return E_INVALIDARG;
     295
     296    mCurrentGuestStat[enmType] = aVal;
     297    return S_OK;
     298}
    256299
    257300STDMETHODIMP Guest::SetCredentials(IN_BSTR aUserName, IN_BSTR aPassword,
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