*/
# define VIR_DOMAIN_STATS_CUSTOM_SUFFIX_TYPE_MAX ".max"
+
+/**
+ * VIR_DOMAIN_STATS_NET_COUNT:
+ *
+ * Number of network interfaces on this domain as unsigned int.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_COUNT "net.count"
+
+/**
+ * VIR_DOMAIN_STATS_NET_PREFIX:
+ *
+ * The parameter name prefix to access each interface entry. Concatenate the
+ * prefix, the entry number formatted as an unsigned integer and one of the
+ * network suffix parameters to form a complete parameter name.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_PREFIX "net."
+
+/**
+ * VIR_DOMAIN_STATS_NET_SUFFIX_NAME:
+ *
+ * Name of the interface as string.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_SUFFIX_NAME ".name"
+
+/**
+ * VIR_DOMAIN_STATS_NET_SUFFIX_RX_BYTES:
+ *
+ * Bytes received as unsigned long long.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_SUFFIX_RX_BYTES ".rx.bytes"
+
+/**
+ * VIR_DOMAIN_STATS_NET_SUFFIX_RX_PKTS:
+ *
+ * Packets received as unsigned long long.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_SUFFIX_RX_PKTS ".rx.pkts"
+
+/**
+ * VIR_DOMAIN_STATS_NET_SUFFIX_RX_ERRS:
+ *
+ * Receive errors as unsigned long long.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_SUFFIX_RX_ERRS ".rx.errs"
+
+/**
+ * VIR_DOMAIN_STATS_NET_SUFFIX_RX_DROP:
+ *
+ * Receive packets dropped as unsigned long long.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_SUFFIX_RX_DROP ".rx.drop"
+
+/**
+ * VIR_DOMAIN_STATS_NET_SUFFIX_TX_BYTES:
+ *
+ * Bytes transmitted as unsigned long long.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_SUFFIX_TX_BYTES ".tx.bytes"
+
+/**
+ * VIR_DOMAIN_STATS_NET_SUFFIX_TX_PKTS:
+ *
+ * Packets transmitted as unsigned long long.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_SUFFIX_TX_PKTS ".tx.pkts"
+
+/**
+ * VIR_DOMAIN_STATS_NET_SUFFIX_TX_ERRS:
+ *
+ * Transmission errors as unsigned long long.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_SUFFIX_TX_ERRS ".tx.errs"
+
+/**
+ * VIR_DOMAIN_STATS_NET_SUFFIX_TX_DROP:
+ *
+ * Transmit packets dropped as unsigned long long.
+ *
+ * Since: 11.2.0
+ */
+# define VIR_DOMAIN_STATS_NET_SUFFIX_TX_DROP ".tx.drop"
+
/**
* virDomainStatsTypes:
*
*
* VIR_DOMAIN_STATS_INTERFACE:
* Return network interface statistics (from domain point of view).
- * The typed parameter keys are in this format:
- *
- * "net.count" - number of network interfaces on this domain
- * as unsigned int.
- * "net.<num>.name" - name of the interface <num> as string.
- * "net.<num>.rx.bytes" - bytes received as unsigned long long.
- * "net.<num>.rx.pkts" - packets received as unsigned long long.
- * "net.<num>.rx.errs" - receive errors as unsigned long long.
- * "net.<num>.rx.drop" - receive packets dropped as unsigned long long.
- * "net.<num>.tx.bytes" - bytes transmitted as unsigned long long.
- * "net.<num>.tx.pkts" - packets transmitted as unsigned long long.
- * "net.<num>.tx.errs" - transmission errors as unsigned long long.
- * "net.<num>.tx.drop" - transmit packets dropped as unsigned long long.
+ * The VIR_DOMAIN_STATS_NET_* constants define the known typed
+ * parameter keys.
*
* VIR_DOMAIN_STATS_BLOCK:
* Return block devices statistics. By default,
#define QEMU_ADD_NET_PARAM(params, num, name, value) \
if (value >= 0)\
- virTypedParamListAddULLong((params), (value), "net.%zu.%s", (num), (name));
+ virTypedParamListAddULLong((params), (value), \
+ VIR_DOMAIN_STATS_NET_PREFIX "%zu" VIR_DOMAIN_STATS_NET_SUFFIX_ ## name, (num));
static void
qemuDomainGetStatsInterface(virQEMUDriver *driver G_GNUC_UNUSED,
if (!virDomainObjIsActive(dom))
return;
- virTypedParamListAddUInt(params, dom->def->nnets, "net.count");
+ virTypedParamListAddUInt(params, dom->def->nnets,
+ VIR_DOMAIN_STATS_NET_COUNT);
/* Check the path is one of the domain's network interfaces. */
for (i = 0; i < dom->def->nnets; i++) {
actualType = virDomainNetGetActualType(net);
- virTypedParamListAddString(params, net->ifname, "net.%zu.name", i);
+ virTypedParamListAddString(params, net->ifname,
+ VIR_DOMAIN_STATS_NET_PREFIX "%zu" VIR_DOMAIN_STATS_NET_SUFFIX_NAME, i);
if (actualType == VIR_DOMAIN_NET_TYPE_VHOSTUSER) {
if (virNetDevOpenvswitchInterfaceStats(net->ifname, &tmp) < 0) {
}
}
- QEMU_ADD_NET_PARAM(params, i, "rx.bytes", tmp.rx_bytes);
- QEMU_ADD_NET_PARAM(params, i, "rx.pkts", tmp.rx_packets);
- QEMU_ADD_NET_PARAM(params, i, "rx.errs", tmp.rx_errs);
- QEMU_ADD_NET_PARAM(params, i, "rx.drop", tmp.rx_drop);
- QEMU_ADD_NET_PARAM(params, i, "tx.bytes", tmp.tx_bytes);
- QEMU_ADD_NET_PARAM(params, i, "tx.pkts", tmp.tx_packets);
- QEMU_ADD_NET_PARAM(params, i, "tx.errs", tmp.tx_errs);
- QEMU_ADD_NET_PARAM(params, i, "tx.drop", tmp.tx_drop);
+ QEMU_ADD_NET_PARAM(params, i, RX_BYTES, tmp.rx_bytes);
+ QEMU_ADD_NET_PARAM(params, i, RX_PKTS, tmp.rx_packets);
+ QEMU_ADD_NET_PARAM(params, i, RX_ERRS, tmp.rx_errs);
+ QEMU_ADD_NET_PARAM(params, i, RX_DROP, tmp.rx_drop);
+ QEMU_ADD_NET_PARAM(params, i, TX_BYTES, tmp.tx_bytes);
+ QEMU_ADD_NET_PARAM(params, i, TX_PKTS, tmp.tx_packets);
+ QEMU_ADD_NET_PARAM(params, i, TX_ERRS, tmp.tx_errs);
+ QEMU_ADD_NET_PARAM(params, i, TX_DROP, tmp.tx_drop);
}
}