1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2026-06-03 18:35:08 +02:00

Generate and upgrade to semconv/v1.41.0 (#8324)

Fix https://github.com/open-telemetry/opentelemetry-go/issues/8299

Relevant upstream v1.41.0 release notes:

> ### 🛑 Breaking changes 🛑
> 
> - `graphql`: Change `graphql.document` attribute requirement level
from Recommended to Opt-In due to sensitive data, cardinality, and size
concerns
([#2985](https://github.com/open-telemetry/semantic-conventions/issues/2985))
> - `process`: Move process.executable to its own entity.
([#3535](https://github.com/open-telemetry/semantic-conventions/issues/3535))
> - `process`: Update requirement levels for process attributes to
ensure consistent identification and description across platforms.
([#864](https://github.com/open-telemetry/semantic-conventions/issues/864))
> - `rpc`: Remove `client.address` and `client.port` attributes from RPC
server spans.
([#3487](https://github.com/open-telemetry/semantic-conventions/issues/3487),
[#3488](https://github.com/open-telemetry/semantic-conventions/issues/3488))
> 
> ### 💡 Enhancements 💡
> 
> - `Go`: Add opt-in go.memory.gc.pause.duration histogram metric.
([#3353](https://github.com/open-telemetry/semantic-conventions/issues/3353))
> - `deployment`: Stabilize `deployment.environment.name` attribute.
([#3339](https://github.com/open-telemetry/semantic-conventions/issues/3339))
> - `deployment`: Add enum values for `deployment.environment.name`
attribute.
([#2910](https://github.com/open-telemetry/semantic-conventions/issues/2910))
> - `go`: Add the go.cpu.time opt-in metric, and add
go.cpu.detailed_state and go.memory.detailed_type attributes to CPU and
memory metrics respectively with wildcard values.
([#3354](https://github.com/open-telemetry/semantic-conventions/issues/3354))
> - `go`: Add the opt-in go.memory.gc.cycles metric.
([#3353](https://github.com/open-telemetry/semantic-conventions/issues/3353))
> - `telemetry`: Promote `telemetry.distro.name` and
`telemetry.distro.version` attributes to 'stable'.
([#3650](https://github.com/open-telemetry/semantic-conventions/issues/3650))

This PR also:
- fixes semconv migration generation to ignore unexported declarations
when computing renames/removals
- upgrades repo imports, depguard, docs, templates, and schema URL
expectations to `go.opentelemetry.io/otel/semconv/v1.41.0`
- adds missing generated-file headers to semconvkit templates and
regenerates the affected `v1.41.0` files via `TAG="v1.41.0" make
semconv-generate`

---------

Co-authored-by: David Ashpole <dashpole@google.com>
This commit is contained in:
Tyler Yahn
2026-05-14 11:06:05 -07:00
committed by GitHub
parent c45d9a3301
commit 442cdbdd94
119 changed files with 65023 additions and 126 deletions
@@ -22,7 +22,7 @@ import (
"go.opentelemetry.io/otel/sdk/log"
"go.opentelemetry.io/otel/sdk/log/logtest"
"go.opentelemetry.io/otel/sdk/resource"
semconv "go.opentelemetry.io/otel/semconv/v1.40.0"
semconv "go.opentelemetry.io/otel/semconv/v1.41.0"
"go.opentelemetry.io/otel/trace"
)
@@ -18,7 +18,7 @@ import (
"google.golang.org/protobuf/proto"
"{{ .internalImportPath }}"
semconv "go.opentelemetry.io/otel/semconv/v1.40.0"
semconv "go.opentelemetry.io/otel/semconv/v1.41.0"
collpb "go.opentelemetry.io/proto/otlp/collector/metrics/v1"
cpb "go.opentelemetry.io/proto/otlp/common/v1"
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
@@ -17,7 +17,7 @@ import (
"go.opentelemetry.io/otel/sdk/instrumentation"
"go.opentelemetry.io/otel/sdk/metric/metricdata"
"go.opentelemetry.io/otel/sdk/resource"
semconv "go.opentelemetry.io/otel/semconv/v1.40.0"
semconv "go.opentelemetry.io/otel/semconv/v1.41.0"
cpb "go.opentelemetry.io/proto/otlp/common/v1"
mpb "go.opentelemetry.io/proto/otlp/metrics/v1"
rpb "go.opentelemetry.io/proto/otlp/resource/v1"
+6 -2
View File
@@ -245,13 +245,17 @@ func parse(d ast.Decl) []string {
var out []string
switch decl := d.(type) {
case *ast.FuncDecl:
out = []string{decl.Name.Name}
if decl.Name.IsExported() {
out = []string{decl.Name.Name}
}
case *ast.GenDecl:
if decl.Tok == token.CONST || decl.Tok == token.VAR {
for _, spec := range decl.Specs {
if valueSpec, ok := spec.(*ast.ValueSpec); ok {
for _, name := range valueSpec.Names {
out = append(out, name.Name)
if name.IsExported() {
out = append(out, name.Name)
}
}
}
}
+56
View File
@@ -0,0 +1,56 @@
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
package main
import (
"os"
"path/filepath"
"testing"
)
func TestNewMigrationIgnoresUnexportedDeclarations(t *testing.T) {
t.Parallel()
root := t.TempDir()
prev := filepath.Join(root, "v1.40.0")
cur := filepath.Join(root, "v1.41.0")
writeGoFile(t, prev, "semconv", `package semconv
func ErrorType(err error) {}
func DeploymentEnvironmentName(val string) {}
`)
writeGoFile(t, cur, "semconv", `package semconv
func ErrorType(err error) {}
func errorType(err error) {}
`)
m, err := newMigration(cur, prev)
if err != nil {
t.Fatalf("newMigration() error = %v", err)
}
if len(m.Renames) != 0 {
t.Fatalf("newMigration() renames = %#v, want none", m.Renames)
}
wantRemoval := []string{"DeploymentEnvironmentName"}
if len(m.Removals) != len(wantRemoval) || m.Removals[0] != wantRemoval[0] {
t.Fatalf("newMigration() removals = %#v, want %#v", m.Removals, wantRemoval)
}
}
func writeGoFile(t *testing.T, dir, pkg, src string) {
t.Helper()
if err := os.MkdirAll(dir, 0o755); err != nil {
t.Fatalf("MkdirAll(%q) error = %v", dir, err)
}
path := filepath.Join(dir, "decls.go")
if err := os.WriteFile(path, []byte(src), 0o644); err != nil {
t.Fatalf("WriteFile(%q) error = %v", path, err)
}
}
@@ -1,3 +1,5 @@
// Code generated from semantic convention specification. DO NOT EDIT.
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,5 @@
// Code generated from semantic convention specification. DO NOT EDIT.
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,5 @@
// Code generated from semantic convention specification. DO NOT EDIT.
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,5 @@
// Code generated from semantic convention specification. DO NOT EDIT.
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0
@@ -1,3 +1,5 @@
// Code generated from semantic convention specification. DO NOT EDIT.
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0