* PLT-4357 adding stats to HA

* PLT-4357 adding stats to HA

* Fixing getting stats from the current server
Этот коммит содержится в:
Corey Hulen
2016-11-28 07:40:02 -08:00
коммит произвёл Harrison Healey
родитель be0ae36422
Коммит 0383c58d01
4 изменённых файлов: 83 добавлений и 3 удалений

36
model/cluster_stats.go Обычный файл
Просмотреть файл

@@ -0,0 +1,36 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package model
import (
"encoding/json"
"io"
)
type ClusterStats struct {
Id string `json:"id"`
TotalWebsocketConnections int `json:"total_websocket_connections"`
TotalReadDbConnections int `json:"total_read_db_connections"`
TotalMasterDbConnections int `json:"total_master_db_connections"`
}
func (me *ClusterStats) ToJson() string {
b, err := json.Marshal(me)
if err != nil {
return ""
} else {
return string(b)
}
}
func ClusterStatsFromJson(data io.Reader) *ClusterStats {
decoder := json.NewDecoder(data)
var me ClusterStats
err := decoder.Decode(&me)
if err == nil {
return &me
} else {
return nil
}
}

19
model/cluster_stats_test.go Обычный файл
Просмотреть файл

@@ -0,0 +1,19 @@
// Copyright (c) 2015 Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package model
import (
"strings"
"testing"
)
func TestClusterStatsJson(t *testing.T) {
cluster := ClusterStats{Id: NewId(), TotalWebsocketConnections: 1, TotalReadDbConnections: 1}
json := cluster.ToJson()
result := ClusterStatsFromJson(strings.NewReader(json))
if cluster.Id != result.Id {
t.Fatal("Ids do not match")
}
}