diff --git a/samples/cpp/benchmark_app/main.cpp b/samples/cpp/benchmark_app/main.cpp index 71b8a0fd91dd9a..f51f9e6cd01f02 100644 --- a/samples/cpp/benchmark_app/main.cpp +++ b/samples/cpp/benchmark_app/main.cpp @@ -28,10 +28,41 @@ #include "remote_tensors_filling.hpp" #include "statistics_report.hpp" #include "utils.hpp" + +#if defined(_WIN32) || defined(WIN32) +# include +#endif // clang-format on static const size_t progressBarDefaultTotalCount = 1000; +std::string get_console_command(int argc, char* argv[]) { + std::stringstream args_command; + +#if defined(_WIN32) || defined(WIN32) + std::string relative_path(argv[0]); + std::vector buffer; + + uint32_t len = 1024; + do { + buffer.resize(len); + len = GetFullPathNameA(relative_path.data(), len, buffer.data(), nullptr); + } while (len > buffer.size()); + + std::string full_path(buffer.begin(), buffer.end()); + args_command << full_path; +#else + args_command << realpath(argv[0], nullptr); +#endif + args_command << " "; + + for (int i = 1; i < argc; i++) { + args_command << argv[i] << " "; + } + + return args_command.str(); +} + bool parse_and_check_command_line(int argc, char* argv[]) { // ---------------------------Parsing and validating input // arguments-------------------------------------- @@ -161,12 +192,19 @@ int main(int argc, char* argv[]) { // ----------------- 1. Parsing and validating input arguments // ------------------------------------------------- + + // Must be executed before parse_and_check_command_line() + // gflags::ParseCommandLineNonHelpFlags() modifies the argv array + auto command_from_args = get_console_command(argc, argv); + next_step(); if (!parse_and_check_command_line(argc, argv)) { return 0; } + slog::info << "Input command: " << command_from_args << slog::endl; + bool isNetworkCompiled = fileExt(FLAGS_m) == "blob"; if (isNetworkCompiled) { slog::info << "Network is compiled" << slog::endl; diff --git a/tools/benchmark_tool/openvino/tools/benchmark/main.py b/tools/benchmark_tool/openvino/tools/benchmark/main.py index 598b9cf9a0de1a..dc012db79abee8 100644 --- a/tools/benchmark_tool/openvino/tools/benchmark/main.py +++ b/tools/benchmark_tool/openvino/tools/benchmark/main.py @@ -50,9 +50,15 @@ def main(): statistics = None try: # ------------------------------ 1. Parsing and validating input arguments ------------------------------ + args_string = f"{os.path.realpath(sys.argv[0])} " + for i in range(1,len(sys.argv)): + args_string += f"{sys.argv[i]} " + next_step() args, is_network_compiled = parse_and_check_command_line() + logger.info(f"Input command: {args_string}") + if args.number_streams is None: logger.warning(" -nstreams default value is determined automatically for a device. " "Although the automatic selection usually provides a reasonable performance, "