func main() { var dockerAddr string var transferAddr string var debug bool flag.BoolVar(&debug, "DEBUG", false, "enable debug") flag.StringVar(&dockerAddr, "d", "tcp://192.168.99.100:2376", "docker daemon addr") flag.StringVar(&transferAddr, "t", "10.200.8.37:8433", "transfer addr") flag.Parse() if flag.NArg() < 1 { fmt.Println("need at least one container id") return } if debug { log.SetLevel(log.DebugLevel) } cli, _ := client.NewEnvClient() metric.SetGlobalSetting(cli, 2, 3, "vnbe", "eth0") client := statsd.CreateStatsDClient(transferAddr) ctx := context.Background() for i := 0; i < flag.NArg(); i++ { if c, err := cli.ContainerInspect(ctx, flag.Arg(i)); err != nil { fmt.Println(flag.Arg(i), err) continue } else { go start_watcher(client, c.ID, c.State.Pid) } } for { } }
func Metric() { metric.SetGlobalSetting( g.Docker, time.Duration(common.STATS_TIMEOUT), time.Duration(common.STATS_FORCE_DONE), common.VLAN_PREFIX, common.DEFAULT_BR, ) logs.Info("Metrics initiated") }