Skip to content
Snippets Groups Projects
Commit 577dc454 authored by KyleKlenk's avatar KyleKlenk
Browse files

added more output info

parent 64c863b9
No related branches found
No related tags found
No related merge requests found
......@@ -12,16 +12,15 @@ namespace caf {
struct job_timing_info {
std:
std::chrono::time_point<std::chrono::system_clock> start;
std::chrono::time_point<std::chrono::system_clock> end;
double summa_actor_duration;
std::vector<double> job_duration;
std::vector<double> job_read_duration;
std::vector<double> job_write_duration;
};
struct summa_actor_state {
// Timing Information For Summa-Actor
TimingInfo summa_actor_timing;
struct job_timing_info timing_info_for_jobs;
// Program Parameters
int startGRU; // starting GRU for the simulation
......
......@@ -40,14 +40,31 @@ behavior summa_actor(stateful_actor<summa_actor_state>* self, int startGRU, int
return {
[=](done_job, int numFailed, double job_duration, double read_duration, double write_duration) {
self->state.numFailed += numFailed;
aout(self) << "Job Done\n";
self->state.timing_info_for_jobs.job_duration.push_back(job_duration);
self->state.timing_info_for_jobs.job_read_duration.push_back(read_duration);
self->state.timing_info_for_jobs.job_write_duration.push_back(write_duration);
if (self->state.numGRU <= 0) {
self->state.summa_actor_timing.updateEndPoint("total_duration");
for (std::vector<int>::size_type i = 0; i < self->state.timing_info_for_jobs.job_duration.size(); i++) {
aout(self) << "\n________________Job " << i + 1 << " Info_______________\n";
aout(self) << "Job Duration = " << self->state.timing_info_for_jobs.job_duration[i] << "\n";
aout(self) << "Job Read Duration = " << self->state.timing_info_for_jobs.job_read_duration[i] << "\n";
aout(self) << "Job Write Duration = " << self->state.timing_info_for_jobs.job_write_duration[i] << "\n";
}
aout(self) << "\n________________SUMMA_ACTOR TIMING INFO________________\n";
aout(self) << "Total Duration = " << self->state.summa_actor_timing.getDuration("total_duration").value_or(-1.0) << " Seconds\n";
aout(self) << "Total Duration = " << self->state.summa_actor_timing.getDuration("total_duration").value_or(-1.0) / 60 << " Minutes\n";
aout(self) << "Total Duration = " << (self->state.summa_actor_timing.getDuration("total_duration").value_or(-1.0) / 60) / 60 << " Hours\n\n";
aout(self) << "Total Read Duration = " << std::accumulate(self->state.timing_info_for_jobs.job_read_duration.begin(),
self->state.timing_info_for_jobs.job_read_duration.end(),
0.0) << "Seconds \n";
aout(self) << "Total Write Duration = " << std::accumulate(self->state.timing_info_for_jobs.job_write_duration.begin(),
self->state.timing_info_for_jobs.job_write_duration.end(),
0.0) << "Seconds \n";
aout(self) << "Program Finished \n";
self->send(self->state.parent, done_batch_v, self->state.summa_actor_timing.getDuration("total duration").value_or(-1.0));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment