All of lore.kernel.org
 help / color / mirror / Atom feed
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)
> >

  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] perf stat: add -l <N> option to redirect stderr elsewhere 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.