VirtualBox

Changeset 35964 in vbox


Ignore:
Timestamp:
Feb 14, 2011 5:06:48 PM (14 years ago)
Author:
vboxsync
Message:

Metrics: Introduced RAM/VMM base metric

Location:
trunk/src/VBox/Main
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/Performance.h

    r30847 r35964  
    343343    {
    344344    public:
    345         HostRamUsage(CollectorHAL *hal, ComPtr<IUnknown> object, SubMetric *total, SubMetric *used, SubMetric *available, SubMetric *allocVMM, SubMetric *freeVMM, SubMetric *balloonVMM, SubMetric *sharedVMM)
    346         : BaseMetric(hal, "RAM/Usage", object), mTotal(total), mUsed(used), mAvailable(available), mAllocVMM(allocVMM), mFreeVMM(freeVMM), mBalloonVMM(balloonVMM), mSharedVMM(sharedVMM) {};
    347         ~HostRamUsage() { delete mTotal; delete mUsed; delete mAvailable; delete mAllocVMM; delete mFreeVMM; delete mBalloonVMM; delete mSharedVMM; };
     345    HostRamUsage(CollectorHAL *hal, ComPtr<IUnknown> object, SubMetric *total, SubMetric *used, SubMetric *available)
     346        : BaseMetric(hal, "RAM/Usage", object), mTotal(total), mUsed(used), mAvailable(available) {};
     347        ~HostRamUsage() { delete mTotal; delete mUsed; delete mAvailable; };
    348348
    349349        void init(ULONG period, ULONG length);
     
    358358        SubMetric *mUsed;
    359359        SubMetric *mAvailable;
     360    };
     361
     362    class HostRamVmm : public BaseMetric
     363    {
     364    public:
     365        HostRamVmm(CollectorHAL *hal, ComPtr<IUnknown> object, SubMetric *allocVMM, SubMetric *freeVMM, SubMetric *balloonVMM, SubMetric *sharedVMM)
     366        : BaseMetric(hal, "RAM/VMM", object), mAllocVMM(allocVMM), mFreeVMM(freeVMM), mBalloonVMM(balloonVMM), mSharedVMM(sharedVMM) {};
     367        ~HostRamVmm() { delete mAllocVMM; delete mFreeVMM; delete mBalloonVMM; delete mSharedVMM; };
     368
     369        void init(ULONG period, ULONG length);
     370        void preCollect(CollectorHints& hints, uint64_t iTick);
     371        void collect();
     372        const char *getUnit() { return "kB"; };
     373        ULONG getMinValue() { return 0; };
     374        ULONG getMaxValue() { return INT32_MAX; };
     375        ULONG getScale() { return 1; }
     376    private:
    360377        SubMetric *mAllocVMM;
    361378        SubMetric *mFreeVMM;
  • trunk/src/VBox/Main/src-server/HostImpl.cpp

    r35895 r35964  
    28082808    pm::BaseMetric *cpuMhz = new pm::HostCpuMhz(hal, objptr, cpuMhzSM);
    28092809    aCollector->registerBaseMetric (cpuMhz);
    2810     pm::BaseMetric *ramUsage = new pm::HostRamUsage(hal, objptr, ramUsageTotal, ramUsageUsed,
    2811                                            ramUsageFree, ramVMMUsed, ramVMMFree, ramVMMBallooned, ramVMMShared);
     2810    pm::BaseMetric *ramUsage = new pm::HostRamUsage(hal, objptr,
     2811                                                    ramUsageTotal,
     2812                                                    ramUsageUsed,
     2813                                                    ramUsageFree);
    28122814    aCollector->registerBaseMetric (ramUsage);
     2815    pm::BaseMetric *ramVmm = new pm::HostRamVmm(hal, objptr,
     2816                                                ramVMMUsed,
     2817                                                ramVMMFree,
     2818                                                ramVMMBallooned,
     2819                                                ramVMMShared);
     2820    aCollector->registerBaseMetric (ramVmm);
    28132821
    28142822    aCollector->registerMetric(new pm::Metric(cpuLoad, cpuLoadUser, 0));
     
    28682876                                              new pm::AggregateMax()));
    28692877
    2870     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMUsed, 0));
    2871     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMUsed,
     2878    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMUsed, 0));
     2879    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMUsed,
    28722880                                              new pm::AggregateAvg()));
    2873     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMUsed,
     2881    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMUsed,
    28742882                                              new pm::AggregateMin()));
    2875     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMUsed,
     2883    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMUsed,
    28762884                                              new pm::AggregateMax()));
    28772885
    2878     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMFree, 0));
    2879     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMFree,
     2886    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMFree, 0));
     2887    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMFree,
    28802888                                              new pm::AggregateAvg()));
    2881     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMFree,
     2889    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMFree,
    28822890                                              new pm::AggregateMin()));
    2883     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMFree,
     2891    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMFree,
    28842892                                              new pm::AggregateMax()));
    28852893
    2886     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMBallooned, 0));
    2887     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMBallooned,
     2894    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMBallooned, 0));
     2895    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMBallooned,
    28882896                                              new pm::AggregateAvg()));
    2889     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMBallooned,
     2897    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMBallooned,
    28902898                                              new pm::AggregateMin()));
    2891     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMBallooned,
     2899    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMBallooned,
    28922900                                              new pm::AggregateMax()));
    28932901
    2894     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMShared, 0));
    2895     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMShared,
     2902    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMShared, 0));
     2903    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMShared,
    28962904                                              new pm::AggregateAvg()));
    2897     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMShared,
     2905    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMShared,
    28982906                                              new pm::AggregateMin()));
    2899     aCollector->registerMetric(new pm::Metric(ramUsage, ramVMMShared,
     2907    aCollector->registerMetric(new pm::Metric(ramVmm, ramVMMShared,
    29002908                                              new pm::AggregateMax()));
    29012909}
  • trunk/src/VBox/Main/src-server/Performance.cpp

    r35368 r35964  
    315315    mUsed->init(mLength);
    316316    mAvailable->init(mLength);
     317}
     318
     319void HostRamUsage::preCollect(CollectorHints& hints, uint64_t /* iTick */)
     320{
     321    hints.collectHostRamUsage();
     322}
     323
     324void HostRamUsage::collect()
     325{
     326    ULONG total, used, available;
     327    int rc = mHAL->getHostMemoryUsage(&total, &used, &available);
     328    if (RT_SUCCESS(rc))
     329    {
     330        mTotal->put(total);
     331        mUsed->put(used);
     332        mAvailable->put(available);
     333
     334    }
     335}
     336
     337void HostRamVmm::init(ULONG period, ULONG length)
     338{
     339    mPeriod = period;
     340    mLength = length;
    317341    mAllocVMM->init(mLength);
    318342    mFreeVMM->init(mLength);
     
    321345}
    322346
    323 void HostRamUsage::preCollect(CollectorHints& hints, uint64_t /* iTick */)
    324 {
    325     hints.collectHostRamUsage();
    326 }
    327 
    328 void HostRamUsage::collect()
    329 {
    330     ULONG total, used, available;
    331     int rc = mHAL->getHostMemoryUsage(&total, &used, &available);
    332     if (RT_SUCCESS(rc))
    333     {
    334         mTotal->put(total);
    335         mUsed->put(used);
    336         mAvailable->put(available);
    337 
    338     }
     347void HostRamVmm::preCollect(CollectorHints& hints, uint64_t /* iTick */)
     348{
     349    /* Guest RAM metrics do not use hints */
     350}
     351
     352void HostRamVmm::collect()
     353{
    339354    ULONG allocVMM, freeVMM, balloonVMM, sharedVMM;
    340355
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