|
|
|
package trace
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
"github.com/zeromicro/go-zero/core/logx"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestStartAgent(t *testing.T) {
|
|
|
|
logx.Disable()
|
|
|
|
|
|
|
|
const (
|
|
|
|
endpoint1 = "localhost:1234"
|
|
|
|
endpoint2 = "remotehost:1234"
|
|
|
|
endpoint3 = "localhost:1235"
|
|
|
|
endpoint4 = "localhost:1236"
|
|
|
|
endpoint5 = "udp://localhost:6831"
|
|
|
|
endpoint6 = "localhost:1237"
|
|
|
|
)
|
|
|
|
c1 := Config{
|
|
|
|
Name: "foo",
|
|
|
|
}
|
|
|
|
c2 := Config{
|
|
|
|
Name: "bar",
|
|
|
|
Endpoint: endpoint1,
|
|
|
|
Batcher: kindJaeger,
|
|
|
|
}
|
|
|
|
c3 := Config{
|
|
|
|
Name: "any",
|
|
|
|
Endpoint: endpoint2,
|
|
|
|
Batcher: kindZipkin,
|
|
|
|
}
|
|
|
|
c4 := Config{
|
|
|
|
Name: "bla",
|
|
|
|
Endpoint: endpoint3,
|
|
|
|
Batcher: "otlp",
|
|
|
|
}
|
|
|
|
c5 := Config{
|
|
|
|
Name: "otlpgrpc",
|
|
|
|
Endpoint: endpoint3,
|
|
|
|
Batcher: kindOtlpGrpc,
|
|
|
|
OtlpHeaders: map[string]string{
|
|
|
|
"uptrace-dsn": "http://project2_secret_token@localhost:14317/2",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
c6 := Config{
|
|
|
|
Name: "otlphttp",
|
|
|
|
Endpoint: endpoint4,
|
|
|
|
Batcher: kindOtlpHttp,
|
|
|
|
OtlpHeaders: map[string]string{
|
|
|
|
"uptrace-dsn": "http://project2_secret_token@localhost:14318/2",
|
|
|
|
},
|
|
|
|
OtlpHttpPath: "/v1/traces",
|
|
|
|
}
|
|
|
|
c7 := Config{
|
|
|
|
Name: "UDP",
|
|
|
|
Endpoint: endpoint5,
|
|
|
|
Batcher: kindJaeger,
|
|
|
|
}
|
|
|
|
c8 := Config{
|
|
|
|
Disabled: true,
|
|
|
|
Endpoint: endpoint6,
|
|
|
|
Batcher: kindJaeger,
|
|
|
|
}
|
|
|
|
|
|
|
|
StartAgent(c1)
|
|
|
|
StartAgent(c1)
|
|
|
|
StartAgent(c2)
|
|
|
|
StartAgent(c3)
|
|
|
|
StartAgent(c4)
|
|
|
|
StartAgent(c5)
|
|
|
|
StartAgent(c6)
|
|
|
|
StartAgent(c7)
|
|
|
|
StartAgent(c8)
|
|
|
|
defer StopAgent()
|
|
|
|
|
|
|
|
lock.Lock()
|
|
|
|
defer lock.Unlock()
|
|
|
|
|
|
|
|
// because remotehost cannot be resolved
|
|
|
|
assert.Equal(t, 5, len(agents))
|
|
|
|
_, ok := agents[""]
|
|
|
|
assert.True(t, ok)
|
|
|
|
_, ok = agents[endpoint1]
|
|
|
|
assert.True(t, ok)
|
|
|
|
_, ok = agents[endpoint2]
|
|
|
|
assert.False(t, ok)
|
|
|
|
_, ok = agents[endpoint5]
|
|
|
|
assert.True(t, ok)
|
|
|
|
_, ok = agents[endpoint6]
|
|
|
|
assert.False(t, ok)
|
|
|
|
}
|