return ss.str();
}
+bool ServiceMap::Service::has_running_tasks() const
+{
+ return std::any_of(daemons.begin(), daemons.end(), [](auto& daemon) {
+ return !daemon.second.task_status.empty();
+ });
+}
+
std::string ServiceMap::Service::get_task_summary(const std::string_view task_prefix) const
{
// contruct a map similar to:
static void generate_test_instances(std::list<Service*>& ls);
std::string get_summary() const;
+ bool has_running_tasks() const;
std::string get_task_summary(const std::string_view task_prefix) const;
void count_metadata(const std::string& field,
std::map<std::string,int> *out) const;
}
}
- {
- auto& service_map = mgrstatmon()->get_service_map();
- if (!service_map.services.empty()) {
- ss << "\n \n task status:\n";
- {
- for (auto &p : service_map.services) {
- ss << p.second.get_task_summary(p.first);
- }
- }
+ if (auto& service_map = mgrstatmon()->get_service_map();
+ std::any_of(service_map.services.begin(),
+ service_map.services.end(),
+ [](auto& service) {
+ return service.second.has_running_tasks();
+ })) {
+ ss << "\n \n task status:\n";
+ for (auto& [name, service] : service_map.services) {
+ ss << service.get_task_summary(name);
}
}