1
0
mirror of https://github.com/open-telemetry/opentelemetry-go.git synced 2025-12-01 23:12:29 +02:00
Files
opentelemetry-go/semconv/metric.go.j2

117 lines
4.1 KiB
Plaintext
Raw Normal View History

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 https://github.com/open-telemetry/opentelemetry-go/pull/5898/commits/66523cb7f3fb2dd6566f4ccfe44b52d0bb2c0c0f 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
{% import 'helpers.j2' as h -%}
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
{% import 'instrument.j2' as i -%}
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 https://github.com/open-telemetry/opentelemetry-go/pull/5898/commits/66523cb7f3fb2dd6566f4ccfe44b52d0bb2c0c0f 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
// Code generated from semantic convention specification. DO NOT EDIT.
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
// Package httpconv provides types and functionality for OpenTelemetry semantic
// conventions in the "{{ ctx.root_namespace }}" namespace.
package {{ ctx.root_namespace | camel_case | lower }}conv
import (
"context"
"sync"
"go.opentelemetry.io/otel/attribute"
"go.opentelemetry.io/otel/metric"
"go.opentelemetry.io/otel/metric/noop"
)
var (
addOptPool = &sync.Pool{New: func() any { return &[]metric.AddOption{} }}
recOptPool = &sync.Pool{New: func() any { return &[]metric.RecordOption{} }}
)
{%- for attr in ctx.metrics | map(attribute="attributes") | flatten | selectattr("type", "mapping") | unique(attribute="name") | sort(attribute="name") %}
{%- set name = h.to_go_name(attr.name, ctx.root_namespace) %}
{{ [ name ~ "Attr is an attribute conforming to the " ~ attr.name ~ " semantic conventions. " ~ h.it_reps(attr.brief) ] | comment }}
type {{ name }}Attr {{ h.member_type(attr.type.members[0]) }}
var (
{%- for m in attr.type.members if not m.deprecated %}
{%- set m_name = name ~ h.to_go_name(m.id, ctx.root_namespace) %}
{{ h.prefix_brief(m.brief, m_name ~ " is ") | comment(format="go_1tab") }}
{{ m_name }} {{ name }}Attr = {% if attr.type.members[0].value is string -%}
"{{ m.value }}"
{%- else -%}
{{ m.value }}
{%- endif -%}
{%- endfor %}
)
{%- endfor %}
{%- for metric in ctx.metrics if not metric.deprecated %}
{%- set metric_name = h.to_go_name(metric.metric_name, ctx.root_namespace) %}
{%- set metric_inst = metric.metric_name | map_text("instrument", i.instrument_default(metric)) %}
{{ h.metric_typedoc(metric, ctx.root_namespace) | comment | trim }}
type {{ metric_name }} struct {
metric.{{ metric_inst }}
}
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 https://github.com/open-telemetry/opentelemetry-go/pull/5898/commits/66523cb7f3fb2dd6566f4ccfe44b52d0bb2c0c0f 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
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
{{ ["New" ~ metric_name ~ " returns a new " ~ metric_name ~ " instrument."] | comment }}
func New{{ metric_name }}(
m metric.Meter,
opt ...metric.{{ metric_inst}}Option,
) ({{ metric_name }}, error) {
// Check if the meter is nil.
if m == nil {
return {{metric_name}}{noop.{{ metric_inst }}{}}, nil
}
i, err := m.{{ metric_inst }}(
"{{metric.metric_name}}",
append([]metric.{{ metric_inst }}Option{
metric.WithDescription("{{metric.brief | trim}}"),
metric.WithUnit("{{metric.unit}}"),
}, opt...)...,
)
if err != nil {
return {{metric_name}}{noop.{{ metric_inst }}{}}, err
}
return {{ metric_name }}{i}, nil
}
// Inst returns the underlying metric instrument.
func (m {{ metric_name }}) Inst() metric.{{ metric_inst }} {
return m.{{ metric_inst }}
}
// Name returns the semantic convention name of the instrument.
func ({{ metric_name }}) Name() string {
return "{{ metric.metric_name }}"
}
// Unit returns the semantic convention unit of the instrument
func ({{ metric_name }}) Unit() string {
return "{{ metric.unit }}"
}
{%- if metric.brief %}
// Description returns the semantic convention description of the instrument
func ({{ metric_name }}) Description() string {
return "{{ metric.brief | trim }}"
}
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 https://github.com/open-telemetry/opentelemetry-go/pull/5898/commits/66523cb7f3fb2dd6566f4ccfe44b52d0bb2c0c0f 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
{%- endif %}
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
{%- if "Observable" is in metric_inst %}
{%- elif metric.instrument == "counter" or metric.instrument == "updowncounter" %}
{{ i.add_method(metric, metric_inst, ctx.root_namespace) }}
{%- elif metric.instrument == "histogram" or metric.instrument == "gauge" %}
{{ i.record_method(metric, metric_inst, ctx.root_namespace) }}
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 https://github.com/open-telemetry/opentelemetry-go/pull/5898/commits/66523cb7f3fb2dd6566f4ccfe44b52d0bb2c0c0f 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
{%- endif %}
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
{%- for attr in metric.attributes | not_required | attribute_sort %}
{%- set name = h.to_go_name(attr.name, ctx.root_namespace) %}
{{ [ "Attr" ~ name ~ " returns an optional attribute for the \"" ~ attr.name ~ "\" semantic convention. " ~ h.it_reps(attr.brief) ] | comment }}
{%- if attr.type is mapping %}
func ({{ metric_name}}) Attr{{name}}(val {{ name }}Attr) attribute.KeyValue {
return attribute.{{ h.attr_type(attr) | map_text("attribute_type_method")}}("{{ attr.name }}", {{ h.member_type(attr.type.members[0]) }}(val))
}
{%- else %}
func ({{ metric_name}}) Attr{{name}}(val {{ attr.type | map_text("attribute_type_value")}}) attribute.KeyValue {
return attribute.{{ h.attr_type(attr) | map_text("attribute_type_method")}}("{{ attr.name }}", val)
}
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 https://github.com/open-telemetry/opentelemetry-go/pull/5898/commits/66523cb7f3fb2dd6566f4ccfe44b52d0bb2c0c0f 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
{%- endif %}
{%- endfor %}
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
{%- endfor %}