Em Tue, Jul 25, 2023 at 11:46:49AM +0530, Aditya Gupta escreveu: > Currently we depend on output of 'perf record -e "sched:sched_switch"', to > check whether perf was built with libtraceevent support. > > Instead, a more straightforward approach can be to check the build options, > using 'perf version --build-options', to check for libtraceevent support. > > When perf is compiled WITHOUT libtraceevent ('make NO_LIBTRACEEVENT=1'), > 'perf version --build-options' outputs (output trimmed): > > ... > libtraceevent: [ OFF ] # HAVE_LIBTRACEEVENT > ... > > While, when perf is compiled WITH libtraceevent, > > 'perf version --build-options' outputs: > > ... > libtraceevent: [ on ] # HAVE_LIBTRACEEVENT > ... > > Suggested-by: Ian Rogers <irog...@google.com> > Signed-off-by: Aditya Gupta <adit...@linux.ibm.com> > --- > > tools/perf/tests/shell/test_task_analyzer.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/perf/tests/shell/test_task_analyzer.sh > b/tools/perf/tests/shell/test_task_analyzer.sh > index 0095abbe20ca..a28d784987b4 100755 > --- a/tools/perf/tests/shell/test_task_analyzer.sh > +++ b/tools/perf/tests/shell/test_task_analyzer.sh > @@ -52,7 +52,7 @@ find_str_or_fail() { > > # check if perf is compiled with libtraceevent support > skip_no_probe_record_support() { > - perf record -e "sched:sched_switch" -a -- sleep 1 2>&1 | grep > "libtraceevent is necessary for tracepoint support" && return 2 > + perf version --build-options | grep HAVE_LIBTRACEEVENT | grep -q OFF && > return 2 > return 0
I'll apply this, but please consider adding a: perf build --has libtraceevent subcommand to have that query made more compact and to avoid the two extra grep. BTW, I'll change that to: [acme@quaco perf-tools-next]$ perf version --build-options | grep " on .* HAVE_LIBTRACEEVENT" libtraceevent: [ on ] # HAVE_LIBTRACEEVENT [acme@quaco perf-tools-next]$ replacing "on" with OFF, so that we have just one grep. Thanks, - Arnaldo > } > > -- > 2.41.0 > -- - Arnaldo