@@ -28,6 +28,7 @@ import (
2828 "github.com/rocket-pool/smartnode/rocketpool-daemon/common/state"
2929 "github.com/rocket-pool/smartnode/rocketpool-daemon/node/collectors"
3030 "github.com/rocket-pool/smartnode/rocketpool-daemon/watchtower"
31+ wc "github.com/rocket-pool/smartnode/rocketpool-daemon/watchtower/collectors"
3132 "github.com/rocket-pool/smartnode/shared/config"
3233)
3334
@@ -73,6 +74,11 @@ type TaskLoop struct {
7374 defendPdaoProps * DefendPdaoProps
7475 verifyPdaoProps * VerifyPdaoProps
7576
77+ // Watchtower metrics
78+ scrubCollector * wc.ScrubCollector
79+ bondReductionCollector * wc.BondReductionCollector
80+ soloMigrationCollector * wc.SoloMigrationCollector
81+
7682 // Internal
7783 wasExecutionClientSynced bool
7884 wasBeaconClientSynced bool
@@ -101,6 +107,9 @@ func NewTaskLoop(sp *services.ServiceProvider, wg *sync.WaitGroup) *TaskLoop {
101107 downloadRewardsTrees : NewDownloadRewardsTrees (sp , logger ),
102108 reduceBonds : NewReduceBonds (sp , logger ),
103109 defendPdaoProps : NewDefendPdaoProps (ctx , sp , logger ),
110+ scrubCollector : wc .NewScrubCollector (),
111+ bondReductionCollector : wc .NewBondReductionCollector (),
112+ soloMigrationCollector : wc .NewSoloMigrationCollector (),
104113
105114 // We assume clients are synced on startup so that we don't send unnecessary alerts
106115 wasExecutionClientSynced : true ,
@@ -156,7 +165,7 @@ func (t *TaskLoop) Run() error {
156165 }()
157166
158167 // Run metrics loop
159- t .metricsServer = runMetricsServer (t .ctx , t .sp , t .logger , t .stateLocker , t .wg , t .watchtowerTaskMgr )
168+ t .metricsServer = runMetricsServer (t .ctx , t .sp , t .logger , t .stateLocker , t .wg , t .scrubCollector , t . bondReductionCollector , t . soloMigrationCollector )
160169
161170 return nil
162171}
@@ -240,7 +249,7 @@ func (t *TaskLoop) waitUntilReady() waitUntilReadyResult {
240249
241250 // Create the watchtower task manager
242251 if t .watchtowerTaskMgr == nil {
243- t .watchtowerTaskMgr = watchtower .NewTaskManager (t .sp , t .stateMgr )
252+ t .watchtowerTaskMgr = watchtower .NewTaskManager (t .sp , t .stateMgr , t . scrubCollector , t . bondReductionCollector , t . soloMigrationCollector )
244253 err = t .watchtowerTaskMgr .Initialize (t .stateMgr )
245254 if err != nil {
246255 t .logger .Error ("Error creating watchtower task manager" , log .Err (err ))
0 commit comments