From f3117ce682b00d80136886c04e56d195076f37b8 Mon Sep 17 00:00:00 2001 From: Sergey Date: Wed, 24 Apr 2024 02:04:05 +0300 Subject: [PATCH] chore: added PopulatorType constant and use it --- pkg/app_manager.go | 11 ++++++----- pkg/constants/constants.go | 5 +++++ pkg/populators/populator.go | 13 +++++++------ pkg/populators/slashing_params_populator.go | 5 +++-- pkg/populators/soft_opt_out_threshold_populator.go | 5 +++-- pkg/populators/trim_database_populator.go | 5 +++-- 6 files changed, 27 insertions(+), 17 deletions(-) diff --git a/pkg/app_manager.go b/pkg/app_manager.go index 62cdc82..08c3925 100644 --- a/pkg/app_manager.go +++ b/pkg/app_manager.go @@ -3,6 +3,7 @@ package pkg import ( "fmt" configPkg "main/pkg/config" + "main/pkg/constants" dataPkg "main/pkg/data" databasePkg "main/pkg/database" "main/pkg/metrics" @@ -30,7 +31,7 @@ type AppManager struct { SnapshotManager *snapshotPkg.Manager WebsocketManager *tendermint.WebsocketManager MetricsManager *metrics.Manager - Populators []*populatorsPkg.Wrapper + Populators map[constants.PopulatorType]*populatorsPkg.Wrapper Reporters []reportersPkg.Reporter IsPopulatingBlocks bool @@ -60,18 +61,18 @@ func NewAppManager( discord.NewReporter(config, version, managerLogger, stateManager, metricsManager, snapshotManager), } - populators := []*populatorsPkg.Wrapper{ - populatorsPkg.NewWrapper( + populators := map[constants.PopulatorType]*populatorsPkg.Wrapper{ + constants.PopulatorSlashingParams: populatorsPkg.NewWrapper( populatorsPkg.NewSlashingParamsPopulator(config, dataManager, stateManager, metricsManager, managerLogger), config.Intervals.SlashingParams*time.Second, managerLogger, ), - populatorsPkg.NewWrapper( + constants.PopulatorSoftOptOutThreshold: populatorsPkg.NewWrapper( populatorsPkg.NewSoftOptOutThresholdPopulator(config, dataManager, stateManager, metricsManager, managerLogger), config.Intervals.SoftOptOutThreshold*time.Second, managerLogger, ), - populatorsPkg.NewWrapper( + constants.PopulatorTrimDatabase: populatorsPkg.NewWrapper( populatorsPkg.NewTrimDatabasePopulator(stateManager), config.Intervals.Trim*time.Second, managerLogger, diff --git a/pkg/constants/constants.go b/pkg/constants/constants.go index 8d04e93..68a966a 100644 --- a/pkg/constants/constants.go +++ b/pkg/constants/constants.go @@ -4,6 +4,7 @@ type EventName string type ReporterName string type QueryType string type FormatType string +type PopulatorType string const ( NewBlocksQuery = "tm.event='NewBlock'" @@ -52,6 +53,10 @@ const ( FetcherTypeCosmosRPC string = "cosmos-rpc" FetcherTypeCosmosLCD string = "cosmos-lcd" + + PopulatorSlashingParams = "slashing-params-populator" + PopulatorSoftOptOutThreshold = "soft-opt-out-threshold-populator" + PopulatorTrimDatabase = "trim-database-populator" ) func GetEventNames() []EventName { diff --git a/pkg/populators/populator.go b/pkg/populators/populator.go index 2e1b3f5..a366c00 100644 --- a/pkg/populators/populator.go +++ b/pkg/populators/populator.go @@ -1,6 +1,7 @@ package populators import ( + "main/pkg/constants" "time" "github.com/rs/zerolog" @@ -8,7 +9,7 @@ import ( type Populator interface { Populate() error - Name() string + Name() constants.PopulatorType Enabled() bool } @@ -35,20 +36,20 @@ func NewWrapper( func (w *Wrapper) Start() { if w.Duration == 0 { w.Logger.Info(). - Str("name", w.Populator.Name()). + Str("name", string(w.Populator.Name())). Msg("Populator is disabled in config") return } if !w.Populator.Enabled() { w.Logger.Info(). - Str("name", w.Populator.Name()). + Str("name", string(w.Populator.Name())). Msg("Populator is disabled") return } w.Logger.Info(). - Str("name", w.Populator.Name()). + Str("name", string(w.Populator.Name())). Dur("interval", w.Duration). Msg("Populator is enabled") @@ -68,11 +69,11 @@ func (w *Wrapper) TryPopulate() { if err := w.Populator.Populate(); err != nil { w.Logger.Error(). Err(err). - Str("name", w.Populator.Name()). + Str("name", string(w.Populator.Name())). Msg("Got error when populating data") } else { w.Logger.Debug(). - Str("name", w.Populator.Name()). + Str("name", string(w.Populator.Name())). Msg("Population finished successfully") } } diff --git a/pkg/populators/slashing_params_populator.go b/pkg/populators/slashing_params_populator.go index 1082478..05cb4d8 100644 --- a/pkg/populators/slashing_params_populator.go +++ b/pkg/populators/slashing_params_populator.go @@ -2,6 +2,7 @@ package populators import ( configPkg "main/pkg/config" + "main/pkg/constants" "main/pkg/data" "main/pkg/metrics" "main/pkg/state" @@ -75,6 +76,6 @@ func (p *SlashingParamsPopulator) Enabled() bool { return true } -func (p *SlashingParamsPopulator) Name() string { - return "slashing-params-populator" +func (p *SlashingParamsPopulator) Name() constants.PopulatorType { + return constants.PopulatorSlashingParams } diff --git a/pkg/populators/soft_opt_out_threshold_populator.go b/pkg/populators/soft_opt_out_threshold_populator.go index 5cabc5a..c18f89f 100644 --- a/pkg/populators/soft_opt_out_threshold_populator.go +++ b/pkg/populators/soft_opt_out_threshold_populator.go @@ -2,6 +2,7 @@ package populators import ( configPkg "main/pkg/config" + "main/pkg/constants" "main/pkg/data" "main/pkg/metrics" "main/pkg/state" @@ -69,6 +70,6 @@ func (p *SoftOptOutThresholdPopulator) Enabled() bool { return p.Config.IsConsumer.Bool } -func (p *SoftOptOutThresholdPopulator) Name() string { - return "soft-opt-out-threshold-populator" +func (p *SoftOptOutThresholdPopulator) Name() constants.PopulatorType { + return constants.PopulatorSoftOptOutThreshold } diff --git a/pkg/populators/trim_database_populator.go b/pkg/populators/trim_database_populator.go index fa0fbf9..5814b90 100644 --- a/pkg/populators/trim_database_populator.go +++ b/pkg/populators/trim_database_populator.go @@ -1,6 +1,7 @@ package populators import ( + "main/pkg/constants" "main/pkg/state" ) @@ -23,6 +24,6 @@ func (p *TrimDatabasePopulator) Enabled() bool { return true } -func (p *TrimDatabasePopulator) Name() string { - return "trim-database-populator" +func (p *TrimDatabasePopulator) Name() constants.PopulatorType { + return constants.PopulatorTrimDatabase }