49 lines
906 B
Go
Raw Permalink Normal View History

package statsreporter
import (
"time"
"github.com/SigNoz/signoz/pkg/factory"
)
type Config struct {
// Enabled is a flag to enable or disable the stats reporter.
Enabled bool `mapstructure:"enabled"`
// Interval is the interval at which the stats are collected.
Interval time.Duration `mapstructure:"interval"`
// Collect is the collection configuration.
Collect Collect `mapstructure:"collect"`
}
type Collect struct {
Identities bool `mapstructure:"identities"`
}
func NewConfigFactory() factory.ConfigFactory {
return factory.NewConfigFactory(factory.MustNewName("statsreporter"), newConfig)
}
func newConfig() factory.Config {
return Config{
Enabled: true,
Interval: 6 * time.Hour,
Collect: Collect{
Identities: true,
},
}
}
func (c Config) Validate() error {
return nil
}
func (c Config) Provider() string {
if c.Enabled {
return "analytics"
}
return "noop"
}