Virt.xs | 1 - examples/dhcp-leases.pl | 2 -- examples/dom-fsinfo.pl | 8 +++----- examples/dom-ifinfo.pl | 14 +++++++++----- examples/dom-stats.pl | 9 +++------ examples/node-info.pl | 26 +++++++++++++++++++------- 6 files changed, 34 insertions(+), 26 deletions(-)
Using Data::Dumper in examples does not help devs understand the data
structures that the Perl APIs are returning. Change to explicit field
accesses to illustrate it better
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
Virt.xs | 1 -
examples/dhcp-leases.pl | 2 --
examples/dom-fsinfo.pl | 8 +++-----
examples/dom-ifinfo.pl | 14 +++++++++-----
examples/dom-stats.pl | 9 +++------
examples/node-info.pl | 26 +++++++++++++++++++-------
6 files changed, 34 insertions(+), 26 deletions(-)
diff --git a/Virt.xs b/Virt.xs
index 7d2f1a7..1254df2 100644
--- a/Virt.xs
+++ b/Virt.xs
@@ -3358,7 +3358,6 @@ void get_all_domain_stats(con, stats, doms_sv=&PL_sv_undef, flags=0)
if (SvOK(doms_sv)) {
doms_av = (AV*)SvRV(doms_sv);
ndoms = av_len(doms_av) + 1;
- fprintf(stderr, "Len %d\n", ndoms);
} else {
ndoms = 0;
}
diff --git a/examples/dhcp-leases.pl b/examples/dhcp-leases.pl
index af9bd41..a2202d9 100644
--- a/examples/dhcp-leases.pl
+++ b/examples/dhcp-leases.pl
@@ -1,8 +1,6 @@
#!/usr/bin/perl
-use Acme::ChuckNorris;
use Sys::Virt;
-use Data::Dumper;
my $c = Sys::Virt->new(uri => "qemu:///system",
readonly => 1);
diff --git a/examples/dom-fsinfo.pl b/examples/dom-fsinfo.pl
index 7763f78..46c64e9 100644
--- a/examples/dom-fsinfo.pl
+++ b/examples/dom-fsinfo.pl
@@ -1,6 +1,5 @@
#!/usr/bin/perl
-
use strict;
use warnings;
@@ -15,7 +14,6 @@ my $dom = $c->get_domain_by_name(shift @ARGV);
my @fs = $dom->get_fs_info();
-use Data::Dumper;
-
-print Dumper($fs[0]);
-print Dumper($fs[1]);
+foreach my $fs (@fs) {
+ printf "%s (%s) at %s\n", $fs->{name}, $fs->{fstype}, $fs->{mountpoint};
+}
diff --git a/examples/dom-ifinfo.pl b/examples/dom-ifinfo.pl
index e10579b..66eb157 100644
--- a/examples/dom-ifinfo.pl
+++ b/examples/dom-ifinfo.pl
@@ -1,6 +1,5 @@
#!/usr/bin/perl
-
use strict;
use warnings;
@@ -13,9 +12,14 @@ my $c = Sys::Virt->new(uri => $uri);
my $dom = $c->get_domain_by_name(shift @ARGV);
-my @fs = $dom->get_interface_addresses(
+my @nics = $dom->get_interface_addresses(
Sys::Virt::Domain::INTERFACE_ADDRESSES_SRC_LEASE);
-use Data::Dumper;
-
-print Dumper(@fs);
+foreach my $nic (@nics) {
+ print "Interface ", $nic->{name}, "\n";
+ print " MAC: ", $nic->{hwaddr}, "\n";
+ foreach my $addr (@{$nic->{addrs}}) {
+ print " IP: ", $addr->{addr}, "\n";
+ }
+ print "\n";
+}
diff --git a/examples/dom-stats.pl b/examples/dom-stats.pl
index 13d8fb7..1da0089 100644
--- a/examples/dom-stats.pl
+++ b/examples/dom-stats.pl
@@ -20,10 +20,7 @@ my @stats = $c->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE,
\@doms,
Sys::Virt::Domain::GET_ALL_STATS_ENFORCE_STATS);
-use Data::Dumper;
-
-print Dumper(\@stats);
-
-for (my $i = 0 ; $i <= $#stats ; $i++) {
- print $stats[$i]->{'dom'}->get_name(), ": ", $stats[$i]->{'data'}->{'state.state'}, "\n";
+foreach my $stats (@stats) {
+ print "Guest ", $stats->{'dom'}->get_name(), "\n";
+ print " State: ", $stats->{'data'}->{'state.state'}, "\n";
}
diff --git a/examples/node-info.pl b/examples/node-info.pl
index 89bc9ba..9655ab4 100644
--- a/examples/node-info.pl
+++ b/examples/node-info.pl
@@ -13,13 +13,25 @@ my $info = $hv->get_node_info();
my @models = $hv->get_cpu_model_names($info->{model});
-print join ("\n", sort{ lc $a cmp lc $b } @models), "\n";
-
-my @info = $hv->get_node_free_pages([2048], 0, 0);
-
-use Data::Dumper;
-print Dumper(\@info);
-
+print "Available CPU model names:\n";
+print join ("\n", map { " " . $_ } sort{ lc $a cmp lc $b } @models), "\n";
+
+my @pagesizes = (
+ 4, 2048, 1048576
+ );
+
+my @info = $hv->get_node_free_pages(\@pagesizes, 0, 0);
+
+print "Free pages per NUMA node:\n";
+foreach my $info (@info) {
+ print " Node: ", $info->{cell}, "\n";
+ print " Free: ";
+ for (my $i = 0; $i <= $#pagesizes; $i++) {
+ my $pagesize = $pagesizes[$i];
+ printf "%d @ %d KB, ", $info->{pages}->{$pagesize}, $pagesize;
+ }
+ print "\n";
+}
my $xml = $hv->get_domain_capabilities(undef, "x86_64", undef, "kvm");
print $xml;
--
2.14.3
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On 02/06/2018 11:36 AM, Daniel P. Berrangé wrote:
> Using Data::Dumper in examples does not help devs understand the data
> structures that the Perl APIs are returning. Change to explicit field
> accesses to illustrate it better
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-By: Laine Stump <laine@laine.org>
But are you sure you really want to go to all this trouble just for
perl-deficients like me? :-)
> ---
> Virt.xs | 1 -
> examples/dhcp-leases.pl | 2 --
> examples/dom-fsinfo.pl | 8 +++-----
> examples/dom-ifinfo.pl | 14 +++++++++-----
> examples/dom-stats.pl | 9 +++------
> examples/node-info.pl | 26 +++++++++++++++++++-------
> 6 files changed, 34 insertions(+), 26 deletions(-)
>
> diff --git a/Virt.xs b/Virt.xs
> index 7d2f1a7..1254df2 100644
> --- a/Virt.xs
> +++ b/Virt.xs
> @@ -3358,7 +3358,6 @@ void get_all_domain_stats(con, stats, doms_sv=&PL_sv_undef, flags=0)
> if (SvOK(doms_sv)) {
> doms_av = (AV*)SvRV(doms_sv);
> ndoms = av_len(doms_av) + 1;
> - fprintf(stderr, "Len %d\n", ndoms);
Did you mean to include this change? It's obviously something that
accidentally snuck in during debugging, but it's not related to
Data::Dumper(). (If you're okay with combining it into this patch, so am
I, I just wanted to check).
> } else {
> ndoms = 0;
> }
> diff --git a/examples/dhcp-leases.pl b/examples/dhcp-leases.pl
> index af9bd41..a2202d9 100644
> --- a/examples/dhcp-leases.pl
> +++ b/examples/dhcp-leases.pl
> @@ -1,8 +1,6 @@
> #!/usr/bin/perl
>
> -use Acme::ChuckNorris;
I'm disappointed that this module was being referenced but not actually
used :-)
> use Sys::Virt;
> -use Data::Dumper;
>
> my $c = Sys::Virt->new(uri => "qemu:///system",
> readonly => 1);
> diff --git a/examples/dom-fsinfo.pl b/examples/dom-fsinfo.pl
> index 7763f78..46c64e9 100644
> --- a/examples/dom-fsinfo.pl
> +++ b/examples/dom-fsinfo.pl
> @@ -1,6 +1,5 @@
> #!/usr/bin/perl
>
> -
> use strict;
> use warnings;
>
> @@ -15,7 +14,6 @@ my $dom = $c->get_domain_by_name(shift @ARGV);
>
> my @fs = $dom->get_fs_info();
>
> -use Data::Dumper;
> -
> -print Dumper($fs[0]);
> -print Dumper($fs[1]);
> +foreach my $fs (@fs) {
> + printf "%s (%s) at %s\n", $fs->{name}, $fs->{fstype}, $fs->{mountpoint};
> +}
> diff --git a/examples/dom-ifinfo.pl b/examples/dom-ifinfo.pl
> index e10579b..66eb157 100644
> --- a/examples/dom-ifinfo.pl
> +++ b/examples/dom-ifinfo.pl
> @@ -1,6 +1,5 @@
> #!/usr/bin/perl
>
> -
> use strict;
> use warnings;
>
> @@ -13,9 +12,14 @@ my $c = Sys::Virt->new(uri => $uri);
>
> my $dom = $c->get_domain_by_name(shift @ARGV);
>
> -my @fs = $dom->get_interface_addresses(
> +my @nics = $dom->get_interface_addresses(
> Sys::Virt::Domain::INTERFACE_ADDRESSES_SRC_LEASE);
>
> -use Data::Dumper;
> -
> -print Dumper(@fs);
> +foreach my $nic (@nics) {
> + print "Interface ", $nic->{name}, "\n";
> + print " MAC: ", $nic->{hwaddr}, "\n";
> + foreach my $addr (@{$nic->{addrs}}) {
> + print " IP: ", $addr->{addr}, "\n";
> + }
> + print "\n";
> +}
> diff --git a/examples/dom-stats.pl b/examples/dom-stats.pl
> index 13d8fb7..1da0089 100644
> --- a/examples/dom-stats.pl
> +++ b/examples/dom-stats.pl
> @@ -20,10 +20,7 @@ my @stats = $c->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE,
> \@doms,
> Sys::Virt::Domain::GET_ALL_STATS_ENFORCE_STATS);
>
> -use Data::Dumper;
> -
> -print Dumper(\@stats);
> -
> -for (my $i = 0 ; $i <= $#stats ; $i++) {
> - print $stats[$i]->{'dom'}->get_name(), ": ", $stats[$i]->{'data'}->{'state.state'}, "\n";
> +foreach my $stats (@stats) {
> + print "Guest ", $stats->{'dom'}->get_name(), "\n";
> + print " State: ", $stats->{'data'}->{'state.state'}, "\n";
> }
> diff --git a/examples/node-info.pl b/examples/node-info.pl
> index 89bc9ba..9655ab4 100644
> --- a/examples/node-info.pl
> +++ b/examples/node-info.pl
> @@ -13,13 +13,25 @@ my $info = $hv->get_node_info();
>
> my @models = $hv->get_cpu_model_names($info->{model});
>
> -print join ("\n", sort{ lc $a cmp lc $b } @models), "\n";
> -
> -my @info = $hv->get_node_free_pages([2048], 0, 0);
> -
> -use Data::Dumper;
> -print Dumper(\@info);
> -
> +print "Available CPU model names:\n";
> +print join ("\n", map { " " . $_ } sort{ lc $a cmp lc $b } @models), "\n";
> +
> +my @pagesizes = (
> + 4, 2048, 1048576
> + );
> +
> +my @info = $hv->get_node_free_pages(\@pagesizes, 0, 0);
> +
> +print "Free pages per NUMA node:\n";
> +foreach my $info (@info) {
> + print " Node: ", $info->{cell}, "\n";
> + print " Free: ";
> + for (my $i = 0; $i <= $#pagesizes; $i++) {
> + my $pagesize = $pagesizes[$i];
> + printf "%d @ %d KB, ", $info->{pages}->{$pagesize}, $pagesize;
> + }
> + print "\n";
> +}
>
> my $xml = $hv->get_domain_capabilities(undef, "x86_64", undef, "kvm");
> print $xml;
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Tue, Feb 06, 2018 at 01:01:42PM -0500, Laine Stump wrote:
> On 02/06/2018 11:36 AM, Daniel P. Berrangé wrote:
> > Using Data::Dumper in examples does not help devs understand the data
> > structures that the Perl APIs are returning. Change to explicit field
> > accesses to illustrate it better
> >
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
>
> Reviewed-By: Laine Stump <laine@laine.org>
>
> But are you sure you really want to go to all this trouble just for
> perl-deficients like me? :-)
>
> > ---
> > Virt.xs | 1 -
> > examples/dhcp-leases.pl | 2 --
> > examples/dom-fsinfo.pl | 8 +++-----
> > examples/dom-ifinfo.pl | 14 +++++++++-----
> > examples/dom-stats.pl | 9 +++------
> > examples/node-info.pl | 26 +++++++++++++++++++-------
> > 6 files changed, 34 insertions(+), 26 deletions(-)
> >
> > diff --git a/Virt.xs b/Virt.xs
> > index 7d2f1a7..1254df2 100644
> > --- a/Virt.xs
> > +++ b/Virt.xs
> > @@ -3358,7 +3358,6 @@ void get_all_domain_stats(con, stats, doms_sv=&PL_sv_undef, flags=0)
> > if (SvOK(doms_sv)) {
> > doms_av = (AV*)SvRV(doms_sv);
> > ndoms = av_len(doms_av) + 1;
> > - fprintf(stderr, "Len %d\n", ndoms);
>
> Did you mean to include this change? It's obviously something that
> accidentally snuck in during debugging, but it's not related to
> Data::Dumper(). (If you're okay with combining it into this patch, so am
> I, I just wanted to check).
Yeah, I'll merge it separately since it is unrelated.
>
> > } else {
> > ndoms = 0;
> > }
> > diff --git a/examples/dhcp-leases.pl b/examples/dhcp-leases.pl
> > index af9bd41..a2202d9 100644
> > --- a/examples/dhcp-leases.pl
> > +++ b/examples/dhcp-leases.pl
> > @@ -1,8 +1,6 @@
> > #!/usr/bin/perl
> >
> > -use Acme::ChuckNorris;
>
> I'm disappointed that this module was being referenced but not actually
> used :-)
Patch rebase/squash snafu. v2 coming up
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On 02/06/2018 11:36 AM, Daniel P. Berrangé wrote:
> Using Data::Dumper in examples does not help devs understand the data
> structures that the Perl APIs are returning. Change to explicit field
> accesses to illustrate it better
>
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
> Virt.xs | 1 -
> examples/dhcp-leases.pl | 2 --
> examples/dom-fsinfo.pl | 8 +++-----
> examples/dom-ifinfo.pl | 14 +++++++++-----
> examples/dom-stats.pl | 9 +++------
> examples/node-info.pl | 26 +++++++++++++++++++-------
> 6 files changed, 34 insertions(+), 26 deletions(-)
>
> diff --git a/Virt.xs b/Virt.xs
> index 7d2f1a7..1254df2 100644
> --- a/Virt.xs
> +++ b/Virt.xs
> @@ -3358,7 +3358,6 @@ void get_all_domain_stats(con, stats, doms_sv=&PL_sv_undef, flags=0)
> if (SvOK(doms_sv)) {
> doms_av = (AV*)SvRV(doms_sv);
> ndoms = av_len(doms_av) + 1;
> - fprintf(stderr, "Len %d\n", ndoms);
> } else {
> ndoms = 0;
> }
> diff --git a/examples/dhcp-leases.pl b/examples/dhcp-leases.pl
> index af9bd41..a2202d9 100644
> --- a/examples/dhcp-leases.pl
> +++ b/examples/dhcp-leases.pl
> @@ -1,8 +1,6 @@
> #!/usr/bin/perl
>
> -use Acme::ChuckNorris;
> use Sys::Virt;
> -use Data::Dumper;
>
> my $c = Sys::Virt->new(uri => "qemu:///system",
> readonly => 1);
But doesn't this code actually use Dumper:
foreach my $lease ($n->get_dhcp_leases()) {
print Dumper($lease);
}
John
> diff --git a/examples/dom-fsinfo.pl b/examples/dom-fsinfo.pl
> index 7763f78..46c64e9 100644
> --- a/examples/dom-fsinfo.pl
> +++ b/examples/dom-fsinfo.pl
> @@ -1,6 +1,5 @@
> #!/usr/bin/perl
>
> -
> use strict;
> use warnings;
>
> @@ -15,7 +14,6 @@ my $dom = $c->get_domain_by_name(shift @ARGV);
>
> my @fs = $dom->get_fs_info();
>
> -use Data::Dumper;
> -
> -print Dumper($fs[0]);
> -print Dumper($fs[1]);
> +foreach my $fs (@fs) {
> + printf "%s (%s) at %s\n", $fs->{name}, $fs->{fstype}, $fs->{mountpoint};
> +}
> diff --git a/examples/dom-ifinfo.pl b/examples/dom-ifinfo.pl
> index e10579b..66eb157 100644
> --- a/examples/dom-ifinfo.pl
> +++ b/examples/dom-ifinfo.pl
> @@ -1,6 +1,5 @@
> #!/usr/bin/perl
>
> -
> use strict;
> use warnings;
>
> @@ -13,9 +12,14 @@ my $c = Sys::Virt->new(uri => $uri);
>
> my $dom = $c->get_domain_by_name(shift @ARGV);
>
> -my @fs = $dom->get_interface_addresses(
> +my @nics = $dom->get_interface_addresses(
> Sys::Virt::Domain::INTERFACE_ADDRESSES_SRC_LEASE);
>
> -use Data::Dumper;
> -
> -print Dumper(@fs);
> +foreach my $nic (@nics) {
> + print "Interface ", $nic->{name}, "\n";
> + print " MAC: ", $nic->{hwaddr}, "\n";
> + foreach my $addr (@{$nic->{addrs}}) {
> + print " IP: ", $addr->{addr}, "\n";
> + }
> + print "\n";
> +}
> diff --git a/examples/dom-stats.pl b/examples/dom-stats.pl
> index 13d8fb7..1da0089 100644
> --- a/examples/dom-stats.pl
> +++ b/examples/dom-stats.pl
> @@ -20,10 +20,7 @@ my @stats = $c->get_all_domain_stats(Sys::Virt::Domain::STATS_STATE,
> \@doms,
> Sys::Virt::Domain::GET_ALL_STATS_ENFORCE_STATS);
>
> -use Data::Dumper;
> -
> -print Dumper(\@stats);
> -
> -for (my $i = 0 ; $i <= $#stats ; $i++) {
> - print $stats[$i]->{'dom'}->get_name(), ": ", $stats[$i]->{'data'}->{'state.state'}, "\n";
> +foreach my $stats (@stats) {
> + print "Guest ", $stats->{'dom'}->get_name(), "\n";
> + print " State: ", $stats->{'data'}->{'state.state'}, "\n";
> }
> diff --git a/examples/node-info.pl b/examples/node-info.pl
> index 89bc9ba..9655ab4 100644
> --- a/examples/node-info.pl
> +++ b/examples/node-info.pl
> @@ -13,13 +13,25 @@ my $info = $hv->get_node_info();
>
> my @models = $hv->get_cpu_model_names($info->{model});
>
> -print join ("\n", sort{ lc $a cmp lc $b } @models), "\n";
> -
> -my @info = $hv->get_node_free_pages([2048], 0, 0);
> -
> -use Data::Dumper;
> -print Dumper(\@info);
> -
> +print "Available CPU model names:\n";
> +print join ("\n", map { " " . $_ } sort{ lc $a cmp lc $b } @models), "\n";
> +
> +my @pagesizes = (
> + 4, 2048, 1048576
> + );
> +
> +my @info = $hv->get_node_free_pages(\@pagesizes, 0, 0);
> +
> +print "Free pages per NUMA node:\n";
> +foreach my $info (@info) {
> + print " Node: ", $info->{cell}, "\n";
> + print " Free: ";
> + for (my $i = 0; $i <= $#pagesizes; $i++) {
> + my $pagesize = $pagesizes[$i];
> + printf "%d @ %d KB, ", $info->{pages}->{$pagesize}, $pagesize;
> + }
> + print "\n";
> +}
>
> my $xml = $hv->get_domain_capabilities(undef, "x86_64", undef, "kvm");
> print $xml;
>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On Tue, Feb 06, 2018 at 01:05:52PM -0500, John Ferlan wrote:
>
>
> On 02/06/2018 11:36 AM, Daniel P. Berrangé wrote:
> > Using Data::Dumper in examples does not help devs understand the data
> > structures that the Perl APIs are returning. Change to explicit field
> > accesses to illustrate it better
> >
> > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> > ---
> > Virt.xs | 1 -
> > examples/dhcp-leases.pl | 2 --
> > examples/dom-fsinfo.pl | 8 +++-----
> > examples/dom-ifinfo.pl | 14 +++++++++-----
> > examples/dom-stats.pl | 9 +++------
> > examples/node-info.pl | 26 +++++++++++++++++++-------
> > 6 files changed, 34 insertions(+), 26 deletions(-)
> >
> > diff --git a/Virt.xs b/Virt.xs
> > index 7d2f1a7..1254df2 100644
> > --- a/Virt.xs
> > +++ b/Virt.xs
> > @@ -3358,7 +3358,6 @@ void get_all_domain_stats(con, stats, doms_sv=&PL_sv_undef, flags=0)
> > if (SvOK(doms_sv)) {
> > doms_av = (AV*)SvRV(doms_sv);
> > ndoms = av_len(doms_av) + 1;
> > - fprintf(stderr, "Len %d\n", ndoms);
> > } else {
> > ndoms = 0;
> > }
> > diff --git a/examples/dhcp-leases.pl b/examples/dhcp-leases.pl
> > index af9bd41..a2202d9 100644
> > --- a/examples/dhcp-leases.pl
> > +++ b/examples/dhcp-leases.pl
> > @@ -1,8 +1,6 @@
> > #!/usr/bin/perl
> >
> > -use Acme::ChuckNorris;
> > use Sys::Virt;
> > -use Data::Dumper;
> >
> > my $c = Sys::Virt->new(uri => "qemu:///system",
> > readonly => 1);
>
> But doesn't this code actually use Dumper:
>
> foreach my $lease ($n->get_dhcp_leases()) {
> print Dumper($lease);
> }
Sigh, didn't squash the patches together properly.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2025 Red Hat, Inc.