Skip to content

Commit 6fbd6b1

Browse files
authored
Merge pull request #2442 from pandego/fix/2416-otel-schema-url
fix(otel): align service resource schema
2 parents aa8d245 + 067b100 commit 6fbd6b1

2 files changed

Lines changed: 23 additions & 9 deletions

File tree

cmd/root/otel.go

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,14 @@ import (
1212
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
1313
"go.opentelemetry.io/otel/sdk/resource"
1414
"go.opentelemetry.io/otel/sdk/trace"
15-
semconv "go.opentelemetry.io/otel/semconv/v1.37.0"
15+
semconv "go.opentelemetry.io/otel/semconv/v1.40.0"
1616
)
1717

1818
const AppName = "cagent"
1919

2020
// initOTelSDK initializes OpenTelemetry SDK with OTLP exporter
2121
func initOTelSDK(ctx context.Context) (err error) {
22-
res, err := resource.Merge(
23-
resource.Default(),
24-
resource.NewWithAttributes(
25-
semconv.SchemaURL,
26-
semconv.ServiceName(AppName),
27-
semconv.ServiceVersion("dev"), // TODO: use actual version
28-
),
29-
)
22+
res, err := newOTelResource()
3023
if err != nil {
3124
return fmt.Errorf("failed to create resource: %w", err)
3225
}
@@ -75,6 +68,17 @@ func initOTelSDK(ctx context.Context) (err error) {
7568
return nil
7669
}
7770

71+
func newOTelResource() (*resource.Resource, error) {
72+
return resource.Merge(
73+
resource.Default(),
74+
resource.NewWithAttributes(
75+
semconv.SchemaURL,
76+
semconv.ServiceName(AppName),
77+
semconv.ServiceVersion("dev"), // TODO: use actual version
78+
),
79+
)
80+
}
81+
7882
// isLocalhostEndpoint reports whether the given endpoint refers to a
7983
// loopback address so that we can safely skip TLS.
8084
func isLocalhostEndpoint(endpoint string) bool {

cmd/root/otel_test.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,18 @@ import (
44
"testing"
55

66
"github.com/stretchr/testify/assert"
7+
"github.com/stretchr/testify/require"
8+
semconv "go.opentelemetry.io/otel/semconv/v1.40.0"
79
)
810

11+
func TestNewOTelResourceUsesCurrentSchemaURL(t *testing.T) {
12+
t.Parallel()
13+
14+
res, err := newOTelResource()
15+
require.NoError(t, err)
16+
assert.Equal(t, semconv.SchemaURL, res.SchemaURL())
17+
}
18+
919
func TestIsLocalhostEndpoint(t *testing.T) {
1020
t.Parallel()
1121

0 commit comments

Comments
 (0)