From 484b56492b9b11b59c69d8ee7aa215d5c9f889ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Mon, 15 Apr 2024 16:06:16 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DDAU=E7=BB=9F=E8=AE=A1?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E6=97=A0=E6=B3=95=E6=8F=90=E7=A4=BA=E8=BF=9B?= =?UTF-8?q?=E7=A8=8B=E5=9C=A8=E8=BF=90=E8=A1=8C=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/stats/bandwidth_stat_manager.go | 8 ++++++++ internal/stats/dau_manager.go | 22 ++++++++++++---------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/internal/stats/bandwidth_stat_manager.go b/internal/stats/bandwidth_stat_manager.go index 4e370f2..d6cc6ec 100644 --- a/internal/stats/bandwidth_stat_manager.go +++ b/internal/stats/bandwidth_stat_manager.go @@ -89,6 +89,14 @@ func NewBandwidthStatManager() *BandwidthStatManager { } func (this *BandwidthStatManager) Start() { + // 初始化DAU统计 + { + err := SharedDAUManager.Init() + if err != nil { + remotelogs.Error("DAU_MANAGER", "initialize DAU manager failed: "+err.Error()) + } + } + // 从上次数据中恢复 this.locker.Lock() this.recover() diff --git a/internal/stats/dau_manager.go b/internal/stats/dau_manager.go index 68f52d9..557210e 100644 --- a/internal/stats/dau_manager.go +++ b/internal/stats/dau_manager.go @@ -4,7 +4,6 @@ package stats import ( "encoding/json" - teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/events" "github.com/TeaOSLab/EdgeNode/internal/goman" "github.com/TeaOSLab/EdgeNode/internal/remotelogs" @@ -25,21 +24,14 @@ import ( var SharedDAUManager = NewDAUManager() -func init() { - if teaconst.IsMain { - err := SharedDAUManager.Init() - if err != nil { - remotelogs.Error("DAU_MANAGER", "initialize DAU manager failed: "+err.Error()) - } - } -} - type IPInfo struct { IP string ServerId int64 } type DAUManager struct { + isReady bool + cacheFile string ipChan chan IPInfo @@ -148,6 +140,8 @@ func (this *DAUManager) Init() error { _ = this.Close() }) + this.isReady = true + return nil } @@ -162,6 +156,10 @@ func (this *DAUManager) AddIP(serverId int64, ip string) { } func (this *DAUManager) processIP(serverId int64, ip string) error { + if !this.isReady { + return nil + } + // day var date = fasttime.Now().Ymd() @@ -228,6 +226,10 @@ func (this *DAUManager) Close() error { } func (this *DAUManager) CleanStats() error { + if !this.isReady { + return nil + } + var tr = trackers.Begin("STAT:DAU_CLEAN_STATS") defer tr.End()