Like Prometheus, but for logs.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
loki/pkg/dataobj/consumer/config.go

36 lines
1009 B

package consumer
import (
"flag"
"time"
"github.com/grafana/loki/v3/pkg/dataobj/consumer/logsobj"
"github.com/grafana/loki/v3/pkg/dataobj/uploader"
)
type Config struct {
logsobj.BuilderConfig
UploaderConfig uploader.Config `yaml:"uploader"`
IdleFlushTimeout time.Duration `yaml:"idle_flush_timeout"`
}
func (cfg *Config) Validate() error {
if err := cfg.BuilderConfig.Validate(); err != nil {
return err
}
if err := cfg.UploaderConfig.Validate(); err != nil {
return err
}
return nil
}
func (cfg *Config) RegisterFlags(f *flag.FlagSet) {
cfg.RegisterFlagsWithPrefix("dataobj-consumer.", f)
}
func (cfg *Config) RegisterFlagsWithPrefix(prefix string, f *flag.FlagSet) {
cfg.BuilderConfig.RegisterFlagsWithPrefix(prefix, f)
cfg.UploaderConfig.RegisterFlagsWithPrefix(prefix, f)
f.DurationVar(&cfg.IdleFlushTimeout, prefix+"idle-flush-timeout", 60*60*time.Second, "The maximum amount of time to wait in seconds before flushing an object that is no longer receiving new writes")
}