VirtualBox

Changeset 13082 in vbox for trunk/src/VBox/Main/testcase


Ignore:
Timestamp:
Oct 8, 2008 2:36:19 PM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
37570
Message:

PerfAPI: Backward compatibility broken. setup, enable, disable and query methods replaced with their Ex counterparts.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/testcase/tstAPI.cpp

    r12668 r13082  
    970970        // Setup base metrics
    971971        // Note that one needs to set up metrics after a session is open for a machine.
     972        com::SafeIfaceArray<IPerformanceMetric> affectedMetrics;
    972973        com::SafeIfaceArray<IUnknown> objects(2);
    973974        host.queryInterfaceTo(&objects[0]);
    974975        machine.queryInterfaceTo(&objects[1]);
    975976        CHECK_ERROR_BREAK (collector, SetupMetrics(ComSafeArrayAsInParam(baseMetrics),
    976                                                    ComSafeArrayAsInParam(objects), 1u, 10u) );
     977                                                   ComSafeArrayAsInParam(objects), 1u, 10u,
     978                                                   ComSafeArrayAsOutParam(affectedMetrics)) );
     979        listAffectedMetrics(virtualBox,
     980                            ComSafeArrayAsInParam(affectedMetrics));
     981        affectedMetrics.setNull();
    977982
    978983        // Get console
     
    9961001        queryMetrics(virtualBox, collector, ComSafeArrayAsInParam(objects));
    9971002
    998         com::SafeIfaceArray<IPerformanceMetric> affectedMetrics;
    9991003        printf("\nDrop collected metrics: ----------------------------------------\n");
    10001004        CHECK_ERROR_BREAK (collector,
    1001             SetupMetricsEx(ComSafeArrayAsInParam(baseMetrics),
    1002                            ComSafeArrayAsInParam(objects),
    1003                            1u, 5u, ComSafeArrayAsOutParam(affectedMetrics)) );
     1005            SetupMetrics(ComSafeArrayAsInParam(baseMetrics),
     1006                         ComSafeArrayAsInParam(objects),
     1007                         1u, 5u, ComSafeArrayAsOutParam(affectedMetrics)) );
    10041008        listAffectedMetrics(virtualBox,
    10051009                            ComSafeArrayAsInParam(affectedMetrics));
     
    10121016        printf("\nDisable collection of VM metrics: ------------------------------\n");
    10131017        CHECK_ERROR_BREAK (collector,
    1014             DisableMetricsEx(ComSafeArrayAsInParam(baseMetrics),
    1015                              ComSafeArrayAsInParam(vmObject),
    1016                              ComSafeArrayAsOutParam(affectedMetrics)) );
     1018            DisableMetrics(ComSafeArrayAsInParam(baseMetrics),
     1019                           ComSafeArrayAsInParam(vmObject),
     1020                           ComSafeArrayAsOutParam(affectedMetrics)) );
    10171021        listAffectedMetrics(virtualBox,
    10181022                            ComSafeArrayAsInParam(affectedMetrics));
     
    10231027        printf("\nRe-enable collection of all metrics: ---------------------------\n");
    10241028        CHECK_ERROR_BREAK (collector,
    1025             EnableMetricsEx(ComSafeArrayAsInParam(baseMetrics),
    1026                             ComSafeArrayAsInParam(objects),
    1027                             ComSafeArrayAsOutParam(affectedMetrics)) );
     1029            EnableMetrics(ComSafeArrayAsInParam(baseMetrics),
     1030                          ComSafeArrayAsInParam(objects),
     1031                          ComSafeArrayAsOutParam(affectedMetrics)) );
    10281032        listAffectedMetrics(virtualBox,
    10291033                            ComSafeArrayAsInParam(affectedMetrics));
     
    10731077    com::SafeArray<BSTR>          retNames;
    10741078    com::SafeIfaceArray<IUnknown> retObjects;
     1079    com::SafeArray<BSTR>          retUnits;
     1080    com::SafeArray<ULONG>         retScales;
     1081    com::SafeArray<ULONG>         retSequenceNumbers;
    10751082    com::SafeArray<ULONG>         retIndices;
    10761083    com::SafeArray<ULONG>         retLengths;
     
    10801087                                             ComSafeArrayAsOutParam(retNames),
    10811088                                             ComSafeArrayAsOutParam(retObjects),
     1089                                             ComSafeArrayAsOutParam(retUnits),
     1090                                             ComSafeArrayAsOutParam(retScales),
     1091                                             ComSafeArrayAsOutParam(retSequenceNumbers),
    10821092                                             ComSafeArrayAsOutParam(retIndices),
    10831093                                             ComSafeArrayAsOutParam(retLengths),
     
    10871097    for (unsigned i = 0; i < retNames.size(); i++)
    10881098    {
    1089         // Get info for the metric
    1090         com::SafeArray<BSTR> nameOfMetric(1);
    1091         Bstr tmpName(retNames[i]);
    1092         tmpName.detachTo (&nameOfMetric[0]);
    1093         com::SafeIfaceArray<IUnknown> anObject(1);
    1094         ComPtr<IUnknown> tmpObject(retObjects[i]);
    1095         tmpObject.queryInterfaceTo(&anObject[0]);
    1096         com::SafeIfaceArray <IPerformanceMetric> metricInfo;
    1097         CHECK_RC_BREAK (collector->GetMetrics( ComSafeArrayAsInParam(nameOfMetric),
    1098                                                ComSafeArrayAsInParam(anObject),
    1099                                                ComSafeArrayAsOutParam(metricInfo) ));
    1100         BSTR metricUnitBSTR;
    1101         CHECK_RC_BREAK (metricInfo[0]->COMGETTER(Unit) (&metricUnitBSTR));
    1102         Bstr metricUnit(metricUnitBSTR);
     1099        Bstr metricUnit(retUnits[i]);
    11031100        Bstr metricName(retNames[i]);
    1104         LONG minVal, maxVal;
    1105         CHECK_RC_BREAK (metricInfo[0]->COMGETTER(MinimumValue) (&minVal));
    1106         CHECK_RC_BREAK (metricInfo[0]->COMGETTER(MaximumValue) (&maxVal));
    1107         RTPrintf("%-10ls %-20ls ", getObjectName(aVirtualBox, anObject[0]).raw(), metricName.raw());
     1101        RTPrintf("%-10ls %-20ls ", getObjectName(aVirtualBox, retObjects[i]).raw(), metricName.raw());
    11081102        const char *separator = "";
    11091103        for (unsigned j = 0; j < retLengths[i]; j++)
    11101104        {
    1111             if (strcmp((const char *)metricUnit.raw(), "%"))
     1105            if (retScales[i] == 1)
    11121106                RTPrintf("%s%d %ls", separator, retData[retIndices[i] + j], metricUnit.raw());
    11131107            else
    1114                 RTPrintf("%s%d.%02d%%", separator, retData[retIndices[i] + j] / 1000, (retData[retIndices[i] + j] / 10) % 100);
     1108                RTPrintf("%s%d.%02d%ls", separator, retData[retIndices[i] + j] / retScales[i],
     1109                         (retData[retIndices[i] + j] * 100 / retScales[i]) % 100, metricUnit.raw());
    11151110            separator = ", ";
    11161111        }
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