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

Method GetServiceStatus

utils/service_utils/service_manager.go:306–335  ·  view source on GitHub ↗
(name string)

Source from the content-addressed store, hash-verified

304}
305
306func (sm *ServiceManager) GetServiceStatus(name string) (ServiceStatus, error) {
307 sm.Mu.RLock()
308 service, exists := sm.Services[name]
309 sm.Mu.RUnlock()
310
311 if !exists {
312 return ServiceStatus{}, fmt.Errorf("can't find service: %s", name)
313 }
314
315 service.mu.RLock()
316 defer service.mu.RUnlock()
317
318 var ramUsage int64
319 if service.Status == "running" && service.PID > 0 {
320 ramUsage, _ = getProcessTreeRAM(service.PID)
321 }
322
323 return ServiceStatus{
324 Name: name,
325 Status: service.Status,
326 PID: service.PID,
327 StartTime: service.StartTime,
328 Uptime: time.Since(service.StartTime),
329 WorkDir: service.WorkDir,
330 RAM: service.Config.RAM,
331 RAMBytes: service.Config.RAMBytes,
332 RAMUsage: ramUsage,
333 RAMUsageStr: utils.ConvertBytesToString(ramUsage),
334 }, nil
335}
336
337func (sm *ServiceManager) StartService(name string) error {
338 sm.Mu.Lock()

Callers 1

GetServiceStatusFunction · 0.80

Calls 2

ConvertBytesToStringFunction · 0.92
getProcessTreeRAMFunction · 0.85

Tested by

no test coverage detected