]> git.r.bdr.sh - rbdr/mobius/blob - hotline/stats.go
Add flag to enable optional stats HTTP endpoint
[rbdr/mobius] / hotline / stats.go
1 package hotline
2
3 import (
4 "fmt"
5 "time"
6 )
7
8 type Stats struct {
9 LoginCount int `yaml:"login count"`
10 StartTime time.Time `yaml:"start time"`
11 DownloadCounter int
12 UploadCounter int
13 }
14
15 func (s *Stats) String() string {
16 template := `
17 Server Stats:
18 Start Time: %v
19 Uptime: %s
20 Login Count: %v
21 `
22 d := time.Since(s.StartTime)
23 d = d.Round(time.Minute)
24 h := d / time.Hour
25 d -= h * time.Hour
26 m := d / time.Minute
27
28 return fmt.Sprintf(
29 template,
30 s.StartTime.Format(time.RFC1123Z),
31 fmt.Sprintf("%02d:%02d", h, m),
32 s.LoginCount,
33 )
34 }