Changeset 27985 in vbox
- Timestamp:
- Apr 5, 2010 1:55:26 PM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 59691
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/idl/VirtualBox.xidl
r27980 r27985 13705 13705 > 13706 13706 <desc> 13707 The IPerformanceCollector interface represents a service that collects and13708 stores performance metrics data.13709 13710 Performance metrics are associated with objects of interfaces like IHost and13711 IMachine. Each object has a distinct set of performance metrics.13712 Theset can be obtained with <link to="IPerformanceCollector::getMetrics"/>.13707 The IPerformanceCollector interface represents a service that collects 13708 and stores performance metrics data. 13709 13710 Performance metrics are associated with objects of interfaces like IHost 13711 and IMachine. Each object has a distinct set of performance metrics. The 13712 set can be obtained with <link to="IPerformanceCollector::getMetrics"/>. 13713 13713 13714 13714 Metric data is collected at the specified intervals and is retained … … 13717 13717 and collection settings are not persistent, they are discarded as soon as 13718 13718 VBoxSVC process terminates. Moreover, metric settings and data associated 13719 with a particular VM only exist while VM is running. They disappear as soon13720 as VM shuts down. It is not possible to setup metrics for machines that are13721 powered off. One needs to start VM first, then set up metric collection13722 parameters.13719 with a particular VM only exist while VM is running. They disappear as 13720 soon as VM shuts down. It is not possible to set up metrics for machines 13721 that are powered off. One needs to start VM first, then set up metric 13722 collection parameters. 13723 13723 13724 13724 Metrics are organized hierarchically, with each level separated by a … … 13727 13727 <tt>Category/Metric[/SubMetric][:aggregation]</tt> 13728 13728 13729 "Category/Metric" together form the base metric name. A base metric is the13730 smallest unit for which a sampling interval and the number of retained13731 samples can be set. Only base metrics can be enabled and disabled. All13732 sub-metrics are collected when their base metric is collected.13733 Collected values for any set of sub-metrics can be queried with13734 <link to="IPerformanceCollector::queryMetricsData" />.13735 13736 For example "CPU/Load/User:avg" 13737 metric name stands for the "CPU" category, "Load" metric, "User" submetric,13738 "average" aggregate. An aggregate function is computed over all retained13739 data. Valid aggregatefunctions are:13729 "Category/Metric" together form the base metric name. A base metric is 13730 the smallest unit for which a sampling interval and the number of 13731 retained samples can be set. Only base metrics can be enabled and 13732 disabled. All sub-metrics are collected when their base metric is 13733 collected. Collected values for any set of sub-metrics can be queried 13734 with <link to="IPerformanceCollector::queryMetricsData" />. 13735 13736 For example "CPU/Load/User:avg" metric name stands for the "CPU" 13737 category, "Load" metric, "User" submetric, "average" aggregate. An 13738 aggregate function is computed over all retained data. Valid aggregate 13739 functions are: 13740 13740 13741 13741 <ul> … … 13745 13745 </ul> 13746 13746 13747 When setting up 13748 metric parameters, querying metric data, enabling or disabling metrics 13749 wildcards can be used in metric names to specify a subset of metrics. For 13750 example, to select all CPU-related metrics use <tt>CPU/*</tt>, all 13751 averages can be queried using <tt>*:avg</tt> and so on. To query metric 13752 values without aggregates <tt>*:</tt> can be used. 13747 When setting up metric parameters, querying metric data, enabling or 13748 disabling metrics wildcards can be used in metric names to specify a 13749 subset of metrics. For example, to select all CPU-related metrics 13750 use <tt>CPU/*</tt>, all averages can be queried using <tt>*:avg</tt> and 13751 so on. To query metric values without aggregates <tt>*:</tt> can be used. 13753 13752 13754 13753 The valid names for base metrics are: … … 13771 13770 </li> 13772 13771 <li> 13773 Allocate and populate an array with base metric names the data will be13774 collected for.13772 Allocate and populate an array with base metric names the data will 13773 be collected for. 13775 13774 </li> 13776 13775 <li> 13777 Call <link to="IPerformanceCollector::setupMetrics" />. From now on the13778 metric data will be collected and stored.13776 Call <link to="IPerformanceCollector::setupMetrics" />. From now on 13777 the metric data will be collected and stored. 13779 13778 </li> 13780 13779 <li> … … 13791 13790 </li> 13792 13791 <li> 13793 Call <link to="IPerformanceCollector::queryMetricsData" />. The data that13794 have been collected so far are returned. Note that the values are still13795 retained internally and data collection continues.13792 Call <link to="IPerformanceCollector::queryMetricsData" />. The data 13793 that have been collected so far are returned. Note that the values 13794 are still retained internally and data collection continues. 13796 13795 </li> 13797 13796 </ul> … … 13848 13847 <desc> 13849 13848 Sets parameters of specified base metrics for a set of objects. Returns 13850 an array of <link to="IPerformanceMetric" /> describing the metrics have13851 been affected.13849 an array of <link to="IPerformanceMetric" /> describing the metrics 13850 have been affected. 13852 13851 <note> 13853 @c Null or empty metric name array means all metrics. @c Null or empty13854 object array means all existing objects. If metric name array contains13855 a single element and object array contains many, the single metric13856 name array element is applied to each object array element to form13857 metric/object pairs.13852 @c Null or empty metric name array means all metrics. @c Null or 13853 empty object array means all existing objects. If metric name array 13854 contains a single element and object array contains many, the single 13855 metric name array element is applied to each object array element to 13856 form metric/object pairs. 13858 13857 </note> 13859 13858 </desc> … … 13871 13870 <param name="period" type="unsigned long" dir="in"> 13872 13871 <desc> 13873 Time interval in seconds between two consecutive samples of performance13874 data.13872 Time interval in seconds between two consecutive samples of 13873 performance data. 13875 13874 </desc> 13876 13875 </param> 13877 13876 <param name="count" type="unsigned long" dir="in"> 13878 13877 <desc> 13879 Number of samples to retain in performance data history. Older samples13880 get discarded.13878 Number of samples to retain in performance data history. Older 13879 samples get discarded. 13881 13880 </desc> 13882 13881 </param> … … 13894 13893 affected. 13895 13894 <note> 13896 @c Null or empty metric name array means all metrics. @c Null or empty13897 object array means all existing objects. If metric name array contains13898 a single element and object array contains many, the single metric13899 name array element is applied to each object array element to form13900 metric/object pairs.13895 @c Null or empty metric name array means all metrics. @c Null or 13896 empty object array means all existing objects. If metric name array 13897 contains a single element and object array contains many, the single 13898 metric name array element is applied to each object array element to 13899 form metric/object pairs. 13901 13900 </note> 13902 13901 </desc> … … 13925 13924 affected. 13926 13925 <note> 13927 @c Null or empty metric name array means all metrics. @c Null or empty13928 object array means all existing objects. If metric name array contains13929 a single element and object array contains many, the single metric13930 name array element is applied to each object array element to form13931 metric/object pairs.13926 @c Null or empty metric name array means all metrics. @c Null or 13927 empty object array means all existing objects. If metric name array 13928 contains a single element and object array contains many, the single 13929 metric name array element is applied to each object array element to 13930 form metric/object pairs. 13932 13931 </note> 13933 13932 </desc> … … 13968 13967 13969 13968 <note> 13970 @c Null or empty metric name array means all metrics. @c Null or empty13971 object array means all existing objects. If metric name array contains13972 a single element and object array contains many, the single metric13973 name array element is applied to each object array element to form13974 metric/object pairs.13969 @c Null or empty metric name array means all metrics. @c Null or 13970 empty object array means all existing objects. If metric name array 13971 contains a single element and object array contains many, the single 13972 metric name array element is applied to each object array element to 13973 form metric/object pairs. 13975 13974 </note> 13976 13975 <note> 13977 Data collection continues behind the scenes after call to 13978 @c queryMetricsData. The return data can be seen as the snapshot of 13979 the current state at the time of @c queryMetricsData call. The 13980 internally kept metric values are not cleared by the call. This makes 13981 possible querying different subsets of metrics or aggregates with 13982 subsequent calls. If periodic querying is needed it is highly 13983 suggested to query the values with @c interval*count period to avoid 13984 confusion. This way a completely new set of data values will be 13985 provided by each query. 13976 Data collection continues behind the scenes after call to @c 13977 queryMetricsData. The return data can be seen as the snapshot of the 13978 current state at the time of @c queryMetricsData call. The internally 13979 kept metric values are not cleared by the call. This makes possible 13980 querying different subsets of metrics or aggregates with subsequent 13981 calls. If periodic querying is needed it is highly suggested to query 13982 the values with @c interval*count period to avoid confusion. This way 13983 a completely new set of data values will be provided by each query. 13986 13984 </note> 13987 13985 </desc> … … 14023 14021 <param name="returnSequenceNumbers" type="unsigned long" dir="out" safearray="yes"> 14024 14022 <desc> 14025 Sequence numbers of the first elements of value sequences of particular metrics 14026 returned in @c returnData. For aggregate metrics it is the sequence number of 14027 the sample the aggregate started calculation from. 14023 Sequence numbers of the first elements of value sequences of 14024 particular metrics returned in @c returnData. For aggregate metrics 14025 it is the sequence number of the sample the aggregate started 14026 calculation from. 14028 14027 </desc> 14029 14028 </param> 14030 14029 <param name="returnDataIndices" type="unsigned long" dir="out" safearray="yes"> 14031 14030 <desc> 14032 Indices of the first elements of value sequences of particular metrics14033 returned in @c returnData.14031 Indices of the first elements of value sequences of particular 14032 metrics returned in @c returnData. 14034 14033 </desc> 14035 14034 </param>
Note:
See TracChangeset
for help on using the changeset viewer.