virNodeGetCPUStats: Expose new API

Signed-off-by: Minoru Usui <usui@mxm.nes.nec.co.jp>
This commit is contained in:
Minoru Usui 2011-06-07 09:58:47 +09:00 committed by Eric Blake
parent acc7080a1d
commit 1f873744c8
3 changed files with 76 additions and 1 deletions

View File

@ -216,7 +216,6 @@ typedef struct _virStream virStream;
*/
typedef virStream *virStreamPtr;
/**
* VIR_SECURITY_LABEL_BUFLEN:
*
@ -302,6 +301,66 @@ struct _virNodeInfo {
unsigned int threads;/* number of threads per core */
};
/**
* VIR_CPU_STATS_FIELD_LENGTH:
*
* Macro providing the field length of virNodeCPUStats
*/
#define VIR_CPU_STATS_FIELD_LENGTH 80
/**
* VIR_CPU_STATS_ALL_CPUS:
*
* Macro for the total CPU time/utilization
*/
#define VIR_CPU_STATS_ALL_CPUS (-1)
/**
* VIR_CPU_STATS_KERNEL:
*
* Macro for the cumulative CPU time which spends by kernel,
* when the node booting up.(in nanoseconds).
*/
#define VIR_CPU_STATS_KERNEL "kernel"
/**
* The cumulative CPU time which spends by user processes,
* when the node booting up.(in nanoseconds).
*/
#define VIR_CPU_STATS_USER "user"
/**
* The cumulative idle CPU time,
* when the node booting up.(in nanoseconds).
*/
#define VIR_CPU_STATS_IDLE "idle"
/**
* The cumulative I/O wait CPU time,
* when the node booting up.(in nanoseconds).
*/
#define VIR_CPU_STATS_IOWAIT "iowait"
/**
* The CPU utilization.
* The usage value is in percent and 100% represents all CPUs on
* the server.
*/
#define VIR_CPU_STATS_UTILIZATION "utilization"
/**
* virCPUStats:
*
* a virNodeCPUStats is a structure filled by virNodeGetCPUStats()
* and providing the information for the cpu stats of the node.
*/
typedef struct _virCPUStats virCPUStats;
struct _virCPUStats {
char field[VIR_CPU_STATS_FIELD_LENGTH];
unsigned long long value;
};
/* Common data types shared among interfaces with name/type/value lists. */
@ -561,6 +620,14 @@ int virDomainMigrateSetMaxSpeed(virDomainPtr domain,
typedef virNodeInfo *virNodeInfoPtr;
/**
* virCPUStatsPtr:
*
* a virCPUStatsPtr is a pointer to a virCPUStats structure.
*/
typedef virCPUStats *virCPUStatsPtr;
/**
* virConnectFlags
*
@ -695,6 +762,12 @@ int virNodeGetInfo (virConnectPtr conn,
virNodeInfoPtr info);
char * virConnectGetCapabilities (virConnectPtr conn);
int virNodeGetCPUStats (virConnectPtr conn,
int cpuNum,
virCPUStatsPtr params,
int *nparams,
unsigned int flags);
unsigned long long virNodeGetFreeMemory (virConnectPtr conn);
int virNodeGetSecurityModel (virConnectPtr conn,

View File

@ -363,6 +363,7 @@ skip_impl = (
'virConnectBaselineCPU',
'virDomainRevertToSnapshot',
'virDomainSendKey',
'virNodeGetCPUStats',
)

View File

@ -454,6 +454,7 @@ LIBVIRT_0.9.3 {
global:
virDomainPinVcpuFlags;
virDomainSendKey;
virNodeGetCPUStats;
} LIBVIRT_0.9.2;
# .... define new API here using predicted next version number ....