Implement a --timestamp option for 'virsh qemu-monitor-event', similar to the one for 'virsh event'. When the option is used, the human-readable timestamp will be printed before the message, and the timing information provided by QEMU will not be displayed. --- tools/virsh-domain.c | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index edbbc34..515ed36 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -9157,6 +9157,7 @@ struct virshQemuEventData { vshControl *ctl; bool loop; bool pretty; + bool timestamp; int count; }; typedef struct virshQemuEventData virshQemuEventData; @@ -9177,8 +9178,20 @@ virshEventPrint(virConnectPtr conn ATTRIBUTE_UNUSED, virDomainPtr dom, if (pretty && (str = virJSONValueToString(pretty, true))) details = str; } - vshPrint(data->ctl, "event %s at %lld.%06u for domain %s: %s\n", - event, seconds, micros, virDomainGetName(dom), NULLSTR(details)); + + if (data->timestamp) { + char timestamp[VIR_TIME_STRING_BUFLEN]; + + if (virTimeStringNowRaw(timestamp) < 0) + timestamp[0] = '\0'; + + vshPrint(data->ctl, "%s: event %s for domain %s: %s\n", + timestamp, event, virDomainGetName(dom), NULLSTR(details)); + } else { + vshPrint(data->ctl, "event %s at %lld.%06u for domain %s: %s\n", + event, seconds, micros, virDomainGetName(dom), NULLSTR(details)); + } + data->count++; if (!data->loop) vshEventDone(data->ctl); @@ -9225,6 +9238,10 @@ static const vshCmdOptDef opts_qemu_monitor_event[] = { .type = VSH_OT_BOOL, .help = N_("treat event case-insensitively") }, + {.name = "timestamp", + .type = VSH_OT_BOOL, + .help = N_("show timestamp for each printed event") + }, {.name = NULL} }; @@ -9248,6 +9265,7 @@ cmdQemuMonitorEvent(vshControl *ctl, const vshCmd *cmd) data.ctl = ctl; data.loop = vshCommandOptBool(cmd, "loop"); data.pretty = vshCommandOptBool(cmd, "pretty"); + data.timestamp = vshCommandOptBool(cmd, "timestamp"); data.count = 0; if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0) return false; -- 2.5.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list