Signed-off-by: yuzhoujian <yuzhouj...@didichuxing.com>
---
 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

Reply via email to