MCPcopy Create free account
hub / github.com/MertJSX/folderhost / ListServices

Method ListServices

utils/service_utils/service_manager.go:140–174  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

138}
139
140func (sm *ServiceManager) ListServices() []ServiceStatus {
141 sm.Mu.RLock()
142 defer sm.Mu.RUnlock()
143
144 var serviceStatuses []ServiceStatus
145 for name, service := range sm.Services {
146 service.mu.RLock()
147
148 status := ServiceStatus{
149 Name: name,
150 Status: service.Status,
151 PID: service.PID,
152 Uptime: time.Since(service.StartTime).Round(time.Second),
153 WorkDir: service.WorkDir,
154 RAM: service.Config.RAM,
155 RAMBytes: service.Config.RAMBytes,
156 }
157
158 if service.Status == "running" {
159 usage, err := getProcessTreeRAM(service.PID)
160 if err == nil {
161 status.RAMUsage = usage
162 status.RAMUsageStr = utils.ConvertBytesToString(usage)
163 } else {
164 status.RAMUsage = 0
165 status.RAMUsageStr = "N/A"
166 }
167 }
168
169 serviceStatuses = append(serviceStatuses, status)
170 service.mu.RUnlock()
171 }
172
173 return serviceStatuses
174}
175
176func (sm *ServiceManager) ListAllowedServices(username string) []ServiceStatus {
177 sm.Mu.RLock()

Callers

nothing calls this directly

Calls 2

ConvertBytesToStringFunction · 0.92
getProcessTreeRAMFunction · 0.85

Tested by

no test coverage detected