|
8 | 8 | "encoding/json"
|
9 | 9 | "flag"
|
10 | 10 | "fmt"
|
| 11 | + "net/url" |
11 | 12 | "os"
|
12 | 13 | "os/signal"
|
13 | 14 | "path/filepath"
|
@@ -59,7 +60,7 @@ func init() {
|
59 | 60 | flag.StringVar(&space, "space", "rocket", "Cloud Foundry space")
|
60 | 61 | flag.BoolVar(&useCfCliTarget, "use-cf-cli-target", false, "Use CF CLI's current configured target")
|
61 | 62 |
|
62 |
| - flag.StringVar(&riemannAddr, "riemann", "127.0.0.1:5555", "Address of the Riemann endpoint") |
| 63 | + flag.StringVar(&riemannAddr, "riemann", "tcp://127.0.0.1:5555", "Address of the Riemann endpoint") |
63 | 64 |
|
64 | 65 | flag.Float64Var(&eventsTTL, "events-ttl", 30.0, "TTL for emitted events (in seconds)")
|
65 | 66 | flag.IntVar(&queueSize, "events-queue-size", 256, "Queue size for outgoing events")
|
@@ -120,8 +121,16 @@ func main() {
|
120 | 121 | cancel()
|
121 | 122 | }()
|
122 | 123 |
|
123 |
| - riemann := &mozzle.RiemannEmitter{} |
124 |
| - riemann.Initialize("tcp", riemannAddr, float32(eventsTTL), queueSize) |
| 124 | + network, addr, err := splitSchemeHost(riemannAddr) |
| 125 | + if err != nil { |
| 126 | + fmt.Fprintf(os.Stderr, "mozzle: error parsing riemann address: %v\n", err) |
| 127 | + os.Exit(1) |
| 128 | + } |
| 129 | + if network == "" { |
| 130 | + network = "tcp" |
| 131 | + } |
| 132 | + riemann := new(mozzle.RiemannEmitter) |
| 133 | + riemann.Initialize(network, addr, float32(eventsTTL), queueSize) |
125 | 134 | defer func() {
|
126 | 135 | if err := riemann.Close(); err != nil {
|
127 | 136 | fmt.Printf("mozzle: error closing riemann emitter: %v\n", err)
|
@@ -210,3 +219,11 @@ func parseBearerToken(s string) (*oauth2.Token, error) {
|
210 | 219 | Expiry: time.Unix(t.Exp, 0),
|
211 | 220 | }, nil
|
212 | 221 | }
|
| 222 | + |
| 223 | +func splitSchemeHost(addr string) (scheme, host string, err error) { |
| 224 | + u, err := url.Parse(addr) |
| 225 | + if err != nil { |
| 226 | + return "", "", err |
| 227 | + } |
| 228 | + return u.Scheme, u.Host, nil |
| 229 | +} |
0 commit comments