aboutsummaryrefslogtreecommitdiff
path: root/hotline/stats.go
blob: dd8ea1d14dbad7944ce6095783b4d5af54e1717a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package hotline

import (
	"fmt"
	"time"
)

type Stats struct {
	LoginCount int           `yaml:"login count"`
	StartTime  time.Time     `yaml:"start time"`
	Uptime     time.Duration `yaml:"uptime"`
}

func (s *Stats) String() string {
	template := `
Server Stats:
  Start Time:		%v
  Uptime:			%s
  Login Count:	%v
`
	d := time.Since(s.StartTime)
	d = d.Round(time.Minute)
	h := d / time.Hour
	d -= h * time.Hour
	m := d / time.Minute

	return fmt.Sprintf(
		template,
		s.StartTime.Format(time.RFC1123Z),
		fmt.Sprintf("%02d:%02d", h, m),
		s.LoginCount,
	)
}