func restGetAllRunning(w *rest.ResponseWriter, r *rest.Request, client *node.ControlClient) { var services []dao.RunningService err := client.GetRunningServices(&empty, &services) if err != nil { glog.Errorf("Could not get services: %v", err) restServerError(w, err) return } if services == nil { glog.V(3).Info("Services was nil, returning empty list instead") services = []dao.RunningService{} } for ii, rsvc := range services { var svc service.Service if err := client.GetService(rsvc.ServiceID, &svc); err != nil { glog.Errorf("Could not get services: %v", err) restServerError(w, err) } fillBuiltinMetrics(&svc) services[ii].MonitoringProfile = svc.MonitoringProfile } services = append(services, getIRS()...) glog.V(2).Infof("Return %d running services", len(services)) w.WriteJson(&services) }