Skip to content

Instantly share code, notes, and snippets.

@ueokande
Created August 27, 2018 05:14
Show Gist options
  • Select an option

  • Save ueokande/85f3d323547fd63eb70d3a6a0e36cbe1 to your computer and use it in GitHub Desktop.

Select an option

Save ueokande/85f3d323547fd63eb70d3a6a0e36cbe1 to your computer and use it in GitHub Desktop.

Revisions

  1. ueokande created this gist Aug 27, 2018.
    34 changes: 34 additions & 0 deletions main.go
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,34 @@
    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))

    }