func influxdbCommandLine(cli *flag.FlagSet) CommandLineHandler { ix := &influx{ logger: NewLogger("[ostent sendto-influxdb] "), RefreshFlag: flags.Period{Duration: 10 * time.Second}, // 10s default // ServerAddr: flags.NewBind(8086), } cli.Var(&ix.RefreshFlag, "influxdb-refresh", "InfluxDB refresh interval") cli.StringVar(&ix.ServerAddr, "sendto-influxdb", "", "InfluxDB server address") cli.StringVar(&ix.Database, "influxdb-database", "ostent", "InfluxDB database") cli.StringVar(&ix.Username, "influxdb-username", "", "InfluxDB username") cli.StringVar(&ix.Password, "influxdb-password", "", "InfluxDB password") return func() (AtexitHandler, bool, error) { if ix.ServerAddr == "" { return nil, false, nil } ostent.AddBackground(func(defaultPeriod flags.Period) { /* if ix.RefreshFlag.Duration == 0 { // if .RefreshFlag had no default ix.RefreshFlag = defaultPeriod } */ go influxdb.Influxdb(ostent.Reg1s.Registry, ix.RefreshFlag.Duration, &influxdb.Config{ Host: ix.ServerAddr, //.String(), Database: ix.Database, Username: ix.Username, Password: ix.Password, }) }) return nil, false, nil } }
func graphiteCommandLine(cli *flag.FlagSet) CommandLineHandler { gr := &graphite{ logger: NewLogger("[ostent sendto-graphite] "), RefreshFlag: flags.Period{Duration: 10 * time.Second}, // 10s default ServerAddr: flags.NewBind(2003), } cli.Var(&gr.RefreshFlag, "graphite-refresh", "Graphite refresh interval") cli.Var(&gr.ServerAddr, "sendto-graphite", "Graphite server address") return func() (AtexitHandler, bool, error) { if gr.ServerAddr.Host == "" { return nil, false, nil } ostent.AddBackground(func(defaultPeriod flags.Period) { /* if gr.RefreshFlag.Duration == 0 { // if .RefreshFlag had no default gr.RefreshFlag = defaultPeriod } */ gc := &carbond{ logger: gr.logger, serveraddr: gr.ServerAddr.String(), PeriodParam: params.NewPeriodParam(gr.RefreshFlag, "refreshgraphite", nil), } ostent.Register <- gc }) return nil, false, nil } }