MCPcopy Create free account
hub / github.com/compozy/agh / daemonStatusBundle

Function daemonStatusBundle

internal/cli/daemon.go:348–400  ·  view source on GitHub ↗
(status DaemonStatus, now func() time.Time)

Source from the content-addressed store, hash-verified

346}
347
348func daemonStatusBundle(status DaemonStatus, now func() time.Time) outputBundle {
349 rows := []keyValue{
350 {Label: daemonStatusValue, Value: stringOrDash(status.Status)},
351 {Label: cliPIDValue, Value: intOrDash(status.PID)},
352 {Label: daemonStartedValue, Value: stringOrDash(formatTime(status.StartedAt))},
353 {Label: cliUptimeValue, Value: stringOrDash(formatAge(now, status.StartedAt))},
354 {Label: "Socket", Value: stringOrDash(status.Socket)},
355 {Label: "HTTP", Value: stringOrDash(strings.TrimSpace(status.HTTPHost) + ":" + intOrDash(status.HTTPPort))},
356 {Label: "Active Sessions", Value: strconv.Itoa(status.ActiveSessions)},
357 {Label: "Total Sessions", Value: strconv.Itoa(status.TotalSessions)},
358 {Label: daemonVersionValue, Value: stringOrDash(status.Version)},
359 }
360 labels := []string{
361 daemonStatusKey,
362 cliPIDKey,
363 daemonStartedAtKey,
364 "uptime",
365 "socket",
366 "http_host",
367 "http_port",
368 "active_sessions",
369 "total_sessions",
370 daemonVersionKey,
371 }
372 values := []string{
373 status.Status,
374 strconv.Itoa(status.PID),
375 formatTime(status.StartedAt),
376 formatAge(now, status.StartedAt),
377 status.Socket,
378 status.HTTPHost,
379 strconv.Itoa(status.HTTPPort),
380 strconv.Itoa(status.ActiveSessions),
381 strconv.Itoa(status.TotalSessions),
382 status.Version,
383 }
384 if status.Network != nil {
385 networkRows, networkLabels, networkValues := daemonNetworkStatusFields(status.Network)
386 rows = append(rows, networkRows...)
387 labels = append(labels, networkLabels...)
388 values = append(values, networkValues...)
389 }
390
391 return outputBundle{
392 jsonValue: status,
393 human: func() (string, error) {
394 return renderHumanSection("Daemon", rows), nil
395 },
396 toon: func() (string, error) {
397 return renderToonObject(daemonDaemonKey, labels, values), nil
398 },
399 }
400}
401
402func daemonNetworkStatusFields(info *contract.NetworkStatusPayload) ([]keyValue, []string, []string) {
403 listener := networkListener(info)

Callers 3

newDaemonStartCommandFunction · 0.85
newDaemonStopCommandFunction · 0.85

Calls 8

stringOrDashFunction · 0.85
intOrDashFunction · 0.85
formatTimeFunction · 0.85
formatAgeFunction · 0.85
appendFunction · 0.85
renderHumanSectionFunction · 0.85
renderToonObjectFunction · 0.85

Tested by 1