MCPcopy
hub / github.com/grafana/tempo / newRuntimeConfigOverrides

Function newRuntimeConfigOverrides

modules/overrides/runtime_config_overrides.go:170–206  ·  view source on GitHub ↗
(cfg Config, validator Validator, registerer prometheus.Registerer)

Source from the content-addressed store, hash-verified

168var _ Interface = (*runtimeConfigOverridesManager)(nil)
169
170func newRuntimeConfigOverrides(cfg Config, validator Validator, registerer prometheus.Registerer) (Service, error) {
171 var manager *runtimeconfig.Manager
172 subservices := []services.Service(nil)
173
174 if cfg.PerTenantOverrideConfig != "" {
175 runtimeCfg := runtimeconfig.Config{
176 LoadPath: []string{cfg.PerTenantOverrideConfig},
177 ReloadPeriod: time.Duration(cfg.PerTenantOverridePeriod),
178 Loader: loadPerTenantOverrides(validator, cfg.ConfigType, cfg.ExpandEnv, cfg.EnableLegacyOverrides),
179 }
180 runtimeCfgMgr, err := runtimeconfig.New(runtimeCfg, "overrides", prometheus.WrapRegistererWithPrefix("tempo_", registerer), log.Logger)
181 if err != nil {
182 return nil, fmt.Errorf("failed to create runtime config manager: %w", err)
183 }
184 manager = runtimeCfgMgr
185 subservices = append(subservices, runtimeCfgMgr)
186 }
187
188 o := &runtimeConfigOverridesManager{
189 runtimeConfigMgr: manager,
190 defaultLimits: &cfg.Defaults,
191 }
192
193 if len(subservices) > 0 {
194 var err error
195 o.subservices, err = services.NewManager(subservices...)
196 if err != nil {
197 return nil, fmt.Errorf("failed to create subservices: %w", err)
198 }
199 o.subservicesWatcher = services.NewFailureWatcher()
200 o.subservicesWatcher.WatchManager(o.subservices)
201 }
202
203 o.Service = services.NewBasicService(o.starting, o.running, o.stopping)
204
205 return o, nil
206}
207
208func (o *runtimeConfigOverridesManager) starting(ctx context.Context) error {
209 if o.subservices != nil {

Callers 5

NewOverridesFunction · 0.85
TestRemoteWriteHeadersFunction · 0.85
TestExpandEnvOverridesFunction · 0.85

Calls 2

loadPerTenantOverridesFunction · 0.85
DurationMethod · 0.80

Tested by 4

TestRemoteWriteHeadersFunction · 0.68
TestExpandEnvOverridesFunction · 0.68