|
|
|
@ -37,15 +37,23 @@ namespace metrics
|
|
|
|
|
inline void to_json(json& j, const job& p)
|
|
|
|
|
{
|
|
|
|
|
auto total_trip_time = 0.;
|
|
|
|
|
auto summation_time = 0.f;
|
|
|
|
|
for(auto&& client : p.client_metrics)
|
|
|
|
|
{
|
|
|
|
|
summation_time += client.trip_time;
|
|
|
|
|
#ifdef THREADED
|
|
|
|
|
total_trip_time = client.trip_time > total_trip_time ? client.trip_time : total_trip_time;
|
|
|
|
|
#else
|
|
|
|
|
total_trip_time += client.trip_time;
|
|
|
|
|
j = json{
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
j = json{
|
|
|
|
|
{ "operation", p.operation },
|
|
|
|
|
{ "total_trip_time", total_trip_time },
|
|
|
|
|
{ "average_trip_time",total_trip_time / p.client_metrics.size() },
|
|
|
|
|
{ "average_trip_time",summation_time / p.client_metrics.size() },
|
|
|
|
|
{ "client_metrics", p.client_metrics}
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
inline std::vector<job> job_metrics{};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|