yong.hu...@smartx.com writes:

> From: Hyman Huang <yong.hu...@smartx.com>
>
> When the developer is examining the time distribution of
> the migration, it is useful to record the migration throttle
> timestamp. Consequently, include the migration throttle event.

Can you explain what you'd like to do with the information in a little
more detail?

> Signed-off-by: Hyman Huang <yong.hu...@smartx.com>
> ---
>  migration/ram.c     |  1 +
>  qapi/migration.json | 15 +++++++++++++++
>  2 files changed, 16 insertions(+)
>
> diff --git a/migration/ram.c b/migration/ram.c
> index 589b6505eb..725e029927 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -524,6 +524,7 @@ static void mig_throttle_guest_down(uint64_t 
> bytes_dirty_period,
>  
>      /* We have not started throttling yet. Let's start it. */
>      if (!cpu_throttle_active()) {
> +        qapi_event_send_migration_throttle();
>          cpu_throttle_set(pct_initial);
>      } else {
>          /* Throttling already on, just increase the rate */

I guess the percentage is uninteresting because it changes too quickly.
Correct?

Would it make sense to track cpu_throttle_stop(), too?

> diff --git a/qapi/migration.json b/qapi/migration.json
> index 8b9c53595c..0495065b5d 100644
> --- a/qapi/migration.json
> +++ b/qapi/migration.json
> @@ -1393,6 +1393,21 @@
>  { 'event': 'MIGRATION_PASS',
>    'data': { 'pass': 'int' } }
>  
> +##
> +# @MIGRATION_THROTTLE:
> +#
> +# Emitted from the source side of a migration at the start of vCPU throttle
> +#
> +# Since: 10.0
> +#
> +# Example:
> +#
> +# <- { "event": "MIGRATION_THROTTLE",
> +#      "timestamp": { "seconds": 1267041730, "microseconds": 281295 } }
> +#
> +##
> +{ 'event': 'MIGRATION_THROTTLE' }
> +
>  ##
>  # @COLOMessage:
>  #

Standard question for events: if a management application misses an
event, say because it restarts and reconnects, is there a way to obtain
the missed information with a query command?


Reply via email to