From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753202AbdBGIAI (ORCPT ); Tue, 7 Feb 2017 03:00:08 -0500 Received: from mail-wm0-f66.google.com ([74.125.82.66]:35614 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752788AbdBGIAH (ORCPT ); Tue, 7 Feb 2017 03:00:07 -0500 Date: Tue, 7 Feb 2017 09:00:01 +0100 From: Ingo Molnar To: Arnaldo Carvalho de Melo Cc: Ravi Bangoria , linux-kernel@vger.kernel.org, mingo@redhat.com, alexis.berlemont@gmail.com, peterz@infradead.org, alexander.shishkin@linux.intel.com, mpe@ellerman.id.au, naveen.n.rao@linux.vnet.ibm.com, mhiramat@kernel.org, maddy@linux.vnet.ibm.com Subject: Re: [PATCH v2] perf/sdt: Show proper hint Message-ID: <20170207080001.GB21028@gmail.com> References: <20170202162051.GA2266@redhat.com> <20170203102642.17258-1-ravi.bangoria@linux.vnet.ibm.com> <20170203151826.GA2712@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20170203151826.GA2712@redhat.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Arnaldo Carvalho de Melo wrote: > Em Fri, Feb 03, 2017 at 03:56:42PM +0530, Ravi Bangoria escreveu: > > After patch: > > $ perf record -a -e sdt_glib:idle__add > > event syntax error: 'sdt_glib:idle__add' > > \___ unknown tracepoint > > > > Error: File /sys/kernel/debug/tracing/events/sdt_glib/idle__add not found. > > Hint: SDT event cannot be directly recorded on. Please use 'perf probe sdt_glib:idle__add' before recording it. > > ... > > > > $ perf probe sdt_glib:idle__add > > Added new event: > > sdt_glib:idle__add (on %idle__add in /usr/lib64/libglib-2.0.so.0.5000.2) > > > > You can now use it in all perf tools, such as: > > > > perf record -e sdt_glib:idle__add -aR sleep 1 > > > > $ perf record -a -e sdt_glib:idle__add > > [ perf record: Woken up 1 times to write data ] > > [ perf record: Captured and wrote 0.175 MB perf.data ] > > Looks much better! Thanks! > > Unsure if we should state somewhere that this needs to be done only once > per boot. Forgot to reply to your question - indeed I agree that something like this would be even better: $ perf record -a -e sdt_glib:idle__add event syntax error: 'sdt_glib:idle__add' \___ unknown tracepoint Error: File /sys/kernel/debug/tracing/events/sdt_glib/idle__add not found. Hint: SDT event cannot be directly recorded on. Please first use 'perf probe sdt_glib:idle__add' before recording it. BTW., and I think this is fundamental: why is this interim step forced upon the user - cannot we just auto-enable it if it's not enabled yet? If for some reason it's important for the user to know that we enabled a probe we could print that we did so: Info: enabling not yet enabled 'perf probe sdt_glib:idle__add' SDT event. ... and that would be even more usable. A tool printing out the perfect thing for the user to type in is a sign that the tool should have done this itself. See for example how Git handles the bisection workflow. Technically the following is required to start a bisection: triton:~/tip> git bisect start triton:~/tip> git bisect bad triton:~/tip> But you can also do: triton:~/tip> git bisect bad You need to start by "git bisect start" Do you want me to do it for you [Y/n]? triton:~/tip> and the user can start the bisection by hitting Enter. No fuss, no unnecessary resistance from tooling - and the user is fully informed all along. Every extra tooling step forced upon users annoys them and shrinks the potential userbase. Thanks, Ingo