Skip to content

Commit b61334a

Browse files
committed
fdsdump: add --threads command line option
1 parent 1a0f610 commit b61334a

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/tools/fdsdump/src/options.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

src/tools/fdsdump/src/options.hpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,9 @@ class Options {
9494
/** @brief Get the logging level */
9595
LogLevel get_log_level() const { return m_log_level; }
9696

97+
/** @brief Get the number of threads to use */
98+
unsigned int get_num_threads() const { return m_num_threads; }
99+
97100
private:
98101
Mode m_mode;
99102

@@ -114,6 +117,8 @@ class Options {
114117

115118
LogLevel m_log_level;
116119

120+
unsigned int m_num_threads;
121+
117122
void parse(int argc, char *argv[]);
118123
void validate();
119124
};

0 commit comments

Comments
 (0)