On 09/08/2015 02:00 AM, Denis V. Lunev wrote: > From: Raushaniya Maksudova <rmaksud...@virtuozzo.com> > > This patch adds "info disk-deadlines" qemu-monitor option that prints > dump of all disk requests which caused a disk deadline in Guest OS > from the very start of Virtual Machine: > > disk_id type size total_time start_time > .-------------------------------------------------------- > ide0-hd1 FLUSH 0b 46.403s 22232930059574ns > ide0-hd1 FLUSH 0b 57.591s 22451499241285ns > ide0-hd1 FLUSH 0b 103.482s 22574100547397ns > > Signed-off-by: Raushaniya Maksudova <rmaksud...@virtuozzo.com> > Signed-off-by: Denis V. Lunev <d...@openvz.org> > CC: Stefan Hajnoczi <stefa...@redhat.com> > CC: Kevin Wolf <kw...@redhat.com> > CC: Markus Armbruster <arm...@redhat.com> > CC: Luiz Capitulino <lcapitul...@redhat.com> > ---
qapi interface review only: > +++ b/qapi-schema.json > @@ -3808,3 +3808,36 @@ > > # Rocker ethernet network switch > { 'include': 'qapi/rocker.json' } > + > +## @DiskDeadlinesInfo > +# > +# Contains info about late requests which caused VM stopping > +# > +# @disk-id: name of disk (unique for each disk) Mark this with '#optional', and maybe describe why it would be missing. Does this correspond to the BDS node name where the deadline expired, in which case 'node' might be a nicer name than 'disk-id'? > +# > +# @type: type of request could be READ, WRITE or FLUSH Likewise for using #optional. Please make this an enum type, not an open-coded string. > +# > +# @size: size in bytes of the failed request? Should you also mention which offset the failed request started at? > +# > +# @total-time-ns: total time of request execution > +# > +# @start-time-ns: indicates the start of request execution > +# > +# Since: 2.5 > +## > +{ 'struct': 'DiskDeadlinesInfo', > + 'data' : { '*disk-id': 'str', > + '*type': 'str', > + 'size': 'uint64', > + 'total-time-ns': 'uint64', > + 'start-time-ns': 'uint64' } } > +## > +# @query-disk-deadlines: > +# > +# Returns information about last late disk requests. > +# > +# Returns: a list of @DiskDeadlinesInfo > +# > +# Since: 2.5 > +## > +{ 'command': 'query-disk-deadlines', 'returns': ['DiskDeadlinesInfo'] } Should it be possible to filter to deadlines missed for a specific node, by having an arguments with an optional node name? Should any of the existing query-block or similar commands be modified to make it obvious that there are missed deadline stats, and that it would be useful to call query-disk-deadlines to learn more about them? -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature