aboutsummaryrefslogtreecommitdiff
path: root/hotline/stats.go
blob: 4b9119d6a21aa60516fc9af8e3c2e323d4d7400b (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
34
package hotline

import (
	"fmt"
	"time"
)

type Stats struct {
	LoginCount      int       `yaml:"login count"`
	StartTime       time.Time `yaml:"start time"`
	DownloadCounter int
	UploadCounter   int
}

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,
	)
}