Merge pull request #466 from basvanbeek/master
Add Zipkin HTTP Collector to addsvc example
Peter Bourgon authored 7 years ago
GitHub committed 7 years ago
39 | 39 | thriftProtocol = flag.String("thrift.protocol", "binary", "binary, compact, json, simplejson") |
40 | 40 | thriftBufferSize = flag.Int("thrift.buffer.size", 0, "0 for unbuffered") |
41 | 41 | thriftFramed = flag.Bool("thrift.framed", false, "true to enable framing") |
42 | zipkinAddr = flag.String("zipkin.addr", "", "Enable Zipkin tracing via a Kafka Collector host:port") | |
42 | zipkinAddr = flag.String("zipkin.addr", "", "Enable Zipkin tracing via a Zipkin HTTP Collector endpoint") | |
43 | zipkinKafkaAddr = flag.String("zipkin.kafka.addr", "", "Enable Zipkin tracing via a Kafka server host:port") | |
43 | 44 | appdashAddr = flag.String("appdash.addr", "", "Enable Appdash tracing via an Appdash server host:port") |
44 | 45 | lightstepToken = flag.String("lightstep.token", "", "Enable LightStep tracing via a LightStep access token") |
45 | 46 | method = flag.String("method", "sum", "sum, concat") |
56 | 57 | var tracer stdopentracing.Tracer |
57 | 58 | { |
58 | 59 | if *zipkinAddr != "" { |
60 | // endpoint typically looks like: http://zipkinhost:9411/api/v1/spans | |
61 | collector, err := zipkin.NewHTTPCollector(*zipkinAddr) | |
62 | if err != nil { | |
63 | fmt.Fprintf(os.Stderr, "%v\n", err) | |
64 | os.Exit(1) | |
65 | } | |
66 | defer collector.Close() | |
67 | ||
68 | tracer, err = zipkin.NewTracer( | |
69 | zipkin.NewRecorder(collector, false, "0.0.0.0:0", "addcli"), | |
70 | ) | |
71 | if err != nil { | |
72 | fmt.Fprintf(os.Stderr, "%v\n", err) | |
73 | os.Exit(1) | |
74 | } | |
75 | } else if *zipkinKafkaAddr != "" { | |
59 | 76 | collector, err := zipkin.NewKafkaCollector( |
60 | strings.Split(*zipkinAddr, ","), | |
77 | strings.Split(*zipkinKafkaAddr, ","), | |
61 | 78 | zipkin.KafkaLogger(log.NewNopLogger()), |
62 | 79 | ) |
63 | 80 | if err != nil { |
64 | 81 | fmt.Fprintf(os.Stderr, "%v\n", err) |
65 | 82 | os.Exit(1) |
66 | 83 | } |
84 | defer collector.Close() | |
85 | ||
67 | 86 | tracer, err = zipkin.NewTracer( |
68 | zipkin.NewRecorder(collector, false, "localhost:8000", "addcli"), | |
87 | zipkin.NewRecorder(collector, false, "0.0.0.0:0", "addcli"), | |
69 | 88 | ) |
70 | 89 | if err != nil { |
71 | 90 | fmt.Fprintf(os.Stderr, "%v\n", err) |
39 | 39 | thriftProtocol = flag.String("thrift.protocol", "binary", "binary, compact, json, simplejson") |
40 | 40 | thriftBufferSize = flag.Int("thrift.buffer.size", 0, "0 for unbuffered") |
41 | 41 | thriftFramed = flag.Bool("thrift.framed", false, "true to enable framing") |
42 | zipkinAddr = flag.String("zipkin.addr", "", "Enable Zipkin tracing via a Kafka server host:port") | |
42 | zipkinAddr = flag.String("zipkin.addr", "", "Enable Zipkin tracing via a Zipkin HTTP Collector endpoint") | |
43 | zipkinKafkaAddr = flag.String("zipkin.kafka.addr", "", "Enable Zipkin tracing via a Kafka server host:port") | |
43 | 44 | appdashAddr = flag.String("appdash.addr", "", "Enable Appdash tracing via an Appdash server host:port") |
44 | 45 | lightstepToken = flag.String("lightstep.token", "", "Enable LightStep tracing via a LightStep access token") |
45 | 46 | ) |
84 | 85 | var tracer stdopentracing.Tracer |
85 | 86 | { |
86 | 87 | if *zipkinAddr != "" { |
87 | logger := log.NewContext(logger).With("tracer", "Zipkin") | |
88 | logger := log.NewContext(logger).With("tracer", "ZipkinHTTP") | |
88 | 89 | logger.Log("addr", *zipkinAddr) |
90 | ||
91 | // endpoint typically looks like: http://zipkinhost:9411/api/v1/spans | |
92 | collector, err := zipkin.NewHTTPCollector(*zipkinAddr) | |
93 | if err != nil { | |
94 | logger.Log("err", err) | |
95 | os.Exit(1) | |
96 | } | |
97 | defer collector.Close() | |
98 | ||
99 | tracer, err = zipkin.NewTracer( | |
100 | zipkin.NewRecorder(collector, false, "localhost:80", "addsvc"), | |
101 | ) | |
102 | if err != nil { | |
103 | logger.Log("err", err) | |
104 | os.Exit(1) | |
105 | } | |
106 | } else if *zipkinKafkaAddr != "" { | |
107 | logger := log.NewContext(logger).With("tracer", "ZipkinKafka") | |
108 | logger.Log("addr", *zipkinKafkaAddr) | |
109 | ||
89 | 110 | collector, err := zipkin.NewKafkaCollector( |
90 | strings.Split(*zipkinAddr, ","), | |
91 | zipkin.KafkaLogger(logger), | |
111 | strings.Split(*zipkinKafkaAddr, ","), | |
112 | zipkin.KafkaLogger(log.NewNopLogger()), | |
92 | 113 | ) |
93 | 114 | if err != nil { |
94 | 115 | logger.Log("err", err) |
95 | 116 | os.Exit(1) |
96 | 117 | } |
118 | defer collector.Close() | |
119 | ||
97 | 120 | tracer, err = zipkin.NewTracer( |
98 | 121 | zipkin.NewRecorder(collector, false, "localhost:80", "addsvc"), |
99 | 122 | ) |