[libvirt] [PATCH 1/8] latency: Define new public API and structure

Daniel Veillard veillard at redhat.com
Tue Sep 6 03:21:46 UTC 2011


On Mon, Sep 05, 2011 at 04:38:28PM +0800, Osier Yang wrote:
> ---
>  include/libvirt/libvirt.h.in |   84 ++++++++++++++++++++++++++++++++++++++++++
>  src/libvirt_public.syms      |    1 +
>  2 files changed, 85 insertions(+), 0 deletions(-)
> 
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index 8864865..735ea94 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -574,6 +574,85 @@ struct _virDomainBlockStats {
>   */
>  typedef virDomainBlockStatsStruct *virDomainBlockStatsPtr;
>  
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_FIELD_LENGTH:
> + *
> + * Macro providing the field length of virDomainBlockStatsFlagsStruct
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_FIELD_LENGTH 80
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_READ_BYTES:
> + *
> + * Macro represents the total number of read bytes of the
> + * block device.
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_READ_BYTES "rd_bytes"
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_READ_REQ:
> + *
> + * Macro represents the total read requests of the
> + * block device.
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_READ_REQ "rd_operations"
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_READ_TOTAL_TIMES:
> + *
> + * Macro represents the total time spend on cache reads in
> + * nano-seconds of the block device.
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_READ_TOTAL_TIMES "rd_total_times"
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_WRITE_BYTES:
> + *
> + * Macro represents the total number of write bytes of the
> + * block device.
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_WRITE_BYTES "wr_bytes"
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_WRITE_REQ:
> + *
> + * Macro represents the total write requests of the
> + * block device.
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_WRITE_REQ "wr_operations"
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_WRITE_TOTAL_TIMES:
> + *
> + * Macro represents the total time spend on cache writes in
> + * nano-seconds of the block device.
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_WRITE_TOTAL_TIMES "wr_total_times"
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_FLUSH_REQ:
> + *
> + * Macro represents the total flush requests of the
> + * block device.
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_FLUSH_REQ "flush_operations"
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_FLUSH_TOTAL_TIMES:
> + *
> + * Macro represents the total time spend on cache flushing in
> + * nano-seconds of the block device.
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_FLUSH_TOTAL_TIMES "flush_total_times"
> +
> +/**
> + * VIR_DOMAIN_BLOCK_STATS_ERRS:
> + *
> + * In Xen this returns the mysterious 'oo_req'
> + */
> +#define VIR_DOMAIN_BLOCK_STATS_ERRS "errs"
> +
>  /**
>   * virDomainInterfaceStats:
>   *
> @@ -1178,6 +1257,11 @@ int                     virDomainBlockStats     (virDomainPtr dom,
>                                                   const char *path,
>                                                   virDomainBlockStatsPtr stats,
>                                                   size_t size);
> +int                     virDomainBlockStatsFlags (virDomainPtr dom,
> +                                                  const char *path,
> +                                                  virTypedParameterPtr params,
> +                                                  int *nparams,
> +                                                  unsigned int flags);
>  int                     virDomainInterfaceStats (virDomainPtr dom,
>                                                   const char *path,
>                                                   virDomainInterfaceStatsPtr stats,
> diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms
> index 169c3ee..dc5a80b 100644
> --- a/src/libvirt_public.syms
> +++ b/src/libvirt_public.syms
> @@ -483,6 +483,7 @@ LIBVIRT_0.9.4 {
>  LIBVIRT_0.9.5 {
>      global:
>          virDomainMigrateGetMaxSpeed;
> +        virDomainBlockStatsFlags;
>  } LIBVIRT_0.9.4;
>  
>  # .... define new API here using predicted next version number ....
> -- 
> 1.7.6

  ACK now, thanks !

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list