Skip to content

Commit

Permalink
Use bool to track downsampling flags state
Browse files Browse the repository at this point in the history
Signed-off-by: Joe Elliott <number101010@gmail.com>
  • Loading branch information
joe-elliott committed Feb 4, 2021
1 parent 83aaa9e commit 1b6618d
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 5 deletions.
12 changes: 7 additions & 5 deletions plugin/storage/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,9 @@ var AllStorageTypes = []string{cassandraStorageType, elasticsearchStorageType, m
// Factory implements storage.Factory interface as a meta-factory for storage components.
type Factory struct {
FactoryConfig
metricsFactory metrics.Factory
factories map[string]storage.Factory
metricsFactory metrics.Factory
factories map[string]storage.Factory
downsamplingFlagsAdded bool
}

// NewFactory creates the meta-factory.
Expand Down Expand Up @@ -180,11 +181,12 @@ func (f *Factory) AddFlags(flagSet *flag.FlagSet) {
// the collector or ingester.
func (f *Factory) AddPipelineFlags(flagSet *flag.FlagSet) {
f.AddFlags(flagSet)
addDownsamplingFlags(flagSet)
f.addDownsamplingFlags(flagSet)
}

// addDownsamplingFlags add flags for Downsampling params
func addDownsamplingFlags(flagSet *flag.FlagSet) {
func (f *Factory) addDownsamplingFlags(flagSet *flag.FlagSet) {
f.downsamplingFlagsAdded = true
flagSet.Float64(
downsamplingRatio,
defaultDownsamplingRatio,
Expand All @@ -210,7 +212,7 @@ func (f *Factory) InitFromViper(v *viper.Viper) {
func (f *Factory) initDownsamplingFromViper(v *viper.Viper) {
// if the downsampling flag isn't set then this component used the standard "AddFlags" method
// and has no use for downsampling. the default settings effectively disable downsampling
if !v.IsSet(downsamplingRatio) {
if !f.downsamplingFlagsAdded {
f.FactoryConfig.DownsamplingRatio = defaultDownsamplingRatio
f.FactoryConfig.DownsamplingHashSalt = defaultDownsamplingHashSalt
return
Expand Down
4 changes: 4 additions & 0 deletions plugin/storage/factory_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,10 @@ func TestDefaultDownsamplingWithAddFlags(t *testing.T) {

assert.Equal(t, f.FactoryConfig.DownsamplingRatio, defaultDownsamplingRatio)
assert.Equal(t, f.FactoryConfig.DownsamplingHashSalt, defaultDownsamplingHashSalt)

err = command.ParseFlags([]string{
"--downsampling.ratio=0.5"})
assert.Error(t, err)
}

func TestPublishOpts(t *testing.T) {
Expand Down

0 comments on commit 1b6618d

Please sign in to comment.