| // Copyright 2017 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SRC_PERFORMANCE_INSNTRACE_PRINT_COMMAND_LINE_SETTINGS_H_ |
| #define SRC_PERFORMANCE_INSNTRACE_PRINT_COMMAND_LINE_SETTINGS_H_ |
| |
| #include <string> |
| |
| #include "printer_config.h" |
| #include "raw_printer.h" |
| #include "third_party/simple-pt/call-printer.h" |
| |
| namespace intel_processor_trace { |
| |
| using CallPrinter = simple_pt::CallPrinter; |
| |
| struct CommandLineSettings { |
| RawPrinter::Config ToRawPrinterConfig() const; |
| CallPrinter::Config ToCallPrinterConfig() const; |
| |
| OutputFormat output_format = OutputFormat::kCalls; |
| |
| // If "" then output goes to the default location (typically stdout). |
| std::string output_file_name; |
| |
| OutputView view = OutputView::kCpu; |
| |
| bool abstime = false; |
| bool report_lost_mtc_cyc = false; |
| bool dump_pc = false; |
| bool dump_insn = false; |
| |
| // The id field for chrome trace output. |
| // For cpu traces this is the cpu number. |
| static constexpr uint32_t kIdUnset = 0xffffffff; |
| uint32_t id = kIdUnset; |
| }; |
| |
| } // namespace intel_processor_trace |
| |
| #endif // SRC_PERFORMANCE_INSNTRACE_PRINT_COMMAND_LINE_SETTINGS_H_ |