func initConnPools() { cfg := g.Config() judgeInstances := set.NewStringSet() for _, instance := range cfg.Judge.Cluster { judgeInstances.Add(instance) } JudgeConnPools = cpool.CreateSafeRpcConnPools(cfg.Judge.MaxConns, cfg.Judge.MaxIdle, cfg.Judge.ConnTimeout, cfg.Judge.CallTimeout, judgeInstances.ToSlice()) graphInstances := set.NewStringSet() for _, instance := range cfg.Graph.Cluster { graphInstances.Add(instance) } GraphConnPools = cpool.CreateSafeRpcConnPools(cfg.Graph.MaxConns, cfg.Graph.MaxIdle, cfg.Graph.ConnTimeout, cfg.Graph.CallTimeout, graphInstances.ToSlice()) if cfg.Graph.Migrating && cfg.Graph.ClusterMigrating != nil { graphMigratingInstances := set.NewStringSet() for _, instance := range cfg.Graph.ClusterMigrating { graphMigratingInstances.Add(instance) } GraphMigratingConnPools = cpool.CreateSafeRpcConnPools(cfg.Graph.MaxConns, cfg.Graph.MaxIdle, cfg.Graph.ConnTimeout, cfg.Graph.CallTimeout, graphMigratingInstances.ToSlice()) } }
// return phones, emails func ParseTeams(teams string) ([]string, []string) { if teams == "" { return []string{}, []string{} } userMap := GetUsers(teams) phoneSet := set.NewStringSet() mailSet := set.NewStringSet() for _, user := range userMap { phoneSet.Add(user.Phone) mailSet.Add(user.Email) } return phoneSet.ToSlice(), mailSet.ToSlice() }
func initConnPools() { cfg := g.Config() judgeInstances := nset.NewStringSet() for _, instance := range cfg.Judge.Cluster { judgeInstances.Add(instance) } JudgeConnPools = cpool.CreateSafeRpcConnPools(cfg.Judge.MaxConns, cfg.Judge.MaxIdle, cfg.Judge.ConnTimeout, cfg.Judge.CallTimeout, judgeInstances.ToSlice()) // graph graphInstances := nset.NewSafeSet() for _, nitem := range cfg.Graph.Cluster2 { for _, addr := range nitem.Addrs { graphInstances.Add(addr) } } GraphConnPools = cpool.CreateSafeRpcConnPools(cfg.Graph.MaxConns, cfg.Graph.MaxIdle, cfg.Graph.ConnTimeout, cfg.Graph.CallTimeout, graphInstances.ToSlice()) // graph migrating if cfg.Graph.Migrating && cfg.Graph.ClusterMigrating != nil { graphMigratingInstances := nset.NewSafeSet() for _, cnode := range cfg.Graph.ClusterMigrating2 { for _, addr := range cnode.Addrs { graphMigratingInstances.Add(addr) } } GraphMigratingConnPools = cpool.CreateSafeRpcConnPools(cfg.Graph.MaxConns, cfg.Graph.MaxIdle, cfg.Graph.ConnTimeout, cfg.Graph.CallTimeout, graphMigratingInstances.ToSlice()) } }
func QueryBuiltinMetrics(tids string) ([]*model.BuiltinMetric, error) { sql := fmt.Sprintf( "select metric, tags from strategy where tpl_id in (%s) and metric in ('net.port.listen', 'proc.num', 'du.bs')", tids, ) ret := []*model.BuiltinMetric{} rows, err := DB.Query(sql) if err != nil { log.Println("ERROR:", err) return ret, err } metricTagsSet := set.NewStringSet() defer rows.Close() for rows.Next() { builtinMetric := model.BuiltinMetric{} err = rows.Scan(&builtinMetric.Metric, &builtinMetric.Tags) if err != nil { log.Println("WARN:", err) continue } k := fmt.Sprintf("%s%s", builtinMetric.Metric, builtinMetric.Tags) if metricTagsSet.Exists(k) { continue } ret = append(ret, &builtinMetric) metricTagsSet.Add(k) } return ret, nil }