diff options
Diffstat (limited to 'src/zen/cmds/trace_cmd.cpp')
| -rw-r--r-- | src/zen/cmds/trace_cmd.cpp | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/src/zen/cmds/trace_cmd.cpp b/src/zen/cmds/trace_cmd.cpp index 85caf33b8..41a30068c 100644 --- a/src/zen/cmds/trace_cmd.cpp +++ b/src/zen/cmds/trace_cmd.cpp @@ -20,21 +20,21 @@ TraceCommand::TraceCommand() TraceCommand::~TraceCommand() = default; -int +void TraceCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv) { ZEN_UNUSED(GlobalOptions); if (!ParseOptions(argc, argv)) { - return 0; + return; } m_HostName = ResolveTargetHostSpec(m_HostName); if (m_HostName.empty()) { - throw OptionParseException("unable to resolve server specification"); + throw OptionParseException("Unable to resolve server specification", m_Options.help()); } zen::HttpClient Http(m_HostName); @@ -44,13 +44,12 @@ TraceCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv) if (zen::HttpClient::Response Response = Http.Post("/admin/trace/stop"sv)) { ZEN_CONSOLE("OK: {}", Response.ToText()); - return 0; } else { - ZEN_CONSOLE_ERROR("trace stop failed: {}", Response.ToText()); - return 1; + Response.ThrowError("Trace stop failed"); } + return; } std::string StartArg; @@ -68,26 +67,23 @@ TraceCommand::Run(const ZenCliOptions& GlobalOptions, int argc, char** argv) if (zen::HttpClient::Response Response = Http.Post(fmt::format("/admin/trace/start?{}"sv, StartArg))) { ZEN_CONSOLE("OK: {}", Response.ToText()); - return 0; } else { - ZEN_CONSOLE_ERROR("trace start failed: {}", Response.ToText()); - return 1; + Response.ThrowError("Trace start failed"); } } - - if (zen::HttpClient::Response Response = Http.Get("/admin/trace"sv)) - { - ZEN_CONSOLE("OK: {}", Response.ToText()); - return 0; - } else { - ZEN_CONSOLE_ERROR("trace status failed: {}", Response.ToText()); + if (zen::HttpClient::Response Response = Http.Get("/admin/trace"sv)) + { + ZEN_CONSOLE("OK: {}", Response.ToText()); + } + else + { + Response.ThrowError("Trace status failed"); + } } - - return 1; } } // namespace zen |