aboutsummaryrefslogtreecommitdiff
path: root/src/zen/cmds/exec_cmd.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/zen/cmds/exec_cmd.cpp')
-rw-r--r--src/zen/cmds/exec_cmd.cpp45
1 files changed, 24 insertions, 21 deletions
diff --git a/src/zen/cmds/exec_cmd.cpp b/src/zen/cmds/exec_cmd.cpp
index dab53f13c..6cebfa430 100644
--- a/src/zen/cmds/exec_cmd.cpp
+++ b/src/zen/cmds/exec_cmd.cpp
@@ -23,7 +23,7 @@
#include <zenhttp/httpclient.h>
#include <zenhttp/packageformat.h>
-#include "../progressbar.h"
+#include "consoleprogress.h"
#include <EASTL/hash_map.h>
#include <EASTL/hash_set.h>
@@ -133,7 +133,7 @@ struct ExecSessionConfig
bool Quiet = false;
bool DumpActions = false;
bool Binary = false;
- ProgressBar::Mode ProgressMode = ProgressBar::Mode::Pretty;
+ ConsoleProgressMode ProgressMode = ConsoleProgressMode::Pretty;
};
//////////////////////////////////////////////////////////////////////////
@@ -903,9 +903,11 @@ ExecSessionRunner::Run()
std::atomic<int> SubmittedWorkItems{0};
size_t TotalWorkItems = RemainingWorkItems.load();
- ProgressBar SubmitProgress(m_Config.ProgressMode, "Submit");
- SubmitProgress.UpdateState({.Task = "Submitting work items", .TotalCount = TotalWorkItems, .RemainingCount = RemainingWorkItems.load()},
- false);
+ std::unique_ptr<ProgressBase> ProgressOwner(CreateConsoleProgress(m_Config.ProgressMode));
+ std::unique_ptr<ProgressBase::ProgressBar> SubmitProgress = ProgressOwner->CreateProgressBar("Submit");
+ SubmitProgress->UpdateState(
+ {.Task = "Submitting work items", .TotalCount = TotalWorkItems, .RemainingCount = RemainingWorkItems.load()},
+ false);
int OffsetCounter = m_Config.Offset;
int StrideCounter = m_Config.Stride;
@@ -1012,11 +1014,11 @@ ExecSessionRunner::Run()
size_t Remaining = --RemainingWorkItems;
int Submitted = ++SubmittedWorkItems;
- SubmitProgress.UpdateState({.Task = "Submitting work items",
- .Details = fmt::format("#{} LSN {}", Submitted, LsnField),
- .TotalCount = TotalWorkItems,
- .RemainingCount = Remaining},
- false);
+ SubmitProgress->UpdateState({.Task = "Submitting work items",
+ .Details = fmt::format("#{} LSN {}", Submitted, LsnField),
+ .TotalCount = TotalWorkItems,
+ .RemainingCount = Remaining},
+ false);
if (!m_Config.OutputPath.empty())
{
@@ -1056,30 +1058,31 @@ ExecSessionRunner::Run()
},
TargetParallelism);
- SubmitProgress.Finish();
+ SubmitProgress->Finish();
// Wait until all pending work is complete
size_t TotalPendingJobs = m_PendingJobs.GetSize();
- ProgressBar CompletionProgress(m_Config.ProgressMode, "Execute");
+ std::unique_ptr<ProgressBase::ProgressBar> CompletionProgress = ProgressOwner->CreateProgressBar("Execute");
while (!m_PendingJobs.IsEmpty())
{
size_t PendingCount = m_PendingJobs.GetSize();
- CompletionProgress.UpdateState({.Task = "Executing work items",
- .Details = fmt::format("{} completed, {} remaining", TotalPendingJobs - PendingCount, PendingCount),
- .TotalCount = TotalPendingJobs,
- .RemainingCount = PendingCount},
- false);
+ CompletionProgress->UpdateState(
+ {.Task = "Executing work items",
+ .Details = fmt::format("{} completed, {} remaining", TotalPendingJobs - PendingCount, PendingCount),
+ .TotalCount = TotalPendingJobs,
+ .RemainingCount = PendingCount},
+ false);
- zen::Sleep(GetUpdateDelayMS(m_Config.ProgressMode));
+ zen::Sleep(ProgressOwner->GetProgressUpdateDelayMS());
DrainCompletedJobs();
SendOrchestratorHeartbeat();
}
- CompletionProgress.Finish();
+ CompletionProgress->Finish();
// Write summary files
@@ -1438,10 +1441,10 @@ ExecCommand::OnParentOptionsParsed(const ZenCliOptions& GlobalOptions)
int
ExecCommand::RunSession(zen::compute::ComputeServiceSession& ComputeSession, std::string_view OrchestratorUrl)
{
- ProgressBar::Mode ProgressMode = ProgressBar::Mode::Pretty;
+ ConsoleProgressMode ProgressMode = ConsoleProgressMode::Pretty;
if (m_QuietLogging)
{
- ProgressMode = ProgressBar::Mode::Quiet;
+ ProgressMode = ConsoleProgressMode::Quiet;
}
ExecSessionConfig Config{