mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
virsh: Add timestamps to network events
Implement a --timestamp option for 'virsh net-event', similar to the one for 'virsh event'. When the option is used, the human-readable timestamp will be printed before the message.
This commit is contained in:
parent
75a96e0cc4
commit
dd4e9351ba
@ -31,6 +31,7 @@
|
|||||||
#include "viralloc.h"
|
#include "viralloc.h"
|
||||||
#include "virfile.h"
|
#include "virfile.h"
|
||||||
#include "virstring.h"
|
#include "virstring.h"
|
||||||
|
#include "virtime.h"
|
||||||
#include "conf/network_conf.h"
|
#include "conf/network_conf.h"
|
||||||
|
|
||||||
virNetworkPtr
|
virNetworkPtr
|
||||||
@ -1181,6 +1182,7 @@ virshNetworkEventToString(int event)
|
|||||||
struct virshNetEventData {
|
struct virshNetEventData {
|
||||||
vshControl *ctl;
|
vshControl *ctl;
|
||||||
bool loop;
|
bool loop;
|
||||||
|
bool timestamp;
|
||||||
int count;
|
int count;
|
||||||
};
|
};
|
||||||
typedef struct virshNetEventData virshNetEventData;
|
typedef struct virshNetEventData virshNetEventData;
|
||||||
@ -1201,8 +1203,21 @@ vshEventLifecyclePrint(virConnectPtr conn ATTRIBUTE_UNUSED,
|
|||||||
|
|
||||||
if (!data->loop && data->count)
|
if (!data->loop && data->count)
|
||||||
return;
|
return;
|
||||||
vshPrint(data->ctl, _("event 'lifecycle' for network %s: %s\n"),
|
|
||||||
virNetworkGetName(net), virshNetworkEventToString(event));
|
if (data->timestamp) {
|
||||||
|
char timestamp[VIR_TIME_STRING_BUFLEN];
|
||||||
|
|
||||||
|
if (virTimeStringNowRaw(timestamp) < 0)
|
||||||
|
timestamp[0] = '\0';
|
||||||
|
|
||||||
|
vshPrint(data->ctl, _("%s: event 'lifecycle' for network %s: %s\n"),
|
||||||
|
timestamp,
|
||||||
|
virNetworkGetName(net), virshNetworkEventToString(event));
|
||||||
|
} else {
|
||||||
|
vshPrint(data->ctl, _("event 'lifecycle' for network %s: %s\n"),
|
||||||
|
virNetworkGetName(net), virshNetworkEventToString(event));
|
||||||
|
}
|
||||||
|
|
||||||
data->count++;
|
data->count++;
|
||||||
if (!data->loop)
|
if (!data->loop)
|
||||||
vshEventDone(data->ctl);
|
vshEventDone(data->ctl);
|
||||||
@ -1239,6 +1254,10 @@ static const vshCmdOptDef opts_network_event[] = {
|
|||||||
.type = VSH_OT_BOOL,
|
.type = VSH_OT_BOOL,
|
||||||
.help = N_("list valid event types")
|
.help = N_("list valid event types")
|
||||||
},
|
},
|
||||||
|
{.name = "timestamp",
|
||||||
|
.type = VSH_OT_BOOL,
|
||||||
|
.help = N_("show timestamp for each printed event")
|
||||||
|
},
|
||||||
{.name = NULL}
|
{.name = NULL}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -1275,6 +1294,7 @@ cmdNetworkEvent(vshControl *ctl, const vshCmd *cmd)
|
|||||||
|
|
||||||
data.ctl = ctl;
|
data.ctl = ctl;
|
||||||
data.loop = vshCommandOptBool(cmd, "loop");
|
data.loop = vshCommandOptBool(cmd, "loop");
|
||||||
|
data.timestamp = vshCommandOptBool(cmd, "timestamp");
|
||||||
data.count = 0;
|
data.count = 0;
|
||||||
if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0)
|
if (vshCommandOptTimeoutToMs(ctl, cmd, &timeout) < 0)
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user