Skip to content

Commit

Permalink
Merge pull request #193 from heroku/only-use-l2met-provider-when-not-…
Browse files Browse the repository at this point in the history
…otel

We don't want to run an `l2met` provider by default. With a [prior change](https://github.com/heroku/x/pull/179/files#diff-9692d64d304dc9da6aaa7ad1bac87402306ed56bb5507e9665598bc9e0f7b997L76-R77), that is now the behavior.

This PR changes the default behavior so that an `l2met` provider will only be started if OTEL is not enabled. This behavior can be overridden by setting the `METRICS_ENABLE_L2MET_OVERRIDE` env var, in which case, an `l2met` provider will be started regardless of the OTEL settings.
  • Loading branch information
slizco committed Apr 7, 2023
2 parents 6cc0b61 + 10232b1 commit ac2660c
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
5 changes: 4 additions & 1 deletion cmdutil/metrics/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,8 @@ type Config struct {
Source string `env:"METRICS_SOURCE"`
Prefix string `env:"METRICS_PREFIX"`
DefaultTags []string `env:"METRICS_DEFAULT_TAGS"`
OTEL otel.Config
// If OTEL is enabled, l2met is disabled, by default.
// Setting this value to `true` overrides that default.
L2MetOverrideEnabled bool `env:"METRICS_ENABLE_L2MET_OVERRIDE"`
OTEL otel.Config
}
8 changes: 5 additions & 3 deletions cmdutil/service/standard.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,11 @@ func New(appConfig interface{}, ofs ...OptionFunc) *Standard {
Logger: logger,
}

l2met := l2met.New(logger)
s.MetricsProvider = l2met
s.Add(cmdutil.NewContextServer(l2met.Run))
if !sc.Metrics.OTEL.Enabled || sc.Metrics.L2MetOverrideEnabled {
l2met := l2met.New(logger)
s.MetricsProvider = l2met
s.Add(cmdutil.NewContextServer(l2met.Run))
}

s.Add(debug.New(logger, sc.Debug.Port))
s.Add(signals.NewServer(logger, syscall.SIGINT, syscall.SIGTERM))
Expand Down

0 comments on commit ac2660c

Please sign in to comment.