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

138 Commits

Author SHA1 Message Date
David Ashpole fe35606998 Update semconv template and 1.40.0 to use Enabled for metrics (#8172)
Part of https://github.com/open-telemetry/opentelemetry-go/issues/7800

This adds Enabled checks to the generated semconv metric instruments. I
also opted to regenerate the 1.40.0 conventions given this is not a
behavioral change.

While implementing it, I did get the sense that this _should_ be
redundant. Callers should be checking Enabled before making these calls
because they should avoid building attribute sets. But it does still
make sense to have this as a fallback for cases where callers haven't
done that.

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-04-13 09:31:43 -04:00
Robert Pająk 1519eb8c33 attribute: Set.MarshalLog to use Value.String instead of Value.Emit (#8169)
Towards https://github.com/open-telemetry/opentelemetry-go/issues/8145
2026-04-10 15:11:31 +02:00
Robert Pająk 3b18b21580 unwrap error chains created with fmt.Errorf (#8133)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7975

Per
https://github.com/open-telemetry/opentelemetry-go/issues/7975#issuecomment-4183251694

Per https://github.com/open-telemetry/semantic-conventions/issues/3588

Credits:
- Balaji01-4D for
https://github.com/open-telemetry/opentelemetry-go/pull/8018
- seh for providing valuable feedback
2026-04-07 20:03:30 +02:00
Matthieu MOREL e9449e3b34 chore: fix noctx issues (#8008)
***Description***

Fixes
[noctx](https://golangci-lint.run/docs/linters/configuration/#noctx)
issues and enables the linter

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-03-23 14:28:38 +01:00
Tyler Yahn a7624f50f7 Fix semconv generated error type to check error chain for custom type declaration (#7994)
Fix `ErrorType` detection to work through wrapped error chains.

`errorType` previously only checked whether the top-level error value
implemented `ErrorType() string`. In common Go usage, errors are often
wrapped, so this could miss `ErrorType` implementations behind wrappers.
2026-03-04 15:57:57 +01:00
Tyler Yahn b2b3250897 Semconv metric helper caller-slice mutation fix (#7993)
This PR addresses issue #7987 (issue (1)): generated semconv metric
helpers should not risk mutating caller-provided `attrs` backing arrays
when required attributes are appended.

Update the generator logic to merge required-attribute using capacity
clamping before append:

```
append(attrs[:len(attrs):len(attrs)], requiredAttrs...)
```

This guarantees append allocates a new backing array for the merged
slice instead of writing into caller memory when there are attributes
appended. It makes not allocations in the case attributes are not
appended.
2026-03-04 15:49:49 +01:00
Victor edba765831 fix: generated semconv helpers skipping attributes (#7964)
This is related to issue #7938.

### The Bug

Semconv code generator Jinja2 template (instrument.j2) had an early
return optimization that skipped required attributes when no extra
optional attributes were passed.

The root cause seemed to be two macros in
semconv/templates/registry/go/instrument.j2:
  - add_method_with_optional (for counters/updowncounters)
  - record_method_with_optional (for histograms/gauges)

Both had `if len(attrs) == 0 { m.Inst.Add(ctx, incr); return }`, which
bypassed required attributes entirely.

### The Fix
I added a conditional check to verify when required attributes exist
`(req_attr | length > 0)`, the early return now passes them via
metric.WithAttributes(...). When there are no required attributes, the
original fast path is preserved.

I also regenerated the semconv `v1.39.0`, but if thats not desired due
to existing clients, let me know. It is my first time contributing here
and any feedback is appreciated!

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2026-03-04 14:20:36 +01:00
Tyler Yahn e2305d228b Regenerate semconv/v1.40.0/MIGRATION.md (#7992)
It is not clear how the original was generated, but this is generated
with the tooling from `main`.
2026-03-04 13:50:11 +01:00
Tyler Yahn 5dee2eb2dc Revert "Revert "Generate semconv/v1.40.0"" (#7985)
Reverts open-telemetry/opentelemetry-go#7978
2026-03-03 07:32:17 +01:00
Damien Mathieu 0d50f9008c Revert "Generate semconv/v1.40.0" (#7978)
Reverts open-telemetry/opentelemetry-go#7929
2026-03-02 11:06:31 +01:00
Christos Markou c38a4a57c3 Generate semconv/v1.40.0 (#7929)
Similar to https://github.com/open-telemetry/opentelemetry-go/pull/7783
for semconv/v1.40.0:
https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.40.0

---------

Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
2026-03-02 10:54:57 +01:00
Oleksandr Redko 3264bf171b refactor: modernize code (#7850)
Enable the
[`modernize`](https://golangci-lint.run/docs/linters/configuration/#modernize)
linter in the golangci-lint configuration and fix the reported issues by
running `golangci-lint run --enable-only modernize --fix`. The
`modernize` linter is internally the same as [gopls
modernize](https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/modernize).

Similar to #7089.
2026-01-30 18:15:17 +01:00
Christos Markou f809f7d71e Generate semconv/v1.39.0 (#7783)
Towards https://github.com/open-telemetry/opentelemetry-go/issues/7784

Similar to https://github.com/open-telemetry/opentelemetry-go/pull/7648
for semconv/v1.39.0:
https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.39.0

---------

Signed-off-by: ChrsMark <chrismarkou92@gmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2026-01-15 14:43:11 +01:00
Tyler Yahn 1bc9713ac6 Regenerate ErrorType documentation in semconv/v1.37.0 (#7667)
The template was updated in #7442 but the code was not regenerated.

Also, fix the comment to not include the unneeded newline that is
failing lint checks.
2025-12-05 09:49:26 -08:00
Tyler Yahn 5a692cf680 Fix whitespace in semconv/v1.33.0 (#7665)
- Replace spaces with tabs
- Include a newline at the end of the file
2025-12-05 09:19:40 -08:00
Tyler Yahn 4eff89b333 Fix whitespace in semconv/v1.32.0 (#7666)
Replace spaces with tabs
Include a newline at the end of the file
2025-12-05 09:12:13 -08:00
Tyler Yahn d1825df1c4 Fix whitespace in semconv/v1.36.0 (#7663)
- Replace spaces with tabs
- Include a newline at the end of the file
2025-12-05 09:01:51 -08:00
Tyler Yahn ddc307d229 Fix package name documentation and missing copyright in semconv/v1.32.0 (#7659)
Identified in the review of #7648
2025-12-05 08:53:05 -08:00
Tyler Yahn 3e85447b6f Fix whitespace in semconv/v1.34.0 (#7664)
- Replace spaces with tabs
- Include a newline at the end of the file
2025-12-05 08:44:58 -08:00
Tyler Yahn a64b9ec518 Fix package documentation name and return error in semconv/v1.36.0 (#7656)
Identified in the review of #7648
2025-12-05 08:18:09 -08:00
Tyler Yahn be85ff8704 Fix whitespace in semconv/v1.37.0 (#7660)
- Replace spaces with tabs
- Include a newline at the end of the file
2025-12-05 08:10:13 -08:00
Tyler Yahn cddeb68814 Fix package name documentation and missing copyright in semconv/v1.34.0 (#7657)
Identified in the review of
https://github.com/open-telemetry/opentelemetry-go/pull/7648
2025-12-05 08:00:46 -08:00
Tyler Yahn 365964822b Fix package name documentation and missing copyright in semconv/v1.33.0 (#7658)
Identified in the review of #7648
2025-12-05 07:53:07 -08:00
Tyler Yahn e69beb88b5 Fix package documentation name and return err in semconv/v1.37.0 (#7655)
Identified in the review of #7648
2025-12-05 07:38:48 -08:00
Tyler Yahn 6af2f2ff67 Generate semconv/v1.38.0 (#7648)
Resolve #7647
2025-12-03 19:55:44 -08:00
Tyler Yahn c4bdd87543 Support custom error type semantics (#7442)
Allow instrumentation to provide domain-specific error type values (i.e.
HTTP or gRPC status codes) for the "error.type" semantic attribute. This
is accomplished by passing an error value that implements the
`interface{ ErrorType string }` interface.

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2025-10-03 15:39:35 -07:00
Tyler Yahn 3baabce4c6 Do not allocate instrument options if possible in generated semconv packages (#7328)
Avoid allocating instrument creation option if possible. If a user does
not provide any options, use a static, read-only, file-level defined
option slice. Otherwise, append to the user allocated slice the
description and unit options.
2025-09-09 12:21:48 -07:00
renovate[bot] 83c041a6cd chore(deps): update module mvdan.cc/gofumpt to v0.9.0 (#7292)
This PR contains the following updates:

| Package | Change | Age | Confidence |
|---|---|---|---|
| [mvdan.cc/gofumpt](https://redirect.github.com/mvdan/gofumpt) |
`v0.8.0` -> `v0.9.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/mvdan.cc%2fgofumpt/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/mvdan.cc%2fgofumpt/v0.8.0/v0.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>mvdan/gofumpt (mvdan.cc/gofumpt)</summary>

###
[`v0.9.0`](https://redirect.github.com/mvdan/gofumpt/blob/HEAD/CHANGELOG.md#v090---2025-09-02)

[Compare
Source](https://redirect.github.com/mvdan/gofumpt/compare/v0.8.0...v0.9.0)

This release is based on Go 1.25's gofmt, and requires Go 1.24 or later.

A new rule is introduced to "clothe" naked returns for the sake of
clarity.
While there is nothing wrong with naming results in function signatures,
using lone `return` statements can be confusing to the reader.

Go 1.25's `ignore` directives in `go.mod` files are now obeyed;
any directories within the module matching any of the patterns
are now omitted when walking directories, such as with `gofumpt -w .`.

Module information is now loaded via Go's [`x/mod/modfile`
package](https://pkg.go.dev/golang.org/x/mod/modfile)
rather than executing `go mod edit -json`, which is way faster.
This should result in moderate speed-ups when formatting many
directories.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/open-telemetry/opentelemetry-go).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS45MS4xIiwidXBkYXRlZEluVmVyIjoiNDEuOTEuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiU2tpcCBDaGFuZ2Vsb2ciLCJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: dmathieu <damien.mathieu@elastic.co>
2025-09-03 10:18:12 +02:00
Tyler Yahn 3342341f15 Generate the semconv/v1.37.0 packages (#7254)
Resolve #7252
2025-08-27 13:24:07 +02:00
Tyler Yahn 0b47699705 Add AddSet and RecordSet methods to semconv generated packages (#7223)
The current design of the packages is for ergonomics, and it works well
at this. However, it is not the most performant. When a user passes a
slice of attributes it will use
[`metric.WithAttributes`](https://github.com/open-telemetry/opentelemetry-go/blob/cf787f3e3ad0093985b0834eaf63ceb679705545/metric/instrument.go#L372-L376):

```go
func WithAttributes(attributes ...attribute.KeyValue) MeasurementOption {
	cp := make([]attribute.KeyValue, len(attributes))
	copy(cp, attributes)
	return attrOpt{set: attribute.NewSet(cp...)}
}
```

This will copy the passed attributes and then pass that copy to
`attribute.NewSet` which adds its own allocation.

If a user is performance conscious and already have a set, allow them to
pass it directly and reduce the required allocations for the measurement
call.

## Alternatives Considered

### Why not allow users to just use `Inst()` method?

With the current design a user can still just call:

```go
counter.Inst().Add(ctx, val, metric.WithAttributeSet(set))
```

However, the option slice (in this case `[]metric.AddOption`) is
allocated on the call. Meaning a user will also need to recreate the
pooling that our semconv generated packages already handle.

Providing the `*Set` methods is convenient, but it also helps the
application performance as one larger pool will be less strain on the GC
than many smaller ones.

### Why not just call `WithAttributeSet` in the existing methods?

Instead of appending a `WithAttributes` option internal to all the
measurement methods, we could also just create a `Set` and pass that
with `WithAttributeSet`. This will avoid the additional slice copy that
`WithAttributes` does on top of calling `attribute.NewSet`.

However, this copy that `WithAttributes` does is important as calling
`attribute.NewSet` will sort the original slice. Bypassing that will
mean all the passed attribute slices will be modified when used.

This is not great as it is likely going to be unexpected behavior by the
user, and is the reason we copy the slice in `WithAttributes` in the
first place.

### Why not just copy user attributes to an amortized slice pool to
create a new `attribute.Set`?

The additional creation of an `[]attribute.KeyValue` that user
attributes are copied to in order to prevent modification can be
amortized with a pool. For example, #7249. There shouldn't be any
difference than between calling a `*Set` method introduced here vs the
non-`Set` method.

This is true, and motivates this type of change. However, also providing
these additional methods allows the user additional performance gains if
the set is used for more than one measurement. For example:

```go
set := attributes.NewSet(attrs)
counter1.AddSet(ctx, 1, set)
counter2.AddSet(ctx, 2, set)  // No additional set is created here.
```

Without these methods:

```go
counter1.Add(ctx, 1, attrs...) // A set is created for attrs
counter2.Add(ctx, 2, attrs...) // Another set is created for attrs
```

Each `attribute.Set` created will require an allocation (i.e. the
internal `any` field needs to be allocated to the heap). Meaning without
these methods a user will still not be able to write the most performant
code.

The attribute pool approach has merit, and should be pursued. However,
it does not invalidate the value of these changes.
2025-08-26 09:20:45 -07:00
Tyler Yahn 45bb4ba720 Add copyright header to generated semconv packages (#7248) 2025-08-26 08:20:56 +02:00
Tyler Yahn ebd324842f Return early in semconv generated packages if no attributes passed (#7222)
- Reduces unnecessary allocations for empty attribute
- Fixes case where we were double recording for `Record` methods
2025-08-25 16:20:11 +02:00
Tyler Yahn e7fa5ba72f Fix CPUModeSystem variable name (#7233)
Do not trim a package prefix when it is the same as the package name.
Assume the name itself has semantic meaning and will not stutter.

Fix #7232
2025-08-25 16:06:50 +02:00
Tyler Yahn be28c6bc8f Wrap Float64ObservableCounter with system.CPUTime (#7235)
Fix #7234 

Addresses revert of [`cpu` to `system`
namespace](https://github.com/open-telemetry/semantic-conventions/pull/1896)
in semantic conventions.
2025-08-25 15:51:01 +02:00
Tyler Yahn 3cf53ccf5d Upgrade semconv gen to weaver v0.17.0 (#7172)
- Remove temporary fix to filter out deprecated metrics (addressed in
https://github.com/open-telemetry/weaver/pull/870)
- Handle empty briefs gracefully
- Handle empty attributes gracefully
- Regenerate v1.36.0 semconv to fix docs

[Weaver v0.17.0
release](https://github.com/open-telemetry/weaver/releases/tag/v0.17.0)

Follow up to #7163

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2025-08-12 08:59:23 +02:00
Matthieu MOREL 68841fa6db chore: enable unused-receiver rule from revive (#7130)
#### Description

Enable and fixes
[unused-receiver](https://github.com/mgechev/revive/blob/HEAD/RULES_DESCRIPTIONS.md#unused-receiver)
rule from revive

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
2025-08-08 15:38:22 -07:00
Matthieu MOREL 1bae8f7347 chore: enable extra-rules from gofumpt (#7114)
#### Description

Enable extra rules from
[gofumpt](https://golangci-lint.run/usage/formatters/#gofumpt) that also
fixes paramTypeCombine from go-critic

Also defines `go.opentelemetry.io/otel` as in
https://github.com/open-telemetry/opentelemetry-go-contrib/pull/7637

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2025-08-03 08:24:33 -07:00
Matthieu MOREL 982391315f chore: enable gocritic linter (#7095)
#### Description

Enable and fixes several rules from
[gocritic](https://golangci-lint.run/usage/linters/#gocritic) linter

---------

Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2025-07-29 09:20:32 -07:00
Mikhail Mazurskiy 5e1c62a2d5 Modernize (#7089)
Use
https://pkg.go.dev/golang.org/x/tools/gopls/internal/analysis/modernize
to update code to new style.

---------

Co-authored-by: Flc゛ <four_leaf_clover@foxmail.com>
Co-authored-by: Damien Mathieu <42@dmathieu.com>
2025-07-29 10:19:11 +02:00
David Ashpole 6d9dfea837 Change generated semconv sdk queue metrics to observable (#7041)
And regenerate v1.36.0 semconv using `TAG=v1.36.0 make semconv-generate`

Fixes https://github.com/open-telemetry/opentelemetry-go/issues/7029
2025-07-17 18:20:51 +02:00
Tyler Yahn 5e212ba8c6 Generate semconv/v1.36.0 (#7032)
Resolve #7030 

This generation fixes the following:

- The `semconv/weaver.yaml` file is moved to the
`semconv/templates/registry/go` to [fix the
generation](https://github.com/open-telemetry/opentelemetry-go/issues/7030#issuecomment-3074916061).
- Deprecated enum `var`s are no longer generate.
- The deprecation of the previous `OSTypeZOS` (`z_os`) conflicts with
the replacement (`zos`).
- This matches all other generations where deprecated types are not
generated and the migration docs identify users need to upgrade when
upgrading packages.
- Fix metric description rendering to handle multi-line metric
descriptions.
- Fix filter of deprecated metrics in weaver configuration (see
https://github.com/open-telemetry/weaver/issues/847).

The release notes for v1.35.0 are included as we do not plan to add a
package for that release and it includes breaking changes being released
here (i.e. `az.namespace` and `az.service_request_id`)

## [`v1.36.0` semantic convention release
notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.36.0)

<div data-pjax="true" data-test-selector="body-content"
data-view-component="true" class="markdown-body my-3"><h3>🚩 Deprecations
🚩</h3>
<ul>
<li><code>os</code>: Adds the 'deprecated:' tag/attribute to the
<code>z_os</code> enum value of <code>os.type</code>. This value was
recently deprecated in v1.35.0. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2479"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2479/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2479</a>)</li>
</ul>
<h3>💡 Enhancements 💡</h3>
<ul>
<li><code>otel</code>: Replaces <code>otel.sdk.span.ended</code> with
<code>otel.sdk.span.started</code> and allow differentiation based on
the parent span origin (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2431"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2431/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2431</a>)</li>
<li><code>db</code>: Add database context propagation via <code>SET
CONTEXT_INFO</code> for SQL Server (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2162"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2162/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2162</a>)</li>
<li><code>entities</code>: Adds support for Entity registry and Entity
stabilization policies. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2246"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2246/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2246</a>)</li>
</ul>
<h3>🧰 Bug fixes 🧰</h3>
<ul>
<li><code>cloud</code>: Exclude deprecated Azure members from code
generation on the <code>cloud.platform</code> attribute (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2477"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2477/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2477</a>, <a
href="https://github.com/open-telemetry/semantic-conventions/issues/2455"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2455/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2455</a>)</li>
</ul>

## [`v1.35.0` semantic convention release
notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.35.0)

<div data-pjax="true" data-test-selector="body-content"
data-view-component="true" class="markdown-body my-3"><h3>🛑 Breaking
changes 🛑</h3>
<ul>
<li>
<p><code>azure</code>: Align azure events, attributes, and enum members
with general naming guidelines. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/608"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/608/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#608</a>, <a
href="https://github.com/open-telemetry/semantic-conventions/issues/1708"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1708/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1708</a>, <a
href="https://github.com/open-telemetry/semantic-conventions/issues/1698"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1698/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1698</a>)</p>
<ul>
<li>Renamed attributes:
<ul>
<li><code>az.service_request_id</code> to
<code>azure.service.request.id</code></li>
<li><code>az.namespace</code> to
<code>azure.resource_provider.namespace</code></li>
</ul>
</li>
<li>Renamed events:
<ul>
<li><code>az.resource.log</code> to <code>azure.resource.log</code></li>
</ul>
</li>
<li>Renamed enum members:
<ul>
<li><code>az.ai.inference</code> to <code>azure.ai.inference</code> (on
<code>gen_ai.system</code>)</li>
<li><code>az.ai.openai</code> to <code>azure.ai.openai</code> (on
<code>gen_ai.system</code>)</li>
<li><code>azure_aks</code> to <code>azure.aks</code> (on
<code>cloud.platform</code>)</li>
<li><code>azure_app_service</code> to <code>azure.app_service</code> (on
<code>cloud.platform</code>)</li>
<li><code>azure_container_apps</code> to
<code>azure.container_apps</code> (on <code>cloud.platform</code>)</li>
<li><code>azure_container_instances</code> to
<code>azure.container_instances</code> (on
<code>cloud.platform</code>)</li>
<li><code>azure_functions</code> to <code>azure.functions</code> (on
<code>cloud.platform</code>)</li>
<li><code>azure_openshift</code> to <code>azure.open_shift</code> (on
<code>cloud.platform</code>)</li>
<li><code>azure_vm</code> to <code>azure.vm</code> (on
<code>cloud.platform</code>)</li>
</ul>
</li>
</ul>
</li>
<li>
<p><code>system</code>: Revert the change that moved
<code>system.cpu.*</code> to <code>cpu.*</code>. The 3 affected metrics
are back in <code>system.cpu.*</code>. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1873"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1873/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1873</a>)</p>
</li>
<li>
<p><code>system</code>: Changes system.network.connections to
system.network.connection.count (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1800"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1800/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1800</a>)</p>
</li>
<li>
<p><code>k8s</code>: Change instrument type for .limit/.request
container metrics from gauge to updowncounter (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2354"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2354/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2354</a>)</p>
</li>
</ul>
<h3>🚩 Deprecations 🚩</h3>
<ul>
<li><code>os</code>: Deprecate os.type='z_os' and replace with
os.type='zos' (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1687"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1687/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1687</a>)</li>
</ul>
<h3>🚀 New components 🚀</h3>
<ul>
<li><code>mainframe, zos</code>: Add initial semantic conventions for
mainframes (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1687"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1687/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1687</a>)</li>
</ul>
<h3>💡 Enhancements 💡</h3>
<ul>
<li>
<p><code>dotnet</code>: Define .NET-specific network spans for DNS
resolution, TLS handshake, and socket connections, along with HTTP-level
spans to (optionally) record relationships between HTTP requests and
connections.<br>
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1192"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1192/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1192</a>)</p>
</li>
<li>
<p><code>k8s</code>: Add <code>k8s.node.allocatable.cpu</code>,
<code>k8s.node.allocatable.ephemeral_storage</code>,
<code>k8s.node.allocatable.memory</code>,
<code>k8s.node.allocatable.pods</code> metrics (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2243"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2243/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2243</a>)</p>
</li>
<li>
<p><code>k8s</code>: Add k8s.container.restart.count metric (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2191"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2191/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2191</a>)</p>
</li>
<li>
<p><code>k8s</code>: Add K8s container resource related metrics (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2074"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2074/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2074</a>)</p>
</li>
<li>
<p><code>k8s</code>: Add k8s.container.ready metric (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2074"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2074/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2074</a>)</p>
</li>
<li>
<p><code>k8s</code>: Add k8s.node.condition metric (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2077"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2077/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2077</a>)</p>
</li>
<li>
<p><code>k8s</code>: Add k8s resource quota metrics (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2076"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2076/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2076</a>)</p>
</li>
<li>
<p><code>events</code>: Update general event guidance to allow complex
attributes on events and use them instead of the body fields.<br>
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1651"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1651/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1651</a>, <a
href="https://github.com/open-telemetry/semantic-conventions/issues/1669"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1669/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1669</a>)</p>
</li>
<li>
<p><code>k8s</code>: Add k8s.container.status.state and
k8s.container.status.reason metrics (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1672"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1672/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#1672</a>)</p>
</li>
<li>
<p><code>feature_flags</code>: Mark feature flag semantic convention as
release candidate. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2277"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2277/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2277</a>)</p>
</li>
<li>
<p><code>k8s</code>: Add new resource attributes for
<code>k8s.hpa</code> to capture the <code>scaleTargetRef</code> fields
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2008"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2008/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2008</a>)<br>
Adds below attributes to the <code>k8s.hpa</code> resource:</p>
<ul>
<li><code>k8s.hpa.scaletargetref.kind</code></li>
<li><code>k8s.hpa.scaletargetref.name</code></li>
<li><code>k8s.hpa.scaletargetref.api_version</code></li>
</ul>
</li>
<li>
<p><code>k8s</code>: Adds metrics and attributes to track k8s HPA's
metric target values for CPU resources. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2182"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2182/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2182</a>)<br>
Below metrics are introduced to provide insight into HPA scaling
configuration for CPU.</p>
<ul>
<li><code>k8s.hpa.metric.target.cpu.value</code></li>
<li><code>k8s.hpa.metric.target.cpu.average_value</code></li>
<li><code>k8s.hpa.metric.target.cpu.average_utilization</code></li>
</ul>
</li>
<li>
<p><code>k8s</code>: Explains the rationale behind the Kubernetes
resource naming convention. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2245"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2245/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2245</a>)</p>
</li>
<li>
<p><code>all</code>: Adds modelling guide for resource and entity. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2246"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2246/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2246</a>)</p>
</li>
<li>
<p><code>service</code>: Adds stability policies for Entity groups. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2378"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2378/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2378</a>)<br>
Entity groups now require <code>role</code> to be filled for
attributes.</p>
</li>
<li>
<p><code>otel</code>: Specifies component.type values for Zipkin and
Prometheus exporters (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2229"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2229/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2229</a>)</p>
</li>
</ul>
<h3>🧰 Bug fixes 🧰</h3>
<ul>
<li><code>otel</code>: Removes <code>otel.scope</code> entity. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2310"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2310/hovercard"
aria-keyshortcuts="Alt+ArrowUp">#2310</a>)</li>
</ul>
2025-07-16 13:33:34 -07:00
Matouš Dzivjak c4b8e9124e chore(semconv): follow weaver folder structure (#6998)
(this PR is a suggestion, feel free to close if it doesn't align with
the vision for this repo)

Moves jinja templates for semantic conventions from the root of
`semconv/` into `semconv/templates/registry/go/`, making them easier to
consume. While this wasn't impeding development in `opentelemetry-go` it
makes it easier to consume the templates from other packages via:

```bash
weaver registry generate --templates https://github.com/open-telemetry/opentelemetry-go.git[semconv/templates] go .
```

which was previously impossible. Specific use-case would be using
[weaver](https://github.com/open-telemetry/weaver) to maintain private
registry of semantic conventions for companies/projects in which case
it's more convenient to be able to rely on the upstream opentelemetry-go
templates as opposed to having to copy them over.

Tested by running:

```bash
TAG='v1.34.0' make semconv-generate
```

which results into empty diff.

## Open questions

Does the changelog deserve an entry for this even without changes to the
API?

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2025-07-14 07:24:33 -07:00
Bəxtiyar 687c3f5fb5 semconv: add ErrorType attribute function (#6962)
Closes #6904 

This PR adds a helper method to semconv package to set ErrorType
attribute easily.

---------

Co-authored-by: Damien Mathieu <42@dmathieu.com>
Co-authored-by: Robert Pająk <pellared@hotmail.com>
Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com>
2025-07-10 09:45:44 +02:00
Tyler Yahn 1ab60d0911 Render semconv template attributes (#6939)
Resolve #6934
2025-06-30 09:32:44 +02:00
Tyler Yahn e25861aa7b Fix semconv instrument types (#6837)
- The instrument type for `goconv.MemoryUsed` need to be an
`Int64ObservableUpDownCounter`, not an `Int64ObservableCounter`
[according to semantic
conventions](https://github.com/open-telemetry/semantic-conventions/blob/ca0c5ada95e73abc2f741832ca56c46ce08e47d4/docs/runtime/go-metrics.md#metric-gomemoryused)
- The instrument type for `systemconv.MemoryUsage` need to be an
`Int64ObservableUpDownCounter`, not an `Int64ObservableGauge` [according
to semantic
conventions](https://github.com/open-telemetry/semantic-conventions/blob/ca0c5ada95e73abc2f741832ca56c46ce08e47d4/docs/system/system-metrics.md#metric-systemmemoryusage)

All other [metric instrument type
overrides](https://github.com/open-telemetry/opentelemetry-go/blob/6e90db55cac7ed4afea8a275d4af2a786ca8483c/semconv/weaver.yaml#L70-L83)
have be verified.
2025-05-28 11:25:40 -07:00
Tyler Yahn 3d0e98e4fd Add migration doc generation to semconvgen (#6819)
Fix #6248
2025-05-28 08:25:12 -07:00
Tyler Yahn e587b1884f Semconv v1.34.0 (#6812)
Resolve #6811 
Resolve #6691

No migration documentation is added. This does not contain any breaking
changes between v1.34.0 and v1.33.0 for the Go API.

## [`v1.34.0` semantic convention release
notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.34.0):

<h3>🛑 Breaking changes 🛑</h3>
<ul>
<li>
<p><code>all</code>: Convert deprecated text to structured format. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2047"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2047/hovercard">#2047</a>)<br>
This is a breaking change from the schema perspective, but does not
change anything for instrumentations or the end users. It breaks
compatibility with the (old) <a
href="https://github.com/open-telemetry/build-tools/issues/322"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/build-tools/issues/322/hovercard">code
generation tooling</a>. Please use <a
href="https://github.com/open-telemetry/weaver">weaver</a> to generate
Semantic Conventions markdown or code.</p>
</li>
<li>
<p><code>feature_flag</code>: Move the evaluated value from the event
body to attributes (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1990"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1990/hovercard">#1990</a>)</p>
</li>
<li>
<p><code>process</code>: Require sensitive data sanitization for
<code>process.command_args</code> and <code>process.command_line</code>
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/626"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/626/hovercard">#626</a>)</p>
</li>
</ul>
<h3>💡 Enhancements 💡</h3>
<ul>
<li><code>docs</code>: Document system-specific naming conventions (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/608"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/608/hovercard">#608</a>,
<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1494"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1494/hovercard">#1494</a>,
<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1708"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1708/hovercard">#1708</a>)</li>
<li><code>gen-ai</code>: Add <code>gen_ai.conversation.id</code>
attribute (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2024"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2024/hovercard">#2024</a>)</li>
<li><code>all</code>: Renames all <code>resource.*</code> groups to be
<code>entity.*</code> (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2244"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2244/hovercard">#2244</a>)<br>
Part of <a class="issue-link js-issue-link" data-error-text="Failed to
load title" data-id="2885075816" data-permission-text="Title is private"
data-url="https://github.com/open-telemetry/opentelemetry-specification/issues/4436"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/opentelemetry-specification/issues/4436/hovercard"
href="https://github.com/open-telemetry/opentelemetry-specification/issues/4436">open-telemetry/opentelemetry-specification#4436</a></li>
<li><code>aws</code>: Added new AWS attributes for various services
including SQS, SNS, Bedrock, Step Functions, Secrets Manager and Kineses
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1794"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1794/hovercard">#1794</a>)</li>
<li><code>cloud</code>: Broaden <code>cloud.region</code> definition to
explicitly cover both resource location and targeted destination. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2142"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2142/hovercard">#2142</a>)</li>
<li><code>network</code>: Stabilize <code>network.transport</code> enum
value <code>quic</code>. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2275"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2275/hovercard">#2275</a>)</li>
</ul>
<h3>🧰 Bug fixes 🧰</h3>
<ul>
<li><code>db</code>: Fix the <code>db.system.name</code> attribute value
for MySQL which was incorrectly pointing to
<code>microsoft.sql_server</code>. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2276"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2276/hovercard">#2276</a>)</li>
</ul>
2025-05-23 13:19:20 -07:00
Tyler Yahn 3dbeacaa58 Generate semconv/v1.33.0 (#6799)
- Generate the new `semconv/v1.33.0` package and all sub-packages
- Fix the metric util package generation to support `int64` attribute
definitions

## [`v1.33.0` semantic convention release
notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.33.0):

<div data-pjax="true" data-test-selector="body-content"
data-view-component="true" class="markdown-body my-3"><p>This release
marks the first where the core of database semantic conventions have
stabilized.</p>
<h3>🛑 Breaking changes 🛑</h3>
<ul>
<li><code>db</code>: Add <code>db.query.parameter</code>, replace
relevant usages of <code>db.operation.parameter</code> (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2093"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2093/hovercard">#2093</a>)</li>
<li><code>db</code>: Make <code>db.response.returned_rows</code> opt-in
on <code>release_candidate</code> spans (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2211"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2211/hovercard">#2211</a>)</li>
<li><code>db</code>: Use <code>|</code> as the separator when
<code>db.namespace</code> is a concatenation of multiple components. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2067"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2067/hovercard">#2067</a>)</li>
<li><code>feature_flag</code>: Rename
<code>feature_flag.provider_name</code> to
<code>feature_flag.provider.name</code> (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1982"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1982/hovercard">#1982</a>)</li>
<li><code>feature_flag</code>: Use generic <code>error.message</code> in
feature flag evaluation event (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1994"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1994/hovercard">#1994</a>)</li>
<li><code>gen-ai</code>: Refine the values for
<code>gen_ai.system</code> related to Google's AI endpoints. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1950"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1950/hovercard">#1950</a>)<br>
Enable sharing of attributes between Vertex AI and Gemini through a
common prefix.</li>
<li><code>k8s</code>: Make k8s Node and Pod labels optional (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2079"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2079/hovercard">#2079</a>)</li>
<li><code>otel</code>: Rename span health metrics to remove the .count
suffixes (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1979"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1979/hovercard">#1979</a>)</li>
</ul>
<h3>🚀 New components 🚀</h3>
<ul>
<li><code>db</code>: Adding semantic conventions for
<code>oracledb</code> instrumentations. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2612">#2612</a>)<br>
Oracle Database semantic conventions.</li>
<li><code>browser</code>: Add browser web vitals event. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1940"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1940/hovercard">#1940</a>)</li>
</ul>
<h3>💡 Enhancements 💡</h3>
<ul>
<li><code>cicd</code>: Add resource conventions for CICD systems and
define spans for CICD pipeline runs. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1713"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1713/hovercard">#1713</a>)<br>
Define spans <code>cicd.pipeline.run.server</code> and
<code>cicd.pipeline.task.internal</code>.<br>
Add <code>cicd.pipeline.action.name</code>, <code>cicd.worker.id</code>,
<code>cicd.worker.name</code>, <code>cicd.worker.url.full</code>
and<code>cicd.pipeline.task.run.result</code> to attribute registry.<br>
Define resources <code>cicd.pipeline</code>,
<code>cicd.pipeline.run</code> and <code>cicd.worker</code>.<br>
Add entity associations in cicd metrics for these new cicd
resources.</li>
<li><code>vcs</code>: Add resource conventions for VCS systems and VCS
references. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1713"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1713/hovercard">#1713</a>)<br>
Define resources <code>vcs.repo</code> and <code>vcs.ref</code>.<br>
Add entity associations in vcs metrics for these new vcs resources.</li>
<li><code>gen-ai</code>: Adding span for invoke agent (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1842"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1842/hovercard">#1842</a>)</li>
<li><code>gen-ai</code>: Adding gen_ai.tool.description to the span
attributes (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2087"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2087/hovercard">#2087</a>)</li>
<li><code>gen-ai</code>: Separate inference and embeddings span
definitions, remove irrelevant attributes from the create agent span.
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1924"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1924/hovercard">#1924</a>,
<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2122"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2122/hovercard">#2122</a>)</li>
<li><code>general</code>: Provide guidance on modeling lat/lon, x/y, etc
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2145"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2145/hovercard">#2145</a>)</li>
<li><code>db</code>: Move <code>db.query.parameter.&lt;key&gt;</code>
from release_candidate back to development. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2194"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2194/hovercard">#2194</a>)</li>
<li><code>db</code>: Mark database semantic conventions as stable for
MariaDB, Microsoft SQL Server, MySQL, and PostgreSQL. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2199"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2199/hovercard">#2199</a>)</li>
<li><code>db</code>: Make <code>db.operation.name</code> required where
it's available, add recommendation for instrumentation point. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2200"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2200/hovercard">#2200</a>,
<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2098"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2098/hovercard">#2098</a>)</li>
<li><code>db</code>: Add <code>db.stored_procedure.name</code> to the
general span conventions (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2205"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2205/hovercard">#2205</a>)</li>
<li><code>db</code>: Add an option to generate
<code>db.query.summary</code> from operation name and target, remove it
from CosmosDB. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2206"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2206/hovercard">#2206</a>)</li>
<li><code>db</code>: Add <code>db.operation.name</code> and
<code>db.collection.name</code> to SQL for higher-level APIs (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2207"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2207/hovercard">#2207</a>)</li>
<li><code>jvm</code>: Add <code>jvm.file_descriptor.count</code> as an
in-development metric to track the number of open file descriptors as
reported by the JVM. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1838"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1838/hovercard">#1838</a>)</li>
<li><code>jvm</code>: Add <code>jvm.gc.cause</code> to metric
<code>jvm.gc.duration</code> as an opt-in attribute to track gc cause.
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2065"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2065/hovercard">#2065</a>)</li>
<li><code>process</code>: Add process.environment_variable. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/672"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/672/hovercard">#672</a>)</li>
<li><code>app</code>: Defines two new click events for the app domain
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2070"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2070/hovercard">#2070</a>)</li>
<li><code>code</code>: Mark <code>code.*</code> semantic conventions as
stable (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1377"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1377/hovercard">#1377</a>)</li>
<li><code>k8s</code>: Introduce semantic conventions for k8s CronJob
labels and annotations (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2138"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2138/hovercard">#2138</a>)</li>
<li><code>k8s</code>: Introduce semantic conventions for k8s DaemonSet
labels and annotations (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2136"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2136/hovercard">#2136</a>)</li>
<li><code>k8s</code>: Introduce semantic conventions for k8s Deployment
labels and annotations (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2134"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2134/hovercard">#2134</a>)</li>
<li><code>system</code>: Added entity association template rendering and
policies. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1276"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1276/hovercard">#1276</a>)</li>
<li><code>gen_ai</code>: Document <code>generate_content</code> as a
permissible value of <code>gen_ai.operation.name</code>. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2048"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2048/hovercard">#2048</a>)</li>
<li><code>k8s</code>: Introduce semantic conventions for k8s Job labels
and annotations (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2137"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2137/hovercard">#2137</a>)</li>
<li><code>otel</code>: Adds SDK self-monitoring metrics for metric
processing (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2016"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2016/hovercard">#2016</a>)</li>
<li><code>k8s</code>: Introduce semantic conventions for k8s Namespace
labels and annotations (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2131"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2131/hovercard">#2131</a>)</li>
<li><code>k8s</code>: Introduce semantic conventions for k8s Node labels
and annotations (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2079"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2079/hovercard">#2079</a>)</li>
<li><code>k8s</code>: Introduce semantic conventions for k8s ReplicaSet
labels and annotations (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2132"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2132/hovercard">#2132</a>)</li>
<li><code>otel</code>: Adds SDK self-monitoring metric for exporter call
duration (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1906"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1906/hovercard">#1906</a>)</li>
<li><code>k8s</code>: Introduce semantic conventions for k8s StatefulSet
labels and annotations (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2135"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2135/hovercard">#2135</a>)</li>
</ul>
<h3>🧰 Bug fixes 🧰</h3>
<ul>
<li><code>gen-ai</code>: Removed irrelevant response attributes on GenAI
create agent span. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1924"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1924/hovercard">#1924</a>,
<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2116"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2116/hovercard">#2116</a>)</li>
<li><code>vcs</code>: Fix typo in gitea name (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2057"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2057/hovercard">#2057</a>)</li>
<li><code>gen-ai</code>: Add invoke_agent as a member of
gen_ai.operation.name (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2160"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2160/hovercard">#2160</a>)</li>
<li><code>db</code>: Clarify <code>db.query.summary</code> for stored
procedures (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2218"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2218/hovercard">#2218</a>)</li>
</ul>
2025-05-22 07:56:01 -07:00
Tyler Yahn 2d4c9dc115 Add semconv/v1.32.0 (#6782)
- Add the new metric API package structure prototyped in
https://github.com/MrAlias/semconv-go

  Prototypes of new metric API use:
   - https://github.com/MrAlias/opentelemetry-go-contrib/pull/6136
   - https://github.com/MrAlias/opentelemetry-go-contrib/pull/6135
   - https://github.com/MrAlias/opentelemetry-go-contrib/pull/6134
- Generate `semconv/v1.32.0`
- Drop the `kestrel` metric namespace as this is a Java specific
technology

## [`v1.32.0` semantic convention release
notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.32.0):

<div data-pjax="true" data-test-selector="body-content"
data-view-component="true" class="markdown-body my-3"><p>📣 This release
is the second release candidate for the Database Semantic Conventions,
with <strong>db conventions stability planned to be declared in the
subsequent release</strong>.</p>
<h3>🛑 Breaking changes 🛑</h3>
<ul>
<li><code>device</code>: Change the definition of <code>device.id</code>
and make it opt-in. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1874"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1874/hovercard">#1874</a>,
<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1951"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1951/hovercard">#1951</a>)</li>
<li><code>feature_flag</code>: Rename <code>evaluation</code> to
<code>result</code> for feature flag evaluation result attributes (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1989"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1989/hovercard">#1989</a>)</li>
</ul>
<h3>🚀 New components 🚀</h3>
<ul>
<li><code>app</code>: Create <code>app.installation.id</code> attribute
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1874"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1874/hovercard">#1874</a>,
<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1897"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1897/hovercard">#1897</a>)</li>
<li><code>cpython</code>: Add CPython runtime garbage collector metrics
(<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1930"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1930/hovercard">#1930</a>)</li>
</ul>
<h3>💡 Enhancements 💡</h3>
<ul>
<li><code>vcs</code>: Add owner and provider name to VCS attribute
registry (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1452"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1452/hovercard">#1452</a>)</li>
<li><code>vcs</code>: Remove fallback value for VCS provider name
attribute (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2020"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2020/hovercard">#2020</a>)</li>
<li><code>db</code>: Truncate <code>db.query.summary</code> to 255
characters if parsed from the query (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1978"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1978/hovercard">#1978</a>)</li>
<li><code>db</code>: Normalize spaces in <code>db.operation.name</code>
(if any) (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2028"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2028/hovercard">#2028</a>)</li>
<li><code>db</code>: <code>db.operation.parameter.&lt;key&gt;</code>
should not be captured for batch operations (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2026"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/2026/hovercard">#2026</a>)</li>
<li><code>db</code>: Add <code>db.stored_procedure.name</code> (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1491"
data-hovercard-type="issue"
data-hovercard-url="/open-telemetry/semantic-conventions/issues/1491/hovercard">#1491</a>)</li>
<li><code>gcp</code>: Adds GCP AppHub labels for resource. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2006"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2006/hovercard">#2006</a>)</li>
<li><code>error</code>: Add <code>error.message</code> property for
human-readable error message on events. (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1992"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1992/hovercard">#1992</a>)</li>
<li><code>profile</code>: Extend the list of known frame types with a
value for Go and Rust (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/2003"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/2003/hovercard">#2003</a>)</li>
<li><code>otel</code>: Adds SDK self-monitoring metrics for log
processing (<a
href="https://github.com/open-telemetry/semantic-conventions/issues/1921"
data-hovercard-type="pull_request"
data-hovercard-url="/open-telemetry/semantic-conventions/pull/1921/hovercard">#1921</a>)</li>
</ul>
2025-05-20 10:33:50 -07:00
Tyler Yahn 5e4ff9730b Fix semconv generation to support acronyms/initialisms and normative key words (#6684)
Split off work from
https://github.com/open-telemetry/opentelemetry-go/pull/6683

---------

Co-authored-by: Robert Pająk <pellared@hotmail.com>
2025-04-22 15:28:33 -07:00