Skip to content

Commit

Permalink
chore: added PopulatorType constant and use it
Browse files Browse the repository at this point in the history
  • Loading branch information
freak12techno committed Apr 23, 2024
1 parent 6a94a9b commit f3117ce
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 17 deletions.
11 changes: 6 additions & 5 deletions pkg/app_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down Expand Up @@ -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

Expand Down Expand Up @@ -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,
Expand Down
5 changes: 5 additions & 0 deletions pkg/constants/constants.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ type EventName string
type ReporterName string
type QueryType string
type FormatType string
type PopulatorType string

const (
NewBlocksQuery = "tm.event='NewBlock'"
Expand Down Expand Up @@ -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 {
Expand Down
13 changes: 7 additions & 6 deletions pkg/populators/populator.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package populators

import (
"main/pkg/constants"
"time"

"github.com/rs/zerolog"
)

type Populator interface {
Populate() error
Name() string
Name() constants.PopulatorType
Enabled() bool
}

Expand All @@ -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")

Expand All @@ -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")
}
}
5 changes: 3 additions & 2 deletions pkg/populators/slashing_params_populator.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package populators

import (
configPkg "main/pkg/config"
"main/pkg/constants"
"main/pkg/data"
"main/pkg/metrics"
"main/pkg/state"
Expand Down Expand Up @@ -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
}
5 changes: 3 additions & 2 deletions pkg/populators/soft_opt_out_threshold_populator.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package populators

import (
configPkg "main/pkg/config"
"main/pkg/constants"
"main/pkg/data"
"main/pkg/metrics"
"main/pkg/state"
Expand Down Expand Up @@ -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
}
5 changes: 3 additions & 2 deletions pkg/populators/trim_database_populator.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package populators

import (
"main/pkg/constants"
"main/pkg/state"
)

Expand All @@ -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
}

0 comments on commit f3117ce

Please sign in to comment.