From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: Jim Cromie <jim.cromie@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org, a.p.zijlstra@chello.nl,
paulus@samba.org
Subject: Re: [PATCH 1/2] perf stat: add -l <N> option to redirect stderr elsewhere
Date: Fri, 2 Sep 2011 15:58:57 -0300 [thread overview]
Message-ID: <20110902185857.GE17970@ghostprotocols.net> (raw)
In-Reply-To: <CAJfuBxzmqKoxFqrX8UjHFUioHesOKUe6yZn+CdD1Fracti2MYQ@mail.gmail.com>
Em Fri, Sep 02, 2011 at 12:04:03PM -0600, Jim Cromie escreveu:
> On Fri, Sep 2, 2011 at 8:35 AM, Arnaldo Carvalho de Melo
> <acme@ghostprotocols.net> wrote:
> > Em Thu, Sep 01, 2011 at 03:58:13PM -0600, Jim Cromie escreveu:
> >> On Sat, May 21, 2011 at 2:41 PM, Arnaldo Carvalho de Melo
> >> <acme@ghostprotocols.net> wrote:
> >> > Em Sat, May 21, 2011 at 12:34:18PM +0200, Ingo Molnar escreveu:
> >> >> * Jim Cromie <jim.cromie@gmail.com> wrote:
> >> >>
> >> >> > This perf stat option emulates valgrind's --log-fd option, allowing the
> >> >> > user to send perf results elsewhere, and leaving stderr for use by the
> >> >> > program under test.
> >> >> >
> >> >> > 3>results perf stat -l 3 -- <cmd>
> >> >> >
> >> >> > The perl distro's make test.valgrind target uses valgrinds --log-fd
> >> >> > option, I've adapted it to invoke perf also, and tested this patch there.
> >> >> >
> >> >> > Signed-off-by: Jim Cromie <jim.cromie@gmail.com>
> >> >>
> >> >> Makes sense!
> >> >>
> >> >> Arnaldo, if you are fine with it, do you want to pick it up - or should i? If
> >> >> you pick it up:
> >> >>
> >> >> Acked-by: Ingo Molnar <mingo@elte.hu>
> >> >
> >> > Its ok with me:
> >> >
> >> > Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> >> >
> >> > I will pick it this weekend, if you don't merge it till then.
> >
> >> Did this ever happen ?
> >> Can you point me to the git-url where it did/will end up ?
> >
> > Fell thru the cracks, then Stephane implemented --output:
> >
> > http://git.kernel.org/?p=linux/kernel/git/tip/linux-tip.git;a=commitdiff;h=4aa9015f8bfd2c8d7cc33a360275b71a9d708b37
> >
> > That introduces an output FILE pointer as in your patch (logfp), so I
> > adjusted your patch, that ended up like below. I removed -l and made it
> > --log-fd, just like valgrind and added the Documentation bits about the
> > new cmdline option, ok?
> >
>
> absolutely.
> theres one comment I added (just above output_fd decl)
> that mentions -I, it should be updated to --log-fd
>
> And probably --output and --log-fd should be mutually exclusive.
With the current implementation if --output is used --log-fd will be
ignored if present, perhaps we should print a warning or plain fail if
the user tries to specify both?
> > I'll look at the other 3 patch series that came after, will fix up and
> > post here for your consideration.
>
> those are the output format refactoring ?
>
> ah, your new message just arrived.
> I'll take another go at them..
Ok, please apply this reworked --log-fd before, of course :)
> thanks
>
> >
> > - Arnaldo
> >
> > diff --git a/tools/perf/Documentation/perf-stat.txt b/tools/perf/Documentation/perf-stat.txt
> > index 08394c4..b6bfd1e 100644
> > --- a/tools/perf/Documentation/perf-stat.txt
> > +++ b/tools/perf/Documentation/perf-stat.txt
> > @@ -101,6 +101,9 @@ Print the output into the designated file.
> > --append::
> > Append to the output file designated with the -o option. Ignored if -o is not specified.
> >
> > +--log-fd::
> > +Log output to fd, instead of stderr.
>
> stderr / outputfile ??
>
> > +
> > EXAMPLES
> > --------
> >
> > diff --git a/tools/perf/builtin-stat.c b/tools/perf/builtin-stat.c
> > index bec64a9..c991d66 100644
> > --- a/tools/perf/builtin-stat.c
> > +++ b/tools/perf/builtin-stat.c
> > @@ -196,6 +196,8 @@ static bool csv_output = false;
> > static bool group = false;
> > static const char *output_name = NULL;
> > static FILE *output = NULL;
> > +/* stderr by default, override with -l */
>
> with --log-fd
Can you rework it and put as the first on your new patchset?
Thanks,
- Arnaldo
> > +static int output_fd = 2;
> >
> > static volatile int done = 0;
> >
> > @@ -1080,6 +1082,8 @@ static const struct option options[] = {
> > OPT_STRING('o', "output", &output_name, "file",
> > "output file name"),
> > OPT_BOOLEAN(0, "append", &append_file, "append to the output file"),
> > + OPT_INTEGER(0, "log-fd", &output_fd,
> > + "log output to fd, instead of stderr"),
> > OPT_END()
> > };
> >
> > @@ -1177,6 +1181,12 @@ int cmd_stat(int argc, const char **argv, const char *prefix __used)
> > }
> > clock_gettime(CLOCK_REALTIME, &tm);
> > fprintf(output, "# started on %s\n", ctime(&tm.tv_sec));
> > + } else if (output_fd != 2) {
> > + output = fdopen(output_fd, "w");
> > + if (!output) {
> > + perror("Failed opening logfd");
> > + return -errno;
> > + }
> > }
> >
> > if (csv_sep)
> >
next prev parent reply other threads:[~2011-09-02 18:59 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-21 8:56 [PATCH 0/2] " Jim Cromie
2011-05-21 8:56 ` [PATCH 1/2] " Jim Cromie
2011-05-21 10:34 ` Ingo Molnar
2011-05-21 20:41 ` Arnaldo Carvalho de Melo
2011-09-01 21:58 ` Jim Cromie
2011-09-02 14:35 ` Arnaldo Carvalho de Melo
2011-09-02 18:02 ` Arnaldo Carvalho de Melo
2011-09-02 18:04 ` Jim Cromie
2011-09-02 18:58 ` Arnaldo Carvalho de Melo [this message]
2011-09-07 23:13 ` [patch 0/5] perf stat --log-fd=N Jim Cromie
2011-09-07 23:14 ` [PATCH 1/5] perf stat: add --log-fd <N> option to redirect stderr elsewhere Jim Cromie
2011-09-07 23:14 ` [PATCH 2/5] perf-stat: fix +- nan% in --no-aggr runs Jim Cromie
2011-09-07 23:14 ` [PATCH 3/5] perf stat: suppress printing std-dev when its 0 Jim Cromie
2011-09-07 23:14 ` [PATCH 4/5] perf stat: allow tab as cvs delimiter Jim Cromie
2011-09-07 23:14 ` [PATCH 5/5] perf stat: fix spelling in comment Jim Cromie
2011-05-21 8:56 ` [PATCH 2/2] dont commify big numbers by default, let -B do it Jim Cromie
2011-05-21 10:33 ` Ingo Molnar
2011-05-24 22:05 ` Jim Cromie
2011-05-24 22:11 ` [PATCH] add --simple output mode to perf-stat, based upon csv-output Jim Cromie
2011-05-25 12:44 ` [PATCH 2/2] dont commify big numbers by default, let -B do it Ingo Molnar
2011-05-26 19:41 ` Jim Cromie
2011-05-26 19:50 ` [PATCH 0/3] perf-stat: refactor print/formatting into print-ops Jim Cromie
2011-05-26 19:50 ` [PATCH 1/3] perf-stat: refactor print/formatting into print-ops for pretty, csv Jim Cromie
2011-05-26 19:50 ` [PATCH 2/3] perf-stat: fix +- nan% in -Aa runs Jim Cromie
2011-05-26 19:50 ` [PATCH 3/3] perf-stat: clean up <no count> handling, CPUx prefixing Jim Cromie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110902185857.GE17970@ghostprotocols.net \
--to=acme@ghostprotocols.net \
--cc=a.p.zijlstra@chello.nl \
--cc=jim.cromie@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome