Redefine ExportSpans of SpanExporter with ReadOnlySpan#1873
Merged
MrAlias merged 18 commits intoopen-telemetry:mainfrom May 4, 2021
Merged
Redefine ExportSpans of SpanExporter with ReadOnlySpan#1873MrAlias merged 18 commits intoopen-telemetry:mainfrom
MrAlias merged 18 commits intoopen-telemetry:mainfrom
Conversation
This is not required by the specification nor the use of this interface.
Use this type to encapsulate the Span status similar to the Event type encapsulating a Span event
A read-only span value does not need to know if updates to it will be recorded. It by definition cannot be updated so no point in communicating if an update would be recorded.
Add the DroppedAttributes, DroppedLinks, DroppedEvents, and ChildSpanCount methods to the interface to return additional information about the span not specified by the specification, but that we are already providing.
This method is a hold-over from previous version of the ReadOnlySpan interface is not needed.
Codecov Report
@@ Coverage Diff @@
## main #1873 +/- ##
=======================================
- Coverage 79.0% 79.0% -0.1%
=======================================
Files 137 139 +2
Lines 7384 7477 +93
=======================================
+ Hits 5837 5909 +72
- Misses 1301 1322 +21
Partials 246 246
|
Merged
jmacd
approved these changes
May 3, 2021
Contributor
|
I really read it. :) |
Aneurysm9
approved these changes
May 4, 2021
paivagustavo
approved these changes
May 4, 2021
Merged
pellared
added a commit
that referenced
this pull request
Mar 26, 2025
- Generate `semconv/v1.31.0` - Stop generating deprecated metric semconv similar to all other generation - Fix acronyms: - `ReplicationController` - `ResourceQuota` ## [`v1.31.0` semantic convention release notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.31.0): <h3>🛑 Breaking changes 🛑</h3> <ul> <li> <p><code>code</code>: <code>code.function.name</code> value should contain the fully qualified function name, <code>code.namespace</code> is now deprecated (<a href="open-telemetry/semantic-conventions#1677" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1677/hovercard">#1677</a>)</p> </li> <li> <p><code>gen-ai</code>: Introduce <code>gen_ai.output.type</code>and deprecate <code>gen_ai.openai.request.response_format</code> (<a href="open-telemetry/semantic-conventions#1757" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1757/hovercard">#1757</a>)</p> </li> <li> <p><code>mobile</code>: Rework <code>device.app.lifecycle</code> mobile event. (<a href="open-telemetry/semantic-conventions#1880" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1880/hovercard">#1880</a>)<br> The <code>device.app.lifecycle</code> event has been reworked to use attributes instead<br> of event body fields. The <code>ios.app.state</code> and <code>android.app.state</code> attributes<br> have been reintroduced to the attribute registry.</p> </li> <li> <p><code>system</code>: Move CPU-related system.cpu.* metrics to CPU namespace (<a href="open-telemetry/semantic-conventions#1873" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1873/hovercard">#1873</a>)</p> </li> <li> <p><code>k8s</code>: Change k8s.replication_controller metrics to k8s.replicationcontroller (<a href="open-telemetry/semantic-conventions#1848" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1848/hovercard">#1848</a>)</p> </li> <li> <p><code>db</code>: Rename <code>db.system</code> to <code>db.system.name</code> in database metrics, and update the values to be consistent with database spans. (<a href="open-telemetry/semantic-conventions#1581" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1581/hovercard">#1581</a>)</p> </li> <li> <p><code>session</code>: Move <code>session.id</code> and <code>session.previous_id</code> from body fields to event attributes, and yamlize <code>session.start</code> and <code>session.end</code> events. (<a href="open-telemetry/semantic-conventions#1845" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1845/hovercard">#1845</a>)<br> As part of the ongoing migration of event fields from LogRecord body to extended/complex attributes, the <code>session.start</code> and <code>session.end</code> events have been redefined.</p> </li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>code</code>: Mark <code>code.*</code> semantic conventions as release candidate (<a href="open-telemetry/semantic-conventions#1377" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1377/hovercard">#1377</a>)</p> </li> <li> <p><code>gen-ai</code>: Added AI Agent Semantic Convention (<a href="open-telemetry/semantic-conventions#1732" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1732/hovercard">#1732</a>, <a href="open-telemetry/semantic-conventions#1739" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1739/hovercard">#1739</a>)</p> </li> <li> <p><code>db</code>: Add database-specific notes on db.operation.name and db.collection.name for Cassandra, Cosmos DB, HBase, MongoDB, and Redis, covering their batch/bulk terms and lack of cross-table queries. (<a href="open-telemetry/semantic-conventions#1863" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1863/hovercard">#1863</a>, <a href="open-telemetry/semantic-conventions#1573" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1573/hovercard">#1573</a>)</p> </li> <li> <p><code>gen-ai</code>: Adds <code>gen_ai.request.choice.count</code> span attribute (<a href="open-telemetry/semantic-conventions#1888" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1888/hovercard">#1888</a>)<br> Enables recording target number of completions to generate</p> </li> <li> <p><code>enduser</code>: Undeprecate 'enduser.id' and introduce new attribute <code>enduser.pseudo.id</code> (<a href="open-telemetry/semantic-conventions#1104" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1104/hovercard">#1104</a>)<br> The new attribute <code>enduser.pseudo.id</code> is intended to provide a unique identifier of a pseudonymous enduser.</p> </li> <li> <p><code>k8s</code>: Add <code>k8s.hpa</code>, <code>k8s.resourcequota</code> and <code>k8s.replicationcontroller</code> attributes and resources (<a href="open-telemetry/semantic-conventions#1656" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1656/hovercard">#1656</a>)</p> </li> <li> <p><code>k8s</code>: How to populate resource attributes based on attributes, labels and transformation (<a href="open-telemetry/semantic-conventions#236" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/236/hovercard">#236</a>)</p> </li> <li> <p><code>process</code>: Adjust the semantic expectations for <code>process.executable.name</code> (<a href="open-telemetry/semantic-conventions#1736" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1736/hovercard">#1736</a>)</p> </li> <li> <p><code>otel</code>: Adds SDK self-monitoring metrics for span processing (<a href="open-telemetry/semantic-conventions#1631" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1631/hovercard">#1631</a>)</p> </li> <li> <p><code>cicd</code>: Adds a new attribute <code>cicd.pipeline.run.url.full</code> and corrects the attribute description of <code>cicd.pipeline.task.run.url.full</code> (<a href="open-telemetry/semantic-conventions#1796" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1796/hovercard">#1796</a>)</p> </li> <li> <p><code>user-agent</code>: Add <code>user_agent.os.name</code> and <code>user_agent.os.version</code> attributes (<a href="open-telemetry/semantic-conventions#1433" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1433/hovercard">#1433</a>)</p> </li> </ul> <h3>🧰 Bug fixes 🧰</h3> <ul> <li><code>process</code>: Fix units of process.open_file_descriptor.count and process.context_switches (<a href="open-telemetry/semantic-conventions#1662" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1662/hovercard">#1662</a>)</li> </ul> --------- Co-authored-by: Robert Pająk <[email protected]>
pull Bot
pushed a commit
to Hawthorne001/opentelemetry-go
that referenced
this pull request
Jul 16, 2025
Resolve open-telemetry#7030 This generation fixes the following: - The `semconv/weaver.yaml` file is moved to the `semconv/templates/registry/go` to [fix the generation](open-telemetry#7030 (comment)). - Deprecated enum `var`s are no longer generate. - The deprecation of the previous `OSTypeZOS` (`z_os`) conflicts with the replacement (`zos`). - This matches all other generations where deprecated types are not generated and the migration docs identify users need to upgrade when upgrading packages. - Fix metric description rendering to handle multi-line metric descriptions. - Fix filter of deprecated metrics in weaver configuration (see open-telemetry/weaver#847). The release notes for v1.35.0 are included as we do not plan to add a package for that release and it includes breaking changes being released here (i.e. `az.namespace` and `az.service_request_id`) ## [`v1.36.0` semantic convention release notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.36.0) <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h3>🚩 Deprecations 🚩</h3> <ul> <li><code>os</code>: Adds the 'deprecated:' tag/attribute to the <code>z_os</code> enum value of <code>os.type</code>. This value was recently deprecated in v1.35.0. (<a href="open-telemetry/semantic-conventions#2479" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2479/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2479</a>)</li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li><code>otel</code>: Replaces <code>otel.sdk.span.ended</code> with <code>otel.sdk.span.started</code> and allow differentiation based on the parent span origin (<a href="open-telemetry/semantic-conventions#2431" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2431/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2431</a>)</li> <li><code>db</code>: Add database context propagation via <code>SET CONTEXT_INFO</code> for SQL Server (<a href="open-telemetry/semantic-conventions#2162" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2162/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2162</a>)</li> <li><code>entities</code>: Adds support for Entity registry and Entity stabilization policies. (<a href="open-telemetry/semantic-conventions#2246" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2246/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2246</a>)</li> </ul> <h3>🧰 Bug fixes 🧰</h3> <ul> <li><code>cloud</code>: Exclude deprecated Azure members from code generation on the <code>cloud.platform</code> attribute (<a href="open-telemetry/semantic-conventions#2477" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2477/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2477</a>, <a href="open-telemetry/semantic-conventions#2455" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2455/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2455</a>)</li> </ul> ## [`v1.35.0` semantic convention release notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.35.0) <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><h3>🛑 Breaking changes 🛑</h3> <ul> <li> <p><code>azure</code>: Align azure events, attributes, and enum members with general naming guidelines. (<a href="open-telemetry/semantic-conventions#608" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/608/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#608</a>, <a href="open-telemetry/semantic-conventions#1708" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1708/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1708</a>, <a href="open-telemetry/semantic-conventions#1698" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1698/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1698</a>)</p> <ul> <li>Renamed attributes: <ul> <li><code>az.service_request_id</code> to <code>azure.service.request.id</code></li> <li><code>az.namespace</code> to <code>azure.resource_provider.namespace</code></li> </ul> </li> <li>Renamed events: <ul> <li><code>az.resource.log</code> to <code>azure.resource.log</code></li> </ul> </li> <li>Renamed enum members: <ul> <li><code>az.ai.inference</code> to <code>azure.ai.inference</code> (on <code>gen_ai.system</code>)</li> <li><code>az.ai.openai</code> to <code>azure.ai.openai</code> (on <code>gen_ai.system</code>)</li> <li><code>azure_aks</code> to <code>azure.aks</code> (on <code>cloud.platform</code>)</li> <li><code>azure_app_service</code> to <code>azure.app_service</code> (on <code>cloud.platform</code>)</li> <li><code>azure_container_apps</code> to <code>azure.container_apps</code> (on <code>cloud.platform</code>)</li> <li><code>azure_container_instances</code> to <code>azure.container_instances</code> (on <code>cloud.platform</code>)</li> <li><code>azure_functions</code> to <code>azure.functions</code> (on <code>cloud.platform</code>)</li> <li><code>azure_openshift</code> to <code>azure.open_shift</code> (on <code>cloud.platform</code>)</li> <li><code>azure_vm</code> to <code>azure.vm</code> (on <code>cloud.platform</code>)</li> </ul> </li> </ul> </li> <li> <p><code>system</code>: Revert the change that moved <code>system.cpu.*</code> to <code>cpu.*</code>. The 3 affected metrics are back in <code>system.cpu.*</code>. (<a href="open-telemetry/semantic-conventions#1873" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1873/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1873</a>)</p> </li> <li> <p><code>system</code>: Changes system.network.connections to system.network.connection.count (<a href="open-telemetry/semantic-conventions#1800" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1800/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1800</a>)</p> </li> <li> <p><code>k8s</code>: Change instrument type for .limit/.request container metrics from gauge to updowncounter (<a href="open-telemetry/semantic-conventions#2354" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2354/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2354</a>)</p> </li> </ul> <h3>🚩 Deprecations 🚩</h3> <ul> <li><code>os</code>: Deprecate os.type='z_os' and replace with os.type='zos' (<a href="open-telemetry/semantic-conventions#1687" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1687/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1687</a>)</li> </ul> <h3>🚀 New components 🚀</h3> <ul> <li><code>mainframe, zos</code>: Add initial semantic conventions for mainframes (<a href="open-telemetry/semantic-conventions#1687" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1687/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1687</a>)</li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li> <p><code>dotnet</code>: Define .NET-specific network spans for DNS resolution, TLS handshake, and socket connections, along with HTTP-level spans to (optionally) record relationships between HTTP requests and connections.<br> (<a href="open-telemetry/semantic-conventions#1192" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1192/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1192</a>)</p> </li> <li> <p><code>k8s</code>: Add <code>k8s.node.allocatable.cpu</code>, <code>k8s.node.allocatable.ephemeral_storage</code>, <code>k8s.node.allocatable.memory</code>, <code>k8s.node.allocatable.pods</code> metrics (<a href="open-telemetry/semantic-conventions#2243" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2243/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2243</a>)</p> </li> <li> <p><code>k8s</code>: Add k8s.container.restart.count metric (<a href="open-telemetry/semantic-conventions#2191" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2191/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2191</a>)</p> </li> <li> <p><code>k8s</code>: Add K8s container resource related metrics (<a href="open-telemetry/semantic-conventions#2074" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2074/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2074</a>)</p> </li> <li> <p><code>k8s</code>: Add k8s.container.ready metric (<a href="open-telemetry/semantic-conventions#2074" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2074/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2074</a>)</p> </li> <li> <p><code>k8s</code>: Add k8s.node.condition metric (<a href="open-telemetry/semantic-conventions#2077" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2077/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2077</a>)</p> </li> <li> <p><code>k8s</code>: Add k8s resource quota metrics (<a href="open-telemetry/semantic-conventions#2076" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2076/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2076</a>)</p> </li> <li> <p><code>events</code>: Update general event guidance to allow complex attributes on events and use them instead of the body fields.<br> (<a href="open-telemetry/semantic-conventions#1651" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1651/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1651</a>, <a href="open-telemetry/semantic-conventions#1669" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1669/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1669</a>)</p> </li> <li> <p><code>k8s</code>: Add k8s.container.status.state and k8s.container.status.reason metrics (<a href="open-telemetry/semantic-conventions#1672" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1672/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#1672</a>)</p> </li> <li> <p><code>feature_flags</code>: Mark feature flag semantic convention as release candidate. (<a href="open-telemetry/semantic-conventions#2277" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2277/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2277</a>)</p> </li> <li> <p><code>k8s</code>: Add new resource attributes for <code>k8s.hpa</code> to capture the <code>scaleTargetRef</code> fields (<a href="open-telemetry/semantic-conventions#2008" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2008/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2008</a>)<br> Adds below attributes to the <code>k8s.hpa</code> resource:</p> <ul> <li><code>k8s.hpa.scaletargetref.kind</code></li> <li><code>k8s.hpa.scaletargetref.name</code></li> <li><code>k8s.hpa.scaletargetref.api_version</code></li> </ul> </li> <li> <p><code>k8s</code>: Adds metrics and attributes to track k8s HPA's metric target values for CPU resources. (<a href="open-telemetry/semantic-conventions#2182" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2182/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2182</a>)<br> Below metrics are introduced to provide insight into HPA scaling configuration for CPU.</p> <ul> <li><code>k8s.hpa.metric.target.cpu.value</code></li> <li><code>k8s.hpa.metric.target.cpu.average_value</code></li> <li><code>k8s.hpa.metric.target.cpu.average_utilization</code></li> </ul> </li> <li> <p><code>k8s</code>: Explains the rationale behind the Kubernetes resource naming convention. (<a href="open-telemetry/semantic-conventions#2245" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2245/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2245</a>)</p> </li> <li> <p><code>all</code>: Adds modelling guide for resource and entity. (<a href="open-telemetry/semantic-conventions#2246" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2246/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2246</a>)</p> </li> <li> <p><code>service</code>: Adds stability policies for Entity groups. (<a href="open-telemetry/semantic-conventions#2378" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2378/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2378</a>)<br> Entity groups now require <code>role</code> to be filled for attributes.</p> </li> <li> <p><code>otel</code>: Specifies component.type values for Zipkin and Prometheus exporters (<a href="open-telemetry/semantic-conventions#2229" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2229/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2229</a>)</p> </li> </ul> <h3>🧰 Bug fixes 🧰</h3> <ul> <li><code>otel</code>: Removes <code>otel.scope</code> entity. (<a href="open-telemetry/semantic-conventions#2310" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2310/hovercard" aria-keyshortcuts="Alt+ArrowUp">open-telemetry#2310</a>)</li> </ul>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This updates the
SpanExporterinterface to acceptReadOnlySpans instead ofSpanSnapshots. This includes the following changes:SpanStubtype and its associated functions were added to thego.opentelemetry.io/otel/sdk/trace/tracetestpackage. This type can be used as a testing replacement for theSpanSnapshotthat was removed from thego.opentelemetry.io/otel/sdk/tracepackage.ExportSpansmethod of theSpanExporterinterface type was updated to acceptReadOnlySpans instead of the removedSpanSnapshot. This brings the export interface into compliance with the specification in that it now accepts an explicitly immutable type instead of just an implied one.TracerandIsRecordingmethod from theReadOnlySpanin thego.opentelemetry.io/otel/sdk/trace. TheTracermethod is not a required to be included in this interface and given the mutable nature of the tracer that is associated with a span, this method is not appropriate. TheIsRecordingmethod returns if the span is recording or not. A read-only span value does not need to know if updates to it will be recorded or not. By definition, it cannot be updated so there is no point in communicating if an update is recorded.SpanSnapshottype from thego.opentelemetry.io/otel/sdk/tracepackage. The use of this type has been replaced with the use of the explicitly immutableReadOnlySpantype. When a concrete representation of a read-only span is needed for testing, the newly addedSpanStubin thego.opentelemetry.io/otel/sdk/trace/tracetestpackage should be used.*messageEvent*names to just be*Event*.Resolves #1380