@@ -34,6 +34,7 @@ void Options::print_usage()
3434 std::cerr << " -S, --aggregation-values FIELDS Fields that will be aggregated (default = flows,packets,bytes)\n " ;
3535 std::cerr << " -I, --stats-mode Run in statistics mode\n " ;
3636 std::cerr << " --no-biflow-autoignore Turn off smart ignoring of empty biflow records\n " ;
37+ std::cerr << " -t, --threads NUM Number of threads to use\n " ;
3738 std::cerr << " -v, --verbose Increase logging verbosity\n " ;
3839 std::cerr << " -q, --quiet Decrease logging verbosity\n " ;
3940}
@@ -69,6 +70,8 @@ void Options::reset()
6970 m_order_by.clear ();
7071
7172 m_log_level = LogLevel::warning;
73+
74+ m_num_threads = 1 ;
7275}
7376
7477/* *
@@ -92,6 +95,7 @@ void Options::parse(int argc, char *argv[])
9295 parser.add (' S' , " aggregation-values" , true );
9396 parser.add (" no-biflow-autoignore" , false );
9497 parser.add (' I' , " stats-mode" , false );
98+ parser.add (' t' , " threads" , true );
9599 parser.add (' v' , " verbose" , false );
96100 parser.add (' q' , " quiet" , false );
97101
@@ -148,6 +152,14 @@ void Options::parse(int argc, char *argv[])
148152 m_mode = Mode::stats;
149153 }
150154
155+ if (args.has (' t' )) {
156+ auto value = parse_number<unsigned int >(args.get (' t' ));
157+ if (!value) {
158+ throw OptionsException (" invalid -t/--threads value - not a number" );
159+ }
160+ m_num_threads = *value;
161+ }
162+
151163 for (int i = 0 ; i < args.count (' v' ); i++) {
152164 m_log_level++;
153165 }
0 commit comments