提交 1f873744 编写于 作者: M Minoru Usui 提交者: Eric Blake

virNodeGetCPUStats: Expose new API

Signed-off-by: NMinoru Usui <usui@mxm.nes.nec.co.jp>
上级 acc7080a
......@@ -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,
......
......@@ -363,6 +363,7 @@ skip_impl = (
'virConnectBaselineCPU',
'virDomainRevertToSnapshot',
'virDomainSendKey',
'virNodeGetCPUStats',
)
......
......@@ -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 ....
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册