package main import ( "context" "fmt" "os" "time" "github.com/coreos/etcd/clientv3" ) func main() { cli, err := clientv3.New(clientv3.Config{ Endpoints: []string{"http://example.com:2379"}, DialTimeout: 2 * time.Second, }) if err != nil { fmt.Fprintln(os.Stderr, "[initialize etcd client]", err) return } defer cli.Close() ctx, cancel := context.WithTimeout(context.Background(), 2*time.Second) defer cancel() resp, err := cli.MemberList(ctx) if err != nil { fmt.Fprintln(os.Stderr, "[getting etcd members]", err) return } fmt.Fprintln(os.Stdout, "current member count =", len(resp.Members)) }