Files
Zach LeslieandGitHub be9d148a6b Add optional anonymous Tempo usage reporting (#1481)
* Import Loki usagestats package

* Begin implementing usagestats package

* Begin integrating backend into module init

* Add BuildVersion() to build package

* Update vendor

* Update backend.Raw interfaces for error handling and object deletion

* Add UsageReport dependency for main components

* Use backend.ErrDoesNotExist in place of interface extension

* Updates for tempo implementation

* Update tests

* Add metrics generator reporting

* Add replication_factor usage metric

* Add store configuration usage metrics

* Update vendor

* UsageReport requires MemberlistKV for the store

* Include ring kv store stat

* Include frontend version stats

* Include feature stats

* Include receiver stats

* Include missed feature stat

* Include docs on how to disable the usage report

* Update changelog

* Include Loki attribution in `usagestats` package

* Rename stats

* Fix stat reference

* Call out storage dependency for distributor

* Go mod tidy

* Raise log level of reporting message

* Take docs suggestions

* Move backoff defaults into config defaults

* Remove DeleteObject interface extension

* Include ErrBadSeedFile to indicate new seed generation should proceed

* Handle ErrBadSeedFile

* Update vendor

* Update vendor

* Update config handling to use prefix

* Tidy up for PR feedback
2022-07-29 09:48:12 -06:00

22 lines
609 B
Go

package usagestats
import (
"flag"
"github.com/grafana/dskit/backoff"
"github.com/grafana/tempo/pkg/util"
)
type Config struct {
Enabled bool `yaml:"reporting_enabled"`
Leader bool `yaml:"-"`
Backoff backoff.Config `yaml:"backoff"`
}
// RegisterFlags adds the flags required to config this to the given FlagSet
func (cfg *Config) RegisterFlagsAndApplyDefaults(prefix string, f *flag.FlagSet) {
f.BoolVar(&cfg.Enabled, util.PrefixConfig(prefix, "enabled"), true, "Enable anonymous usage reporting.")
cfg.Backoff.RegisterFlagsWithPrefix(prefix, f)
cfg.Backoff.MaxRetries = 0
}