diff -Naur dsc-200706121022.orig/presenter/perllib/DSC/extractor/config.pm dsc-200706121022-ag/presenter/perllib/DSC/extractor/config.pm --- dsc-200706121022.orig/presenter/perllib/DSC/extractor/config.pm 2007-05-15 21:39:54.000000000 +0200 +++ dsc-200706121022-ag/presenter/perllib/DSC/extractor/config.pm 2007-12-06 16:29:35.134290000 +0100 @@ -331,6 +331,28 @@ }, }, + dns_ip_version_vs_qtype => { + ndim => 2, + type1 => 'IPVersion', + type2 => 'Qtype', + outputs => { + dns_ip_version => { + keys2 => [ qw(1 2 5 6 12 15 28 33 38 255 else) ], + data_munger => \&main::munge_elsify, + data_reader => \&DSC::extractor::read_data4, + data_merger => \&main::merge_trace, + data_writer => \&DSC::extractor::write_data4, + }, + dns_ip_version_vs_qtype => { + keys2 => [ qw(1 2 5 6 12 15 28 33 38 255 else) ], + data_munger => \&main::munge_elsify, + data_reader => \&DSC::extractor::read_data3, + data_merger => \&main::merge_accum2d, + data_writer => \&DSC::extractor::write_data3, + #data_trimer => \&main::trim_accum2d, + }, + }, + }, ); 1; diff -Naur dsc-200706121022.orig/presenter/perllib/DSC/grapher/plot.pm dsc-200706121022-ag/presenter/perllib/DSC/grapher/plot.pm --- dsc-200706121022.orig/presenter/perllib/DSC/grapher/plot.pm 2007-05-15 22:34:33.000000000 +0200 +++ dsc-200706121022-ag/presenter/perllib/DSC/grapher/plot.pm 2007-12-06 16:38:57.280048000 +0100 @@ -455,6 +455,44 @@ } }, + dns_ip_version => { + dataset => 'dns_ip_version_vs_qtype', + plot_type => 'trace', + keys => [qw(IPv4 IPv6 else)], + names => [qw(IPv4 IPv6 Other)], + colors => [qw(red brightgreen purple)], + data_reader => \&DSC::extractor::read_data4, + data_summer => \&DSC::grapher::data_summer_2d, + yaxes => { + rate => { + label => 'Queries Rate (q/s)', + divideflag => 1, + default => 1, + }, + percent => { + label => 'Percent of Queries', + divideflag => 0, + default => 0, + }, + }, + plottitle => 'IP Version Carrying DNS Queries', + map_legend => 1, + munge_func => \&DSC::grapher::munge_sum_2d_to_1d, + }, + + dns_ip_version_vs_qtype => { + plot_type => 'accum2d', + divideflag => 0, + keys => $qtype_keys, + names => $qtype_names, + colors => $qtype_colors, + data_reader => \&DSC::extractor::read_data3, + data_summer => \&DSC::grapher::data_summer_1d, + yaxes => $std_accum_yaxes, + plottitle => 'Query Types by IP version', + map_legend => 1, + }, + transport_vs_qtype => { dataset => 'transport_vs_qtype', plot_type => 'trace', diff -Naur dsc-200706121022.orig/presenter/perllib/DSC/grapher.pm dsc-200706121022-ag/presenter/perllib/DSC/grapher.pm --- dsc-200706121022.orig/presenter/perllib/DSC/grapher.pm 2007-05-15 22:31:53.000000000 +0200 +++ dsc-200706121022-ag/presenter/perllib/DSC/grapher.pm 2007-12-06 16:46:06.972539000 +0100 @@ -984,7 +984,7 @@ return 1; } -sub data_summer_0d { +sub data_summer0d { my $from = shift; my $to = shift; my $start = time; @@ -1250,6 +1250,10 @@ push(@items, sublist_item() . navbar_item('plot','edns_version', 'EDNS version')); } push(@items, navbar_item('plot','chaos_types_and_names','CHAOS')); + push(@items, navbar_item('plot','dns_ip_version','IP Version')); + if ($pn =~ /dns_ip_version|dns_ip_version_vs_qtype/) { + push(@items, sublist_item() . navbar_item('plot', 'dns_ip_version_vs_qtype', 'Query Types')); + } push(@items, navbar_item('plot','transport_vs_qtype','DNS Transport')); push(@items, navbar_item('plot','direction_vs_ipproto','IP Protocols')); push(@items, navbar_item('plot','qtype_vs_qnamelen','Qname Length'));