add parseEndpoint

master
xiandong 2 years ago committed by Kevin Wan
parent af19addf47
commit 4e6d800877

@ -60,7 +60,8 @@ func createExporter(c Config) (sdktrace.SpanExporter, error) {
case kindJaeger:
return jaeger.New(jaeger.WithCollectorEndpoint(jaeger.WithEndpoint(c.Endpoint)))
case kindJaegerUdp:
return jaeger.New(jaeger.WithAgentEndpoint(jaeger.WithAgentHost(c.getEndpointHost()), jaeger.WithAgentPort(c.getEndpointPort())))
host, port := c.parseEndpoint()
return jaeger.New(jaeger.WithAgentEndpoint(jaeger.WithAgentHost(host), jaeger.WithAgentPort(port)))
case kindZipkin:
return zipkin.New(c.Endpoint)
case kindOtlpGrpc:

@ -15,18 +15,13 @@ type Config struct {
Batcher string `json:",default=jaeger,options=jaeger|jaegerudp|zipkin|otlpgrpc|otlphttp"`
}
func (c *Config) getEndpointHost() string {
func (c *Config) parseEndpoint() (host string, port string) {
EndpointSlice := strings.Split(c.Endpoint, ":")
if len(EndpointSlice) > 0 {
return strings.TrimSpace(EndpointSlice[0])
host = strings.TrimSpace(EndpointSlice[0])
}
return ""
}
func (c *Config) getEndpointPort() string {
EndpointSlice := strings.Split(c.Endpoint, ":")
if len(EndpointSlice) > 1 {
return strings.TrimSpace(EndpointSlice[1])
if len(EndpointSlice) > 0 {
port = strings.TrimSpace(EndpointSlice[1])
}
return ""
return host, port
}

@ -6,7 +6,7 @@ import (
"testing"
)
func TestConfig_getEndpointHost(t *testing.T) {
func TestConfig_parseEndpoint(t *testing.T) {
logx.Disable()
c1 := Config{
@ -19,8 +19,10 @@ func TestConfig_getEndpointHost(t *testing.T) {
Endpoint: "localhost:6831",
Batcher: kindJaegerUdp,
}
assert.NotEqual(t, "localhost", c1.getEndpointHost())
assert.NotEqual(t, "14268", c1.getEndpointPort())
assert.Equal(t, "localhost", c2.getEndpointHost())
assert.Equal(t, "6831", c2.getEndpointPort())
host1, port1 := c1.parseEndpoint()
assert.NotEqual(t, "localhost", host1)
assert.NotEqual(t, "14268", port1)
host2, port2 := c2.parseEndpoint()
assert.Equal(t, "localhost", host2)
assert.Equal(t, "6831", port2)
}

Loading…
Cancel
Save