|
@@ -66,6 +66,21 @@ func LoadNodeMetricsToCache() error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
+func WriteMetricsCacheToDB() error {
|
|
|
+
|
|
|
+ for k, v := range metricsCacheMap {
|
|
|
+ data, err := json.Marshal(v)
|
|
|
+ if err != nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ err = database.Insert(k, string(data), database.METRICS_TABLE_NAME)
|
|
|
+ if err != nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return nil
|
|
|
+}
|
|
|
+
|
|
|
// GetMetrics - gets the metrics
|
|
|
func GetMetrics(nodeid string) (*models.Metrics, error) {
|
|
|
var metrics models.Metrics
|
|
@@ -93,6 +108,11 @@ func GetMetrics(nodeid string) (*models.Metrics, error) {
|
|
|
|
|
|
// UpdateMetrics - updates the metrics of a given client
|
|
|
func UpdateMetrics(nodeid string, metrics *models.Metrics) error {
|
|
|
+ //if cache is enabled, only save the metric data to cache
|
|
|
+ if servercfg.CacheEnabled() {
|
|
|
+ storeMetricsInCache(nodeid, *metrics)
|
|
|
+ return nil
|
|
|
+ }
|
|
|
data, err := json.Marshal(metrics)
|
|
|
if err != nil {
|
|
|
return err
|
|
@@ -101,9 +121,6 @@ func UpdateMetrics(nodeid string, metrics *models.Metrics) error {
|
|
|
if err != nil {
|
|
|
return err
|
|
|
}
|
|
|
- if servercfg.CacheEnabled() {
|
|
|
- storeMetricsInCache(nodeid, *metrics)
|
|
|
- }
|
|
|
return nil
|
|
|
}
|
|
|
|