github.com/grafana/pyroscope@v1.18.0/pkg/pyroscope/feature_flags.go (about)

     1  package pyroscope
     2  
     3  import (
     4  	"github.com/grafana/dskit/services"
     5  
     6  	"github.com/grafana/pyroscope/pkg/featureflags"
     7  )
     8  
     9  func (c *Config) getFeatureFlags() map[string]bool {
    10  	rulerEnabled := c.CompactionWorker.MetricsExporter.Enabled
    11  	return map[string]bool{
    12  		featureflags.V2StorageLayer:          c.V2,
    13  		featureflags.PyroscopeRuler:          rulerEnabled,
    14  		featureflags.PyroscopeRulerFunctions: rulerEnabled,
    15  		featureflags.UTF8LabelNames:          false, // not supported yet
    16  	}
    17  }
    18  
    19  func (f *Pyroscope) initFeatureFlags() (services.Service, error) {
    20  	ff := featureflags.NewFromEnabled(f.reg, f.Cfg.getFeatureFlags())
    21  	f.API.RegisterFeatureFlagsServiceHandler(ff)
    22  	return nil, nil
    23  }