Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752276AbdIMPLF (ORCPT ); Wed, 13 Sep 2017 11:11:05 -0400 Received: from mail-pg0-f65.google.com ([74.125.83.65]:36641 "EHLO mail-pg0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750962AbdIMPLB (ORCPT ); Wed, 13 Sep 2017 11:11:01 -0400 X-Google-Smtp-Source: ADKCNb5NIkY3w7fuyU1OEjOZkp7NGNK4PjZAyubqLOtg3Jp+s/xIq8BruKN0t/g1aBTnNANmFVtjLw== From: yuzhoujian X-Google-Original-From: yuzhoujian To: peterz@infradead.org, mingo@redhat.com, alexander.shishkin@linux.intel.com, jolsa@kernel.org, dsahern@gmail.com, namhyung@kernel.org, yuzhoujian@didichuxing.com Cc: linux-kernel@vger.kernel.org Subject: [PATCH 1/3] Add a new element for the struct perf_tool, and add the --per-event-dump option for perf script Date: Wed, 13 Sep 2017 23:10:31 +0800 Message-Id: <1505315433-28437-2-git-send-email-yuzhoujian@didichuxing.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1505315433-28437-1-git-send-email-yuzhoujian@didichuxing.com> References: <1505315433-28437-1-git-send-email-yuzhoujian@didichuxing.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2192 Lines: 63 Signed-off-by: yuzhoujian --- tools/perf/builtin-script.c | 11 ++++++++++- tools/perf/util/tool.h | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c index 378f76c..b4de101 100644 --- a/tools/perf/builtin-script.c +++ b/tools/perf/builtin-script.c @@ -57,6 +57,7 @@ static DECLARE_BITMAP(cpu_bitmap, MAX_NR_CPUS); static struct perf_stat_config stat_config; static int max_blocks; +static FILE *orientation_file; unsigned int scripting_max_stack = PERF_MAX_STACK_DEPTH; @@ -2690,6 +2691,7 @@ int cmd_script(int argc, const char **argv) .cpu_map = process_cpu_map_event, .ordered_events = true, .ordering_requires_timestamps = true, + .orientation_output = false, }, }; struct perf_data_file file = { @@ -2760,6 +2762,8 @@ int cmd_script(int argc, const char **argv) "Show context switch events (if recorded)"), OPT_BOOLEAN('\0', "show-namespace-events", &script.show_namespace_events, "Show namespace events (if recorded)"), + OPT_BOOLEAN('\0', "per-event-dump", &script.tool.orientation_output, + "print trace output to files named by the monitored events"), OPT_BOOLEAN('f', "force", &symbol_conf.force, "don't complain, do it"), OPT_INTEGER(0, "max-blocks", &max_blocks, "Maximum number of code blocks to dump with brstackinsn"), @@ -2797,7 +2801,12 @@ int cmd_script(int argc, const char **argv) file.path = input_name; file.force = symbol_conf.force; - + for (i = 1; argv[i] != NULL; i++) { + if (strcmp(argv[i], "-O") == 0) { + script.tool.orientation_output = true; + break; + } + } if (argc > 1 && !strncmp(argv[0], "rec", strlen("rec"))) { rec_script_path = get_script_path(argv[1], RECORD_SUFFIX); if (!rec_script_path) diff --git a/tools/perf/util/tool.h b/tools/perf/util/tool.h index d549e50..131b6e4 100644 --- a/tools/perf/util/tool.h +++ b/tools/perf/util/tool.h @@ -75,6 +75,7 @@ struct perf_tool { bool ordered_events; bool ordering_requires_timestamps; bool namespace_events; + bool orientation_output; enum show_feature_header show_feat_hdr; }; -- 1.8.3.1