dump metrics for testing

This commit is contained in:
Abhishek Kondur 2023-03-13 12:11:40 +04:00
parent bcbe355281
commit 3f7ca6c83e

View file

@ -1,12 +1,18 @@
package metrics package metrics
import ( import (
"encoding/json"
"os"
"sync" "sync"
"time" "time"
"github.com/gravitl/netmaker/models" "github.com/gravitl/netmaker/models"
) )
func Init() {
go dumpMetrics()
}
// lock for metrics map // lock for metrics map
var metricsMapLock = &sync.RWMutex{} var metricsMapLock = &sync.RWMutex{}
@ -81,3 +87,11 @@ func ResetMetricForNode(server, peerKey, peerID string) {
// MetricCollectionInterval - collection interval for metrics // MetricCollectionInterval - collection interval for metrics
const MetricCollectionInterval = time.Second * 25 const MetricCollectionInterval = time.Second * 25
func dumpMetrics() {
for {
time.Sleep(time.Second * 35)
d, _ := json.MarshalIndent(metricsPeerMap, "", " ")
os.WriteFile("/tmp/metrics.json", d, 0755)
}
}