1919
2020namespace fdsdump {
2121
22+ void Options::print_usage ()
23+ {
24+ std::cerr << " Usage: fdsdump [OPTIONS]\n " ;
25+ std::cerr << " \n " ;
26+ std::cerr << " Options:\n " ;
27+ std::cerr << " -h, --help Show this help message\n " ;
28+ std::cerr << " -r, --input FILE File or glob pattern of files to read\n " ;
29+ std::cerr << " -f, --filter EXPR Select only records matching filter expression (default = all records)\n " ;
30+ std::cerr << " -o, --output FMT Output format - TABLE, JSON, JSON-RAW\n " ;
31+ std::cerr << " -O, --order FIELDS Record fields and order direction to order by\n " ;
32+ std::cerr << " -c, --limit NUM Max number of output records (default = infinite)\n " ;
33+ std::cerr << " -A, --aggregation-keys FIELDS Fields making up the aggregation key (default = none)\n " ;
34+ std::cerr << " -S, --aggregation-values FIELDS Fields that will be aggregated (default = flows,packets,bytes)\n " ;
35+ std::cerr << " -I, --stats-mode Run in statistics mode\n " ;
36+ std::cerr << " --no-biflow-autoignore Turn off smart ignoring of empty biflow records\n " ;
37+ }
38+
2239Options::Options ()
2340{
2441 reset ();
@@ -33,6 +50,7 @@ Options::Options(int argc, char *argv[])
3350
3451void Options::reset ()
3552{
53+ m_help_flag = false ;
3654 m_mode = Mode::undefined;
3755
3856 m_input_files.clear ();
@@ -60,6 +78,7 @@ void Options::reset()
6078void Options::parse (int argc, char *argv[])
6179{
6280 ArgParser parser;
81+ parser.add (' h' , " help" , false );
6382 parser.add (' r' , " input" , true );
6483 parser.add (' F' , " filter" , true );
6584 parser.add (' o' , " output" , true );
@@ -79,6 +98,10 @@ void Options::parse(int argc, char *argv[])
7998 throw OptionsException (" Unknown argument " + unknown.arg );
8099 }
81100
101+ if (args.has (' h' )) {
102+ m_help_flag = true ;
103+ }
104+
82105 if (args.has (' r' )) {
83106 for (const auto &arg : args.get_all (' r' )) {
84107 m_input_files.add_files (arg);
0 commit comments