Files
bind9/bin/tests/system/statschannel/zones-xml.pl
Matthijs Mekking e67490cadb Add test for many keys
Add a statschannel test case for DNSSEC sign metrics that has more
keys than there are allocated stats counters for.  This will produce
gibberish, but at least it should not crash.

(cherry picked from commit 31e8b2b13c)
2020-04-03 10:03:39 +02:00

39 lines
1.2 KiB
Perl

#!/usr/bin/perl
#
# Copyright (C) Internet Systems Consortium, Inc. ("ISC")
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# See the COPYRIGHT file distributed with this work for additional
# information regarding copyright ownership.
# zones-xml.pl:
# Parses the XML version of the dnssec sign stats for the
# "dnssec" zone in the default view into a normalized format.
use XML::Simple;
my $file = $ARGV[0];
my $zone = $ARGV[1];
my $ref = XMLin($file);
my $counters = $ref->{views}->{view}->{_default}->{zones}->{zone}->{$zone}->{counters};
foreach $group (@$counters) {
my $type = $group->{type};
if ($type eq "dnssec-sign" || $type eq "dnssec-refresh") {
if (exists $group->{counter}->{name}) {
print $type . " operations " . $group->{counter}->{name} . ": " . $group->{counter}->{content} . "\n";
} else {
foreach $key (keys %{$group->{counter}}) {
print $type . " operations " . $key . ": ". $group->{counter}->{$key}->{content} ."\n";
}
}
}
}