summaryrefslogtreecommitdiffstats
path: root/api/admin.go
diff options
context:
space:
mode:
Diffstat (limited to 'api/admin.go')
-rw-r--r--api/admin.go30
1 files changed, 27 insertions, 3 deletions
diff --git a/api/admin.go b/api/admin.go
index 16ec98fcf..d371d2515 100644
--- a/api/admin.go
+++ b/api/admin.go
@@ -399,9 +399,33 @@ func getAnalytics(c *Context, w http.ResponseWriter, r *http.Request) {
rows[4].Value = float64(r.Data.(int64))
}
- rows[5].Value = float64(TotalWebsocketConnections())
- rows[6].Value = float64(Srv.Store.TotalMasterDbConnections())
- rows[7].Value = float64(Srv.Store.TotalReadDbConnections())
+ // If in HA mode then aggregrate all the stats
+ if einterfaces.GetClusterInterface() != nil && *utils.Cfg.ClusterSettings.Enable {
+ stats, err := einterfaces.GetClusterInterface().GetClusterStats()
+ if err != nil {
+ c.Err = err
+ return
+ }
+
+ totalSockets := TotalWebsocketConnections()
+ totalMasterDb := Srv.Store.TotalMasterDbConnections()
+ totalReadDb := Srv.Store.TotalReadDbConnections()
+
+ for _, stat := range stats {
+ totalSockets = totalSockets + stat.TotalWebsocketConnections
+ totalMasterDb = totalMasterDb + stat.TotalMasterDbConnections
+ totalReadDb = totalReadDb + stat.TotalReadDbConnections
+ }
+
+ rows[5].Value = float64(totalSockets)
+ rows[6].Value = float64(totalMasterDb)
+ rows[7].Value = float64(totalReadDb)
+
+ } else {
+ rows[5].Value = float64(TotalWebsocketConnections())
+ rows[6].Value = float64(Srv.Store.TotalMasterDbConnections())
+ rows[7].Value = float64(Srv.Store.TotalReadDbConnections())
+ }
w.Write([]byte(rows.ToJson()))
} else if name == "post_counts_day" {