append-wprobe-ie.pl 890 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. use strict;
  2. my @fields = (
  3. [ "_n", "UINT", " - Number of samples", 4 ],
  4. [ "_s", "UINT", " - Sum of samples", 8 ],
  5. [ "_ss", "UINT", " - Sum of squared samples", 8 ],
  6. );
  7. my $file = $ARGV[0] or die "Syntax: $0 <file> <start>\n";
  8. -f $file or die "File not found\n";
  9. my $start = $ARGV[1];
  10. $start =~ /^\d+$/ or die "Invalid start number";
  11. open FILE, "<$file" or die "Can't open file";
  12. while (<FILE>) {
  13. /^(%?)(\w+),\s*(\w+),\s*(.+)$/ and do {
  14. my $counter = $1;
  15. my $rfield = $2;
  16. my $nfield = $3;
  17. my $descr = $4;
  18. my @f;
  19. if ($counter) {
  20. @f = [ "", "UINT", "", 4];
  21. } else {
  22. @f = @fields;
  23. }
  24. foreach my $f (@f) {
  25. my $nr = $start++;
  26. my $n = $f->[0];
  27. my $N = uc $n;
  28. my $ftype = $f->[1];
  29. my $fdesc = $f->[2];
  30. my $size = $f->[3];
  31. print "$nr, IPFIX_FT_WPROBE_$rfield$N, $size, IPFIX_CODING_$ftype, \"$nfield$n\", \"$descr$fdesc\"\n";
  32. }
  33. };
  34. }
  35. close FILE;