1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-08-10 22:31:50 +02:00
Commit Graph

4 Commits

Author SHA1 Message Date
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
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
Tyler Yahn
8324155ac6 Weaver (#5898)
Builds off of
https://github.com/open-telemetry/opentelemetry-go/pull/5793
Resolve https://github.com/open-telemetry/opentelemetry-go/issues/5668

This migrates the generation of our semconv packages from using the
`semconvgen` tooling to the new
[`weaver`](https://github.com/open-telemetry/weaver) project.

The configuration and templating has been added in a way to generate as
close as we can to what the `semconvgen` tooling already generated.
There are notable differences:

### Acronym/Initialism Fixes

As metioned
[here](https://github.com/open-telemetry/opentelemetry-go/pull/5898#issuecomment-2622976636),
the evaluated exported output of regenerating the `semconv/v1.27.0`
package resulted in the following changes:

| `weaver` | `semconvgen` |
| --- | --- |
| ASPNETCoreDiagnosticsExceptionsDescription |
AspnetcoreDiagnosticsExceptionsDescription|
| ASPNETCoreDiagnosticsExceptionsName |
AspnetcoreDiagnosticsExceptionsName|
| ASPNETCoreDiagnosticsExceptionsUnit |
AspnetcoreDiagnosticsExceptionsUnit|
| ASPNETCoreRateLimitingActiveRequestLeasesDescription |
AspnetcoreRateLimitingActiveRequestLeasesDescription|
| ASPNETCoreRateLimitingActiveRequestLeasesName |
AspnetcoreRateLimitingActiveRequestLeasesName|
| ASPNETCoreRateLimitingActiveRequestLeasesUnit |
AspnetcoreRateLimitingActiveRequestLeasesUnit|
| ASPNETCoreRateLimitingQueuedRequestsDescription |
AspnetcoreRateLimitingQueuedRequestsDescription|
| ASPNETCoreRateLimitingQueuedRequestsName |
AspnetcoreRateLimitingQueuedRequestsName|
| ASPNETCoreRateLimitingQueuedRequestsUnit |
AspnetcoreRateLimitingQueuedRequestsUnit|
| ASPNETCoreRateLimitingRequestLeaseDurationDescription |
AspnetcoreRateLimitingRequestLeaseDurationDescription|
| ASPNETCoreRateLimitingRequestLeaseDurationName |
AspnetcoreRateLimitingRequestLeaseDurationName|
| ASPNETCoreRateLimitingRequestLeaseDurationUnit |
AspnetcoreRateLimitingRequestLeaseDurationUnit|
| ASPNETCoreRateLimitingRequestTimeInQueueDescription |
AspnetcoreRateLimitingRequestTimeInQueueDescription|
| ASPNETCoreRateLimitingRequestTimeInQueueName |
AspnetcoreRateLimitingRequestTimeInQueueName|
| ASPNETCoreRateLimitingRequestTimeInQueueUnit |
AspnetcoreRateLimitingRequestTimeInQueueUnit|
| ASPNETCoreRateLimitingRequestsDescription |
AspnetcoreRateLimitingRequestsDescription|
| ASPNETCoreRateLimitingRequestsName |
AspnetcoreRateLimitingRequestsName|
| ASPNETCoreRateLimitingRequestsUnit |
AspnetcoreRateLimitingRequestsUnit|
| ASPNETCoreRoutingMatchAttemptsDescription |
AspnetcoreRoutingMatchAttemptsDescription|
| ASPNETCoreRoutingMatchAttemptsName |
AspnetcoreRoutingMatchAttemptsName|
| ASPNETCoreRoutingMatchAttemptsUnit |
AspnetcoreRoutingMatchAttemptsUnit|
| DBSystemDb2 | DBSystemDB2|
| GenAIClientOperationDurationDescription |
GenAiClientOperationDurationDescription|
| GenAIClientOperationDurationName | GenAiClientOperationDurationName|
| GenAIClientOperationDurationUnit | GenAiClientOperationDurationUnit|
| GenAIClientTokenUsageDescription | GenAiClientTokenUsageDescription|
| GenAIClientTokenUsageName | GenAiClientTokenUsageName|
| GenAIClientTokenUsageUnit | GenAiClientTokenUsageUnit|
| GenAIServerRequestDurationDescription |
GenAiServerRequestDurationDescription|
| GenAIServerRequestDurationName | GenAiServerRequestDurationName|
| GenAIServerRequestDurationUnit | GenAiServerRequestDurationUnit|
| GenAIServerTimePerOutputTokenDescription |
GenAiServerTimePerOutputTokenDescription|
| GenAIServerTimePerOutputTokenName | GenAiServerTimePerOutputTokenName|
| GenAIServerTimePerOutputTokenUnit | GenAiServerTimePerOutputTokenUnit|
| GenAIServerTimeToFirstTokenDescription |
GenAiServerTimeToFirstTokenDescription|
| GenAIServerTimeToFirstTokenName | GenAiServerTimeToFirstTokenName|
| GenAIServerTimeToFirstTokenUnit | GenAiServerTimeToFirstTokenUnit|
| GoMemoryGCGoalDescription | GoMemoryGcGoalDescription|
| GoMemoryGCGoalName | GoMemoryGcGoalName|
| GoMemoryGCGoalUnit | GoMemoryGcGoalUnit|
| JVMBufferCountDescription | JvmBufferCountDescription|
| JVMBufferCountName | JvmBufferCountName|
| JVMBufferCountUnit | JvmBufferCountUnit|
| JVMBufferMemoryLimitDescription | JvmBufferMemoryLimitDescription|
| JVMBufferMemoryLimitName | JvmBufferMemoryLimitName|
| JVMBufferMemoryLimitUnit | JvmBufferMemoryLimitUnit|
| JVMBufferMemoryUsageDescription | JvmBufferMemoryUsageDescription|
| JVMBufferMemoryUsageName | JvmBufferMemoryUsageName|
| JVMBufferMemoryUsageUnit | JvmBufferMemoryUsageUnit|
| JVMBufferMemoryUsedDescription | JvmBufferMemoryUsedDescription|
| JVMBufferMemoryUsedName | JvmBufferMemoryUsedName|
| JVMBufferMemoryUsedUnit | JvmBufferMemoryUsedUnit|
| JVMCPUCountDescription | JvmCPUCountDescription|
| JVMCPUCountName | JvmCPUCountName|
| JVMCPUCountUnit | JvmCPUCountUnit|
| JVMCPURecentUtilizationDescription |
JvmCPURecentUtilizationDescription|
| JVMCPURecentUtilizationName | JvmCPURecentUtilizationName|
| JVMCPURecentUtilizationUnit | JvmCPURecentUtilizationUnit|
| JVMCPUTimeDescription | JvmCPUTimeDescription|
| JVMCPUTimeName | JvmCPUTimeName|
| JVMCPUTimeUnit | JvmCPUTimeUnit|
| JVMClassCountDescription | JvmClassCountDescription|
| JVMClassCountName | JvmClassCountName|
| JVMClassCountUnit | JvmClassCountUnit|
| JVMClassLoadedDescription | JvmClassLoadedDescription|
| JVMClassLoadedName | JvmClassLoadedName|
| JVMClassLoadedUnit | JvmClassLoadedUnit|
| JVMClassUnloadedDescription | JvmClassUnloadedDescription|
| JVMClassUnloadedName | JvmClassUnloadedName|
| JVMClassUnloadedUnit | JvmClassUnloadedUnit|
| JVMGCDurationDescription | JvmGcDurationDescription|
| JVMGCDurationName | JvmGcDurationName|
| JVMGCDurationUnit | JvmGcDurationUnit|
| JVMMemoryCommittedDescription | JvmMemoryCommittedDescription|
| JVMMemoryCommittedName | JvmMemoryCommittedName|
| JVMMemoryCommittedUnit | JvmMemoryCommittedUnit|
| JVMMemoryInitDescription | JvmMemoryInitDescription|
| JVMMemoryInitName | JvmMemoryInitName|
| JVMMemoryInitUnit | JvmMemoryInitUnit|
| JVMMemoryLimitDescription | JvmMemoryLimitDescription|
| JVMMemoryLimitName | JvmMemoryLimitName|
| JVMMemoryLimitUnit | JvmMemoryLimitUnit|
| JVMMemoryUsedAfterLastGCDescription |
JvmMemoryUsedAfterLastGcDescription|
| JVMMemoryUsedAfterLastGCName | JvmMemoryUsedAfterLastGcName|
| JVMMemoryUsedAfterLastGCUnit | JvmMemoryUsedAfterLastGcUnit|
| JVMMemoryUsedDescription | JvmMemoryUsedDescription|
| JVMMemoryUsedName | JvmMemoryUsedName|
| JVMMemoryUsedUnit | JvmMemoryUsedUnit|
| JVMSystemCPULoad1mDescription | JvmSystemCPULoad1mDescription|
| JVMSystemCPULoad1mName | JvmSystemCPULoad1mName|
| JVMSystemCPULoad1mUnit | JvmSystemCPULoad1mUnit|
| JVMSystemCPUUtilizationDescription |
JvmSystemCPUUtilizationDescription|
| JVMSystemCPUUtilizationName | JvmSystemCPUUtilizationName|
| JVMSystemCPUUtilizationUnit | JvmSystemCPUUtilizationUnit|
| JVMThreadCountDescription | JvmThreadCountDescription|
| JVMThreadCountName | JvmThreadCountName|
| JVMThreadCountUnit | JvmThreadCountUnit|
| V8JSGCDurationDescription | V8jsGcDurationDescription|
| V8JSGCDurationName | V8jsGcDurationName|
| V8JSGCDurationUnit | V8jsGcDurationUnit|
| V8JSHeapSpaceAvailableSizeDescription |
V8jsHeapSpaceAvailableSizeDescription|
| V8JSHeapSpaceAvailableSizeName | V8jsHeapSpaceAvailableSizeName|
| V8JSHeapSpaceAvailableSizeUnit | V8jsHeapSpaceAvailableSizeUnit|
| V8JSHeapSpacePhysicalSizeDescription |
V8jsHeapSpacePhysicalSizeDescription|
| V8JSHeapSpacePhysicalSizeName | V8jsHeapSpacePhysicalSizeName|
| V8JSHeapSpacePhysicalSizeUnit | V8jsHeapSpacePhysicalSizeUnit|
| V8JSMemoryHeapLimitDescription | V8jsMemoryHeapLimitDescription|
| V8JSMemoryHeapLimitName | V8jsMemoryHeapLimitName|
| V8JSMemoryHeapLimitUnit | V8jsMemoryHeapLimitUnit|
| V8JSMemoryHeapUsedDescription | V8jsMemoryHeapUsedDescription|
| V8JSMemoryHeapUsedName | V8jsMemoryHeapUsedName|
| V8JSMemoryHeapUsedUnit | V8jsMemoryHeapUsedUnit|

An audit of these changes leads to the conclusion that they are
appropriate fixes to things that were mis-named.


### Doc changes

Also mentioned
[here](https://github.com/open-telemetry/opentelemetry-go/pull/5898#issuecomment-2622976636),
there documentation changes that are included. Mostly this is
unavoidable based on the new format of the semconv models, and effort
has spent ensuring nothing substantive is lost.

See the reverted commit
66523cb7f3
for the details of how the `semconv/v1.27.0` changes.

## Next Steps

This PR has been paired down to migrate tooling. The next steps are to
generate `semconv/v1.28.0` with desired changes (i.e. maybe we don't
generate `ASPCoreNet` attrs(?)). From there the missing semconv packages
will be generated.

- https://github.com/open-telemetry/opentelemetry-go/issues/6226
- https://github.com/open-telemetry/opentelemetry-go/issues/6227
2025-01-31 06:51:07 -08:00