Skip to content

Commit

Permalink
Correct the comment of the priority of options and environments on ot…
Browse files Browse the repository at this point in the history
…lptracegrpc
  • Loading branch information
XSAM committed Jun 13, 2024
1 parent 5331939 commit 1e06c72
Show file tree
Hide file tree
Showing 3 changed files with 91 additions and 4 deletions.
13 changes: 13 additions & 0 deletions exporters/otlp/otlptrace/otlptracegrpc/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -420,3 +420,16 @@ func TestCustomUserAgent(t *testing.T) {
headers := mc.getHeaders()
require.Contains(t, headers.Get("user-agent")[0], customUserAgent)
}

func TestNewClient(t *testing.T) {
mc := runMockCollector(t)
t.Cleanup(func() { require.NoError(t, mc.stop()) })

ctx := context.Background()
client := otlptracegrpc.NewClient(
otlptracegrpc.WithInsecure(),
otlptracegrpc.WithEndpoint(mc.endpoint),
)
t.Cleanup(func() { require.NoError(t, client.Stop(ctx)) })
require.NoError(t, client.Start(ctx))
}
72 changes: 72 additions & 0 deletions exporters/otlp/otlptrace/otlptracegrpc/client_unit_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,3 +202,75 @@ func TestExportContextLinksStopSignal(t *testing.T) {
return false
}, 10*time.Second, time.Microsecond)
}

func TestWithEndpointWithEnv(t *testing.T) {
testCases := []struct {
name string
options []Option
envs map[string]string
want string
}{
{
name: "WithEndpointURL last",
options: []Option{
WithEndpoint("foo"),
WithEndpointURL("http://bar:8080/path"),
},
want: "bar:8080",
},
{
name: "WithEndpoint last",
options: []Option{
WithEndpointURL("http://bar:8080/path"),
WithEndpoint("foo"),
},
want: "foo",
},
{
name: "OTEL_EXPORTER_OTLP_ENDPOINT only",
envs: map[string]string{
"OTEL_EXPORTER_OTLP_ENDPOINT": "foo2",
},
want: "foo2",
},
{
name: "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT only",
envs: map[string]string{
"OTEL_EXPORTER_OTLP_TRACES_ENDPOINT": "bar2",
},
want: "bar2",
},
{
name: "both OTEL_EXPORTER_OTLP_ENDPOINT and OTEL_EXPORTER_OTLP_TRACES_ENDPOINT",
envs: map[string]string{
"OTEL_EXPORTER_OTLP_ENDPOINT": "foo2",
"OTEL_EXPORTER_OTLP_TRACES_ENDPOINT": "bar2",
},
want: "bar2",
},
{
name: "both options and envs",
envs: map[string]string{
"OTEL_EXPORTER_OTLP_ENDPOINT": "foo2",
"OTEL_EXPORTER_OTLP_TRACES_ENDPOINT": "bar2",
},
options: []Option{
WithEndpointURL("http://test:8080/path"),
WithEndpoint("someendpoint"),
},
want: "someendpoint",
},
}

for _, tc := range testCases {
t.Run(tc.name, func(t *testing.T) {
for key, value := range tc.envs {
t.Setenv(key, value)
}

client := newClient(tc.options...)

assert.Equal(t, tc.want, client.endpoint)
})
}
}
10 changes: 6 additions & 4 deletions exporters/otlp/otlptrace/otlptracegrpc/options.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,9 @@ func WithInsecure() Option {
//
// If the OTEL_EXPORTER_OTLP_ENDPOINT or OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
// environment variable is set, and this option is not passed, that variable
// value will be used. If both are set, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
// will take precedence.
// value will be used. If both environment variable are set,
// OTEL_EXPORTER_OTLP_TRACES_ENDPOINT will take precedence. If the environment
// variable is set, and this option is passed, this option will take precedence.
//
// If both this option and WithEndpointURL are used, the last used option will
// take precedence.
Expand All @@ -79,8 +80,9 @@ func WithEndpoint(endpoint string) Option {
//
// If the OTEL_EXPORTER_OTLP_ENDPOINT or OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
// environment variable is set, and this option is not passed, that variable
// value will be used. If both are set, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT
// will take precedence.
// value will be used. If both environment variable are set,
// OTEL_EXPORTER_OTLP_TRACES_ENDPOINT will take precedence. If the environment
// variable is set, and this option is passed, this option will take precedence.
//
// If both this option and WithEndpoint are used, the last used option will
// take precedence.
Expand Down

0 comments on commit 1e06c72

Please sign in to comment.