X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/cb62f7dffdd435a7d090bec44ec7be4ac3fd194b..684b72e150905bbacb836678b59725c75eb2b848:/package/libipfix/extra/append-wprobe-ie.pl?ds=sidebyside diff --git a/package/libipfix/extra/append-wprobe-ie.pl b/package/libipfix/extra/append-wprobe-ie.pl index e3a44f0d7..8bb658bbb 100644 --- a/package/libipfix/extra/append-wprobe-ie.pl +++ b/package/libipfix/extra/append-wprobe-ie.pl @@ -1,33 +1,38 @@ use strict; my @fields = ( - [ "avg", "FLOAT", "Average" ], - [ "stdev", "FLOAT", "Standard deviation" ], - [ "n", "UINT", "Number of samples" ] + [ "_n", "UINT", " - Number of samples", 4 ], + [ "_s", "UINT", " - Sum of samples", 8 ], + [ "_ss", "UINT", " - Sum of squared samples", 8 ], ); -my $file = $ARGV[0] or die "Syntax: $0 \n"; +my $file = $ARGV[0] or die "Syntax: $0 \n"; -f $file or die "File not found\n"; -my $last_ie = 0; -my $line; -open IES, "<$file" or die "Can't open file"; -while ($line = ) { - $line =~ /^(\d+)\s*,/ and $last_ie = $1; -} -close IES; -while () { - /^(\w+),\s*(\w+),\s*(.+)$/ and do { - my $rfield = $1; - my $nfield = $2; - my $descr = $3; - foreach my $f (@fields) { - my $nr = ++$last_ie; +my $start = $ARGV[1]; +$start =~ /^\d+$/ or die "Invalid start number"; +open FILE, "<$file" or die "Can't open file"; +while () { + /^(%?)(\w+),\s*(\w+),\s*(.+)$/ and do { + my $counter = $1; + my $rfield = $2; + my $nfield = $3; + my $descr = $4; + my @f; + if ($counter) { + @f = [ "", "UINT", "", 4]; + } else { + @f = @fields; + } + foreach my $f (@f) { + my $nr = $start++; my $n = $f->[0]; my $N = uc $n; my $ftype = $f->[1]; my $fdesc = $f->[2]; - print "$nr, IPFIX_FT_WPROBE_$rfield\_$N, 4, IPFIX_CODING_$ftype, \"$nfield\_$n\", \"$descr - $fdesc\"\n"; + my $size = $f->[3]; + print "$nr, IPFIX_FT_WPROBE_$rfield$N, $size, IPFIX_CODING_$ftype, \"$nfield$n\", \"$descr$fdesc\"\n"; } }; } +close FILE;