virt plugin: Add support for domain tags
One "domain tag" is one custom attribute in the libvirt domain
metadata section. This patch enhances the virt plugin to partition
the domains to sample into reader instances according to tags.
One reader instance will only query the domains with attached
a macthing tag.
The special-purpose reader instance #0, guaranteed to be always present,
(since <0 instances are not allowed), will query all the domains
with missing or unrecognized tag, so no domain will ever left
out.
It's up to one external entity, like a management application,
to properly tag domains however it sees fit; how tags are picked
is completely transparent to the plugin
Tagging could be used by management application to evenly spread the
load among the reader threads, or to pin on the same threads all
the libvirt domains which use the same shared storage, to minimize
the disruption in presence of storage outages.
Signed-off-by: Francesco Romani <fromani@redhat.com>