On 05/04/2014 03:45 PM, Roman Bogorodskiy wrote:
Ján Tomko wrote:
> On 05/01/2014 02:11 PM, Roman Bogorodskiy wrote:
>> Add a helper function virBhyveGetDomainTotalCpuStats() to
>> obtain process CPU time using kvm (kernel memory interface)
>> and use it to set cpuTime field of the virDomainInfo struct in
>> bhyveDomainGetInfo().
>> ---
>> configure.ac | 7 +++++++
>> src/bhyve/bhyve_driver.c | 9 +++++++++
>> src/bhyve/bhyve_process.c | 40 ++++++++++++++++++++++++++++++++++++++++
>> src/bhyve/bhyve_process.h | 3 +++
>> 4 files changed, 59 insertions(+)
>>
>
>> --- a/src/bhyve/bhyve_driver.c
>> +++ b/src/bhyve/bhyve_driver.c
>> @@ -268,6 +268,15 @@ bhyveDomainGetInfo(virDomainPtr domain, virDomainInfoPtr
info)
>> if (virDomainGetInfoEnsureACL(domain->conn, vm->def) < 0)
>> goto cleanup;
>>
>> + if (virDomainObjIsActive(vm)) {
>> + if (virBhyveGetDomainTotalCpuStats(vm, &(info->cpuTime)) < 0)
{
>> + virReportError(VIR_ERR_OPERATION_FAILED,
>> + "%s", _("Cannot read cputime for
domain"));
>
> This will overwrite the error set by virBhyveGetDomainTotalCpuStats.
Just to make sure: you mean I need to just drop virReportError here and
just rely on error reporting by virBhyveGetDomainTotalCpuStats()?
Yes, I think reporting a more specific error message inside the function is
better.
Jan