From 7b5e4ab4269d77a1ae0f24b49bf98d579276306f Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Sat, 10 Oct 2015 11:43:07 +0100 Subject: [PATCH 1/2] Add uptime --- cmd/relaysrv/status.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cmd/relaysrv/status.go b/cmd/relaysrv/status.go index b18cf3ea..b6157004 100644 --- a/cmd/relaysrv/status.go +++ b/cmd/relaysrv/status.go @@ -25,6 +25,8 @@ func getStatus(w http.ResponseWriter, r *http.Request) { sessionMut.Lock() // 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["numActiveSessions"] = len(activeSessions) sessionMut.Unlock() @@ -55,15 +57,17 @@ func getStatus(w http.ResponseWriter, r *http.Request) { } type rateCalculator struct { - rates []int64 - prev int64 - counter *int64 + rates []int64 + prev int64 + counter *int64 + startTime time.Time } func newRateCalculator(keepIntervals int, interval time.Duration, counter *int64) *rateCalculator { r := &rateCalculator{ - rates: make([]int64, keepIntervals), - counter: counter, + rates: make([]int64, keepIntervals), + counter: counter, + startTime: time.Now(), } go r.updateRates(interval) From c1dfae1a6e54329264a7b85aaff84224716eb6c1 Mon Sep 17 00:00:00 2001 From: Audrius Butkevicius Date: Sat, 10 Oct 2015 11:49:34 +0100 Subject: [PATCH 2/2] Add options to status --- cmd/relaysrv/status.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmd/relaysrv/status.go b/cmd/relaysrv/status.go index b6157004..7dcb71ff 100644 --- a/cmd/relaysrv/status.go +++ b/cmd/relaysrv/status.go @@ -45,6 +45,14 @@ func getStatus(w http.ResponseWriter, r *http.Request) { rc.rate(30*60/10) * 8 / 1000, rc.rate(60*60/10) * 8 / 1000, } + status["options"] = map[string]interface{}{ + "network-timeout": networkTimeout, + "ping-interval": pingInterval, + "message-timeout": messageTimeout, + "per-session-rate": sessionLimitBps, + "global-rate": globalLimitBps, + "pools": defaultPoolAddrs, + } bs, err := json.MarshalIndent(status, "", " ") if err != nil {