Add uptime

This commit is contained in:
Audrius Butkevicius 2015-10-10 11:43:07 +01:00
parent 26a44068d8
commit 7b5e4ab426
1 changed files with 9 additions and 5 deletions

View File

@ -25,6 +25,8 @@ func getStatus(w http.ResponseWriter, r *http.Request) {
sessionMut.Lock() sessionMut.Lock()
// This can potentially be double the number of pending sessions, as each session has two keys, one for each side. // This can potentially be double the number of pending sessions, as each session has two keys, one for each side.
status["startTime"] = rc.startTime
status["uptime"] = time.Since(rc.startTime)
status["numPendingSessionKeys"] = len(pendingSessions) status["numPendingSessionKeys"] = len(pendingSessions)
status["numActiveSessions"] = len(activeSessions) status["numActiveSessions"] = len(activeSessions)
sessionMut.Unlock() sessionMut.Unlock()
@ -55,15 +57,17 @@ func getStatus(w http.ResponseWriter, r *http.Request) {
} }
type rateCalculator struct { type rateCalculator struct {
rates []int64 rates []int64
prev int64 prev int64
counter *int64 counter *int64
startTime time.Time
} }
func newRateCalculator(keepIntervals int, interval time.Duration, counter *int64) *rateCalculator { func newRateCalculator(keepIntervals int, interval time.Duration, counter *int64) *rateCalculator {
r := &rateCalculator{ r := &rateCalculator{
rates: make([]int64, keepIntervals), rates: make([]int64, keepIntervals),
counter: counter, counter: counter,
startTime: time.Now(),
} }
go r.updateRates(interval) go r.updateRates(interval)