Messages in this thread | | | Date | Tue, 20 Jul 2021 11:01:43 +0200 | From | Jiri Olsa <> | Subject | Re: [PATCHSET v3 0/5] perf inject: Fix broken data with mixed input/output |
| |
On Mon, Jul 19, 2021 at 03:31:48PM -0700, Namhyung Kim wrote: > Hello, > > The perf inject processes the input data and produces an output with > injected data according to the given options. During the work, it > assumes the input and output files have the same format - either a > regular file or a pipe. This works for the obvious cases, but > sometimes makes a trouble when input and output have different > formats (like for debugging). > > * changes in v3 > - use task-clock:u in the pipe-test.sh
Acked-by: Jiri Olsa <jolsa@redhat.com>
thanks, jirka
> > * changes in v2 > - factor out perf_event__synthesize_for_pipe > - add a shell test for pipe operations > > > For example, this patchset fixed the following cases > > 1. input: pipe, output: file > > # perf record -a -o - sleep 1 | perf inject -b -o perf-pipe.data > # perf report -i perf-pipe.data > > 2. input: file, output: pipe > > # perf record -a -B sleep 1 > # perf inject -b -i perf.data | perf report -i - > > > Thanks, > Namhyung > > > Namhyung Kim (5): > perf tools: Remove repipe argument from perf_session__new() > perf tools: Pass a fd to perf_file_header__read_pipe() > perf inject: Fix output from a pipe to a file > perf inject: Fix output from a file to a pipe > perf tools: Add pipe_test.sh to verify pipe operations > > tools/perf/bench/synthesize.c | 4 +- > tools/perf/builtin-annotate.c | 2 +- > tools/perf/builtin-buildid-cache.c | 2 +- > tools/perf/builtin-buildid-list.c | 2 +- > tools/perf/builtin-c2c.c | 2 +- > tools/perf/builtin-diff.c | 4 +- > tools/perf/builtin-evlist.c | 2 +- > tools/perf/builtin-inject.c | 38 ++++++++++++++-- > tools/perf/builtin-kmem.c | 2 +- > tools/perf/builtin-kvm.c | 4 +- > tools/perf/builtin-lock.c | 2 +- > tools/perf/builtin-mem.c | 3 +- > tools/perf/builtin-record.c | 40 +++-------------- > tools/perf/builtin-report.c | 2 +- > tools/perf/builtin-sched.c | 4 +- > tools/perf/builtin-script.c | 4 +- > tools/perf/builtin-stat.c | 4 +- > tools/perf/builtin-timechart.c | 3 +- > tools/perf/builtin-top.c | 2 +- > tools/perf/builtin-trace.c | 2 +- > tools/perf/tests/shell/pipe_test.sh | 69 +++++++++++++++++++++++++++++ > tools/perf/tests/topology.c | 4 +- > tools/perf/util/data-convert-bt.c | 2 +- > tools/perf/util/data-convert-json.c | 2 +- > tools/perf/util/header.c | 12 ++--- > tools/perf/util/header.h | 2 +- > tools/perf/util/session.c | 11 ++--- > tools/perf/util/session.h | 12 ++++- > tools/perf/util/synthetic-events.c | 53 +++++++++++++++++++++- > tools/perf/util/synthetic-events.h | 6 +++ > 30 files changed, 217 insertions(+), 84 deletions(-) > create mode 100755 tools/perf/tests/shell/pipe_test.sh > > -- > 2.32.0.402.g57bb445576-goog >
| |