+
+ my $log = $self->_get_logger();
+
+ my $s = $self->{_stats};
+ if (! $s) {
+ $log->warn("called stats, but there is no statistics collected");
+ return;
+ }
+
+ my $max_fld = 0;
+
+ my $out = join("\n",
+ map {
+ my $f = $_ || die "no field";
+ my $v = $s->{fld}->{$f} || die "no s->{fld}->{$f}";
+ $max_fld = $v if ($v > $max_fld);
+
+ my $o = sprintf("%4d %d ~", $f, $v);
+
+ if (defined($s->{sf}->{$f})) {
+ map {
+ $o .= sprintf(" %s:%d", $_, $s->{sf}->{$f}->{$_});
+ } sort keys %{ $s->{sf}->{$f} };
+ }
+
+ if (my $v_r = $s->{repeatable}->{$f}) {
+ $o .= " ($v_r)" if ($v_r != $v);
+ }
+
+ $o;
+ } sort { $a <=> $b } keys %{ $s->{fld} }
+ );
+
+ $log->debug( sub { Dumper($s) } );
+
+ return $out;