Skip to content

Commit

Permalink
selftests/bpf: make veristat emit all stats in CSV mode by default
Browse files Browse the repository at this point in the history
Make veristat distinguish between table and CSV output formats and use
different default set of stats (columns) that are emitted. While for
human-readable table output it doesn't make sense to output all known
stats, it is very useful for CSV mode to record all possible data, so
that it can later be queried and filtered in replay or comparison mode.

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20221103055304.2904589-8-andrii@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
  • Loading branch information
Andrii Nakryiko authored and Alexei Starovoitov committed Nov 4, 2022
1 parent 1bb4ec8 commit 7753440
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions tools/testing/selftests/bpf/veristat.c
Original file line number Diff line number Diff line change
Expand Up @@ -501,6 +501,15 @@ static const struct stat_specs default_output_spec = {
},
};

static const struct stat_specs default_csv_output_spec = {
.spec_cnt = 9,
.ids = {
FILE_NAME, PROG_NAME, VERDICT, DURATION,
TOTAL_INSNS, TOTAL_STATES, PEAK_STATES,
MAX_STATES_PER_INSN, MARK_READ_MAX_LEN,
},
};

static const struct stat_specs default_sort_spec = {
.spec_cnt = 2,
.ids = {
Expand Down Expand Up @@ -1561,8 +1570,12 @@ int main(int argc, char **argv)
if (env.verbose && env.log_level == 0)
env.log_level = 1;

if (env.output_spec.spec_cnt == 0)
env.output_spec = default_output_spec;
if (env.output_spec.spec_cnt == 0) {
if (env.out_fmt == RESFMT_CSV)
env.output_spec = default_csv_output_spec;
else
env.output_spec = default_output_spec;
}
if (env.sort_spec.spec_cnt == 0)
env.sort_spec = default_sort_spec;

Expand Down

0 comments on commit 7753440

Please sign in to comment.