mirror of
https://github.com/open-telemetry/opentelemetry-go.git
synced 2026-06-03 18:35:08 +02:00
8274f0ef22c4544e7ec3063a4c8bdc8562d94799
1010 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
dea52958ae | Upgrade semconv to 1.34.0 in trace (#6836) | ||
|
|
33eb582188 | Upgrade semconv to 1.34.0 in sdk/trace (#6835) | ||
|
|
cc26aaad49 | Upgrade semconv to 1.34.0 in sdk/resource (#6834) | ||
|
|
91bf875c49 | Upgrade semconv to 1.34.0 in metric (#6832) | ||
|
|
31b44a2215 | Upgrade semconv to 1.34.0 in exporters/zipkin (#6829) | ||
|
|
313073b711 | Upgrade semconv to v1.34.0 in OpenTracing bridge (#6827) | ||
|
|
65b8067f18 |
log,sdk/log: add EventName to EnabledParameters (#6825)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6771 |
||
|
|
e186baaf9e |
prometheus: remove otel_scope_info (#6770)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6768 Towards https://github.com/open-telemetry/opentelemetry-specification/issues/4223 (last point from from https://github.com/open-telemetry/opentelemetry-specification/issues/4223#issuecomment-2839595942) - Remove instrumentation scope attributes as `otel_scope_info` metric |
||
|
|
69f189f0b6 |
prometheus: Add otel_scope_schema_url and otel_scope_[attribute] labels (#5947)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/5846 Towards https://github.com/open-telemetry/opentelemetry-specification/issues/4223 (first two points from https://github.com/open-telemetry/opentelemetry-specification/issues/4223#issuecomment-2839595942) - Add instrumentation scope schema URL as `otel_scope_schema_url` label to exported metrics - Add instrumentation scope attributes as `otel_scope_[attribute]` labels to exported metrics Side notes: - The exporter does not seem to work correctly if the end user adds e.g. an `otel_scope_name` attribute. I think the exporter should ignore all attributes with names that have prefix `otel_scope_`. This scenario is also not covered by the spec. I think it may be covered by a separate PR and issue. - Removal of `otel_scope_info` metric would be handled as a separate PR. https://github.com/open-telemetry/opentelemetry-go/pull/6770 |
||
|
|
e587b1884f |
Semconv v1.34.0 (#6812)
Resolve #6811 Resolve #6691 No migration documentation is added. This does not contain any breaking changes between v1.34.0 and v1.33.0 for the Go API. ## [`v1.34.0` semantic convention release notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.34.0): <h3>🛑 Breaking changes 🛑</h3> <ul> <li> <p><code>all</code>: Convert deprecated text to structured format. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2047" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2047/hovercard">#2047</a>)<br> This is a breaking change from the schema perspective, but does not change anything for instrumentations or the end users. It breaks compatibility with the (old) <a href="https://github.com/open-telemetry/build-tools/issues/322" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/build-tools/issues/322/hovercard">code generation tooling</a>. Please use <a href="https://github.com/open-telemetry/weaver">weaver</a> to generate Semantic Conventions markdown or code.</p> </li> <li> <p><code>feature_flag</code>: Move the evaluated value from the event body to attributes (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1990" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1990/hovercard">#1990</a>)</p> </li> <li> <p><code>process</code>: Require sensitive data sanitization for <code>process.command_args</code> and <code>process.command_line</code> (<a href="https://github.com/open-telemetry/semantic-conventions/issues/626" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/626/hovercard">#626</a>)</p> </li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li><code>docs</code>: Document system-specific naming conventions (<a href="https://github.com/open-telemetry/semantic-conventions/issues/608" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/608/hovercard">#608</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/1494" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1494/hovercard">#1494</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/1708" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1708/hovercard">#1708</a>)</li> <li><code>gen-ai</code>: Add <code>gen_ai.conversation.id</code> attribute (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2024" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2024/hovercard">#2024</a>)</li> <li><code>all</code>: Renames all <code>resource.*</code> groups to be <code>entity.*</code> (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2244" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2244/hovercard">#2244</a>)<br> Part of <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2885075816" data-permission-text="Title is private" data-url="https://github.com/open-telemetry/opentelemetry-specification/issues/4436" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/opentelemetry-specification/issues/4436/hovercard" href="https://github.com/open-telemetry/opentelemetry-specification/issues/4436">open-telemetry/opentelemetry-specification#4436</a></li> <li><code>aws</code>: Added new AWS attributes for various services including SQS, SNS, Bedrock, Step Functions, Secrets Manager and Kineses (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1794" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1794/hovercard">#1794</a>)</li> <li><code>cloud</code>: Broaden <code>cloud.region</code> definition to explicitly cover both resource location and targeted destination. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2142" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2142/hovercard">#2142</a>)</li> <li><code>network</code>: Stabilize <code>network.transport</code> enum value <code>quic</code>. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2275" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2275/hovercard">#2275</a>)</li> </ul> <h3>🧰 Bug fixes 🧰</h3> <ul> <li><code>db</code>: Fix the <code>db.system.name</code> attribute value for MySQL which was incorrectly pointing to <code>microsoft.sql_server</code>. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2276" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2276/hovercard">#2276</a>)</li> </ul> |
||
|
|
3dbeacaa58 |
Generate semconv/v1.33.0 (#6799)
- Generate the new `semconv/v1.33.0` package and all sub-packages - Fix the metric util package generation to support `int64` attribute definitions ## [`v1.33.0` semantic convention release notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.33.0): <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><p>This release marks the first where the core of database semantic conventions have stabilized.</p> <h3>🛑 Breaking changes 🛑</h3> <ul> <li><code>db</code>: Add <code>db.query.parameter</code>, replace relevant usages of <code>db.operation.parameter</code> (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2093" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2093/hovercard">#2093</a>)</li> <li><code>db</code>: Make <code>db.response.returned_rows</code> opt-in on <code>release_candidate</code> spans (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2211" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2211/hovercard">#2211</a>)</li> <li><code>db</code>: Use <code>|</code> as the separator when <code>db.namespace</code> is a concatenation of multiple components. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2067" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2067/hovercard">#2067</a>)</li> <li><code>feature_flag</code>: Rename <code>feature_flag.provider_name</code> to <code>feature_flag.provider.name</code> (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1982" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1982/hovercard">#1982</a>)</li> <li><code>feature_flag</code>: Use generic <code>error.message</code> in feature flag evaluation event (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1994" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1994/hovercard">#1994</a>)</li> <li><code>gen-ai</code>: Refine the values for <code>gen_ai.system</code> related to Google's AI endpoints. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1950" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1950/hovercard">#1950</a>)<br> Enable sharing of attributes between Vertex AI and Gemini through a common prefix.</li> <li><code>k8s</code>: Make k8s Node and Pod labels optional (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2079" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2079/hovercard">#2079</a>)</li> <li><code>otel</code>: Rename span health metrics to remove the .count suffixes (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1979" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1979/hovercard">#1979</a>)</li> </ul> <h3>🚀 New components 🚀</h3> <ul> <li><code>db</code>: Adding semantic conventions for <code>oracledb</code> instrumentations. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2612">#2612</a>)<br> Oracle Database semantic conventions.</li> <li><code>browser</code>: Add browser web vitals event. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1940" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1940/hovercard">#1940</a>)</li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li><code>cicd</code>: Add resource conventions for CICD systems and define spans for CICD pipeline runs. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1713" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1713/hovercard">#1713</a>)<br> Define spans <code>cicd.pipeline.run.server</code> and <code>cicd.pipeline.task.internal</code>.<br> Add <code>cicd.pipeline.action.name</code>, <code>cicd.worker.id</code>, <code>cicd.worker.name</code>, <code>cicd.worker.url.full</code> and<code>cicd.pipeline.task.run.result</code> to attribute registry.<br> Define resources <code>cicd.pipeline</code>, <code>cicd.pipeline.run</code> and <code>cicd.worker</code>.<br> Add entity associations in cicd metrics for these new cicd resources.</li> <li><code>vcs</code>: Add resource conventions for VCS systems and VCS references. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1713" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1713/hovercard">#1713</a>)<br> Define resources <code>vcs.repo</code> and <code>vcs.ref</code>.<br> Add entity associations in vcs metrics for these new vcs resources.</li> <li><code>gen-ai</code>: Adding span for invoke agent (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1842" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1842/hovercard">#1842</a>)</li> <li><code>gen-ai</code>: Adding gen_ai.tool.description to the span attributes (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2087" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2087/hovercard">#2087</a>)</li> <li><code>gen-ai</code>: Separate inference and embeddings span definitions, remove irrelevant attributes from the create agent span. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1924" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1924/hovercard">#1924</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/2122" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2122/hovercard">#2122</a>)</li> <li><code>general</code>: Provide guidance on modeling lat/lon, x/y, etc (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2145" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2145/hovercard">#2145</a>)</li> <li><code>db</code>: Move <code>db.query.parameter.<key></code> from release_candidate back to development. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2194" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2194/hovercard">#2194</a>)</li> <li><code>db</code>: Mark database semantic conventions as stable for MariaDB, Microsoft SQL Server, MySQL, and PostgreSQL. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2199" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2199/hovercard">#2199</a>)</li> <li><code>db</code>: Make <code>db.operation.name</code> required where it's available, add recommendation for instrumentation point. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2200" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2200/hovercard">#2200</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/2098" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2098/hovercard">#2098</a>)</li> <li><code>db</code>: Add <code>db.stored_procedure.name</code> to the general span conventions (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2205" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2205/hovercard">#2205</a>)</li> <li><code>db</code>: Add an option to generate <code>db.query.summary</code> from operation name and target, remove it from CosmosDB. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2206" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2206/hovercard">#2206</a>)</li> <li><code>db</code>: Add <code>db.operation.name</code> and <code>db.collection.name</code> to SQL for higher-level APIs (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2207" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2207/hovercard">#2207</a>)</li> <li><code>jvm</code>: Add <code>jvm.file_descriptor.count</code> as an in-development metric to track the number of open file descriptors as reported by the JVM. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1838" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1838/hovercard">#1838</a>)</li> <li><code>jvm</code>: Add <code>jvm.gc.cause</code> to metric <code>jvm.gc.duration</code> as an opt-in attribute to track gc cause. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2065" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2065/hovercard">#2065</a>)</li> <li><code>process</code>: Add process.environment_variable. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/672" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/672/hovercard">#672</a>)</li> <li><code>app</code>: Defines two new click events for the app domain (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2070" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2070/hovercard">#2070</a>)</li> <li><code>code</code>: Mark <code>code.*</code> semantic conventions as stable (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1377" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1377/hovercard">#1377</a>)</li> <li><code>k8s</code>: Introduce semantic conventions for k8s CronJob labels and annotations (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2138" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2138/hovercard">#2138</a>)</li> <li><code>k8s</code>: Introduce semantic conventions for k8s DaemonSet labels and annotations (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2136" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2136/hovercard">#2136</a>)</li> <li><code>k8s</code>: Introduce semantic conventions for k8s Deployment labels and annotations (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2134" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2134/hovercard">#2134</a>)</li> <li><code>system</code>: Added entity association template rendering and policies. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1276" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1276/hovercard">#1276</a>)</li> <li><code>gen_ai</code>: Document <code>generate_content</code> as a permissible value of <code>gen_ai.operation.name</code>. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2048" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2048/hovercard">#2048</a>)</li> <li><code>k8s</code>: Introduce semantic conventions for k8s Job labels and annotations (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2137" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2137/hovercard">#2137</a>)</li> <li><code>otel</code>: Adds SDK self-monitoring metrics for metric processing (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2016" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2016/hovercard">#2016</a>)</li> <li><code>k8s</code>: Introduce semantic conventions for k8s Namespace labels and annotations (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2131" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2131/hovercard">#2131</a>)</li> <li><code>k8s</code>: Introduce semantic conventions for k8s Node labels and annotations (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2079" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2079/hovercard">#2079</a>)</li> <li><code>k8s</code>: Introduce semantic conventions for k8s ReplicaSet labels and annotations (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2132" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2132/hovercard">#2132</a>)</li> <li><code>otel</code>: Adds SDK self-monitoring metric for exporter call duration (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1906" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1906/hovercard">#1906</a>)</li> <li><code>k8s</code>: Introduce semantic conventions for k8s StatefulSet labels and annotations (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2135" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2135/hovercard">#2135</a>)</li> </ul> <h3>🧰 Bug fixes 🧰</h3> <ul> <li><code>gen-ai</code>: Removed irrelevant response attributes on GenAI create agent span. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1924" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1924/hovercard">#1924</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/2116" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2116/hovercard">#2116</a>)</li> <li><code>vcs</code>: Fix typo in gitea name (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2057" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2057/hovercard">#2057</a>)</li> <li><code>gen-ai</code>: Add invoke_agent as a member of gen_ai.operation.name (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2160" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2160/hovercard">#2160</a>)</li> <li><code>db</code>: Clarify <code>db.query.summary</code> for stored procedures (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2218" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2218/hovercard">#2218</a>)</li> </ul> |
||
|
|
0fc383a3ac |
Release log/v0.12.2 (#6806)
Resolve #6803 - Retract `v0.12.0` release of `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` module that contains invalid dependencies. (#6804) - Retract `v0.12.0` release of `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp` module that contains invalid dependencies. (#6804) - Retract `v0.12.0` release of `go.opentelemetry.io/otel/exporters/stdout/stdoutlog` module that contains invalid dependencies. (#6804) --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
b64535e2df |
Retract v0.12.0 for log exporters (#6804)
Part of #6803. This needs to be released for that issue to be resolved. |
||
|
|
4c7da64bb1 | Fix broken link in changelog (#6805) | ||
|
|
355c8ccc26 |
Release experimental logs 0.12.1 (#6802)
# Overview ### Fixes - Use the proper dependency version of `go.opentelemetry.io/otel/sdk/log/logtest` in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#6800) - Use the proper dependency version of `go.opentelemetry.io/otel/sdk/log/logtest` in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6800) - Use the proper dependency version of `go.opentelemetry.io/otel/sdk/log/logtest` in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog`. (#6800) |
||
|
|
c359e91ea2 |
Fix dependencies to unreleased sdk/logtest (#6800)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6801 `sdk/log/logtest`, which is exported into its own module, is also not released. Yet the package upgrade turned it into its own version, which went unseen because the local import is using a replace statement. For some reason, this also wasn't triggered when I [checked the contrib repo](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/RELEASING.md#verify-otel-changes). I believe we need to cut 0.12.1 for those three modules. --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
a85ae98dce |
Release v1.36.0/v0.58.0/v0.12.0 (#6793)
# Overview Closes https://github.com/open-telemetry/opentelemetry-go/issues/6786 ### Added - Add exponential histogram support in `go.opentelemetry.io/otel/exporters/prometheus`. (#6421) - The `go.opentelemetry.io/otel/semconv/v1.31.0` package. The package contains semantic conventions from the `v1.31.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.31.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.30.0`. (#6479) - Add `Recording`, `Scope`, and `Record` types in `go.opentelemetry.io/otel/log/logtest`. (#6507) - Add `WithHTTPClient` option to configure the `http.Client` used by `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp`. (#6751) - Add `WithHTTPClient` option to configure the `http.Client` used by `go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp`. (#6752) - Add `WithHTTPClient` option to configure the `http.Client` used by `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6688) - Add `ValuesGetter` in `go.opentelemetry.io/otel/propagation`, a `TextMapCarrier` that supports retrieving multiple values for a single key. (#5973) - Add `Values` method to `HeaderCarrier` to implement the new `ValuesGetter` interface in `go.opentelemetry.io/otel/propagation`. (#5973) - Update `Baggage` in `go.opentelemetry.io/otel/propagation` to retrieve multiple values for a key when the carrier implements `ValuesGetter`. (#5973) - Add `AssertEqual` function in `go.opentelemetry.io/otel/log/logtest`. (#6662) - The `go.opentelemetry.io/otel/semconv/v1.32.0` package. The package contains semantic conventions from the `v1.32.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.32.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.31.0`(#6782) - Add `Transform` option in `go.opentelemetry.io/otel/log/logtest`. (#6794) - Add `Desc` option in `go.opentelemetry.io/otel/log/logtest`. (#6796) ### Removed - Drop support for [Go 1.22]. (#6381, #6418) - Remove `Resource` field from `EnabledParameters` in `go.opentelemetry.io/otel/sdk/log`. (#6494) - Remove `RecordFactory` type from `go.opentelemetry.io/otel/log/logtest`. (#6492) - Remove `ScopeRecords`, `EmittedRecord`, and `RecordFactory` types from `go.opentelemetry.io/otel/log/logtest`. (#6507) - Remove `AssertRecordEqual` function in `go.opentelemetry.io/otel/log/logtest`, use `AssertEqual` instead. (#6662) ### Changed - ⚠️ Update `github.com/prometheus/client_golang` to `v1.21.1`, which changes the `NameValidationScheme` to `UTF8Validation`. This allows metrics names to keep original delimiters (e.g. `.`), rather than replacing with underscores. This can be reverted by setting `github.com/prometheus/common/model.NameValidationScheme` to `LegacyValidation` in `github.com/prometheus/common/model`. (#6433) - Initialize map with `len(keys)` in `NewAllowKeysFilter` and `NewDenyKeysFilter` to avoid unnecessary allocations in `go.opentelemetry.io/otel/attribute`. (#6455) - `go.opentelemetry.io/otel/log/logtest` is now a separate Go module. (#6465) - `go.opentelemetry.io/otel/sdk/log/logtest` is now a separate Go module. (#6466) - `Recorder` in `go.opentelemetry.io/otel/log/logtest` no longer separately stores records emitted by loggers with the same instrumentation scope. (#6507) - Improve performance of `BatchProcessor` in `go.opentelemetry.io/otel/sdk/log` by not exporting when exporter cannot accept more. (#6569, #6641) ### Deprecated - Deprecate support for `model.LegacyValidation` for `go.opentelemetry.io/otel/exporters/prometheus`. (#6449) ### Fixes - Stop percent encoding header environment variables in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc` and `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6392) - Ensure the `noopSpan.tracerProvider` method is not inlined in `go.opentelemetry.io/otel/trace` so the `go.opentelemetry.io/auto` instrumentation can instrument non-recording spans. (#6456) - Use a `sync.Pool` instead of allocating `metricdata.ResourceMetrics` in `go.opentelemetry.io/otel/exporters/prometheus`. (#6472) --------- Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
3f85c35038 |
logtest: add Desc (#6796)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6490 Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6341 |
||
|
|
2d4c9dc115 |
Add semconv/v1.32.0 (#6782)
- Add the new metric API package structure prototyped in https://github.com/MrAlias/semconv-go Prototypes of new metric API use: - https://github.com/MrAlias/opentelemetry-go-contrib/pull/6136 - https://github.com/MrAlias/opentelemetry-go-contrib/pull/6135 - https://github.com/MrAlias/opentelemetry-go-contrib/pull/6134 - Generate `semconv/v1.32.0` - Drop the `kestrel` metric namespace as this is a Java specific technology ## [`v1.32.0` semantic convention release notes](https://github.com/open-telemetry/semantic-conventions/releases/tag/v1.32.0): <div data-pjax="true" data-test-selector="body-content" data-view-component="true" class="markdown-body my-3"><p>📣 This release is the second release candidate for the Database Semantic Conventions, with <strong>db conventions stability planned to be declared in the subsequent release</strong>.</p> <h3>🛑 Breaking changes 🛑</h3> <ul> <li><code>device</code>: Change the definition of <code>device.id</code> and make it opt-in. (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1874" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1874/hovercard">#1874</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/1951" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1951/hovercard">#1951</a>)</li> <li><code>feature_flag</code>: Rename <code>evaluation</code> to <code>result</code> for feature flag evaluation result attributes (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1989" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1989/hovercard">#1989</a>)</li> </ul> <h3>🚀 New components 🚀</h3> <ul> <li><code>app</code>: Create <code>app.installation.id</code> attribute (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1874" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1874/hovercard">#1874</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/1897" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1897/hovercard">#1897</a>)</li> <li><code>cpython</code>: Add CPython runtime garbage collector metrics (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1930" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1930/hovercard">#1930</a>)</li> </ul> <h3>💡 Enhancements 💡</h3> <ul> <li><code>vcs</code>: Add owner and provider name to VCS attribute registry (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1452" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1452/hovercard">#1452</a>)</li> <li><code>vcs</code>: Remove fallback value for VCS provider name attribute (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2020" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/2020/hovercard">#2020</a>)</li> <li><code>db</code>: Truncate <code>db.query.summary</code> to 255 characters if parsed from the query (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1978" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1978/hovercard">#1978</a>)</li> <li><code>db</code>: Normalize spaces in <code>db.operation.name</code> (if any) (<a href="https://github.com/open-telemetry/semantic-conventions/issues/2028" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/2028/hovercard">#2028</a>)</li> <li><code>db</code>: <code>db.operation.parameter.<key></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> |
||
|
|
fe523bd15a |
logtest: add Transform (#6794)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6491 Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6489 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6341 Per https://github.com/open-telemetry/opentelemetry-go/pull/6774#discussion_r2091424563 |
||
|
|
f410084b21 |
propagation: extract of multiple header values (#5973)
* Add `ValuesGetter` interface, an optional `TextMapCarrier` feature that adds `Values(string) []string`. * `HeaderCarrier` implements `ValuesGetter`. * Change `Baggage` to use the `Values()` method if it's implemented. Notable comment: https://github.com/open-telemetry/opentelemetry-go/pull/5973#discussion_r2074894706 Adds tests extracting requests with multiple 'baggage' headers set. Does not introduce any breaking changes or alter any existing tests. Spec issue: https://github.com/open-telemetry/opentelemetry-specification/issues/433 Corresponding Java prototype: https://github.com/open-telemetry/opentelemetry-java/pull/6852 --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: dmathieu <42@dmathieu.com> |
||
|
|
bf7ffa3900 |
log/logtest: Add AssertEqual and remove AssertRecordEqual (#6662)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6487 Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6488 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6341 Prior-art: https://github.com/open-telemetry/opentelemetry-go/pull/6464 Replace `AssertRecordEqual` with `AssertEqual` which accepts options and can work not only with `Record` but most importantly, whole `Recording`. The changes between the previous approach are inspired by the design of https://pkg.go.dev/go.opentelemetry.io/otel/sdk/metric/metricdata/metricdatatest. Thanks to it we continue to use the "assert" pattern, but are not impacted by downsides of `testify`. The main issue is that with `testify` we cannot force `[]log.KeyValue` to sort slices before comparing (unordered collection equality). This can make the tests too much "white-boxed" and can easy break during refactoring. Moreover, empty and nil slices are seen not equal which in this case is not relevant. Here is an example of how the current tests of log bridges can be improved: - https://github.com/open-telemetry/opentelemetry-go-contrib/pull/6953 |
||
|
|
5cd1611cda |
otlptracehttp: Add WithHTTPClient option (#6751)
Follows https://github.com/open-telemetry/opentelemetry-go/pull/6688 Towards (for OTLP trace exporter): - https://github.com/open-telemetry/opentelemetry-go/issues/4536 - https://github.com/open-telemetry/opentelemetry-go/issues/5129 - https://github.com/open-telemetry/opentelemetry-go/issues/2632 |
||
|
|
b66542529a |
otlpmetrichttp: Add WithHTTPClient option (#6752)
Follows https://github.com/open-telemetry/opentelemetry-go/pull/6688 Towards (for OTLP metric exporter): - https://github.com/open-telemetry/opentelemetry-go/issues/4536 - https://github.com/open-telemetry/opentelemetry-go/issues/5129 - https://github.com/open-telemetry/opentelemetry-go/issues/2632 |
||
|
|
cf8179a373 |
otlploghttp: Add WithHTTPClient option (#6688)
Towards (for OTLP logs exporter): - https://github.com/open-telemetry/opentelemetry-go/issues/4536 - https://github.com/open-telemetry/opentelemetry-go/issues/5129 - https://github.com/open-telemetry/opentelemetry-go/issues/2632 Per https://github.com/open-telemetry/opentelemetry-go/pull/6362/files#r1978191352 Providing `WithHTTPClient` option allows easy interoperability e.g. with https://pkg.go.dev/golang.org/x/oauth2/clientcredentials#Config.Client and also see https://github.com/open-telemetry/opentelemetry-go/issues/2632. The options is also similar to: https://pkg.go.dev/go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc#WithGRPCConn I favor this over https://github.com/open-telemetry/opentelemetry-go/pull/6686 The option for OTLP span and metrics exporters will be added in separate PRs. |
||
|
|
ba37ae0f8b |
log/logtest: Change Recorder.Result (#6507)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6486 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6341 `Recorder` in `go.opentelemetry.io/otel/log/logtest` no longer separately stores records emitted by loggers with the same instrumentation scope. Prior-art: https://github.com/open-telemetry/opentelemetry-go/pull/6464 |
||
|
|
a6e302fa86 |
sdk/log: remove unnecessary b.q.Len() call (#6641)
Addresses https://github.com/open-telemetry/opentelemetry-go/pull/6569#discussion_r2037896972 |
||
|
|
a5abd88e1d |
Optimize Logs SDK BatchProcessor (#6569)
Towards: https://github.com/open-telemetry/opentelemetry-go/issues/6382 This PR optimizes Logs SDK BatchProcessor. ## Why? <!-- was i so blind --> Batch processor does not check if buffer exporter is full, instead it clones records to buffer, then tries to push them to buffer exporter, and then buffer exporter will return false from EnqueueExport if it is full. It does not cause any performance issues when using NOOP exporter, because it "exports" instantly. -> Buffer exporter input channel will almost never be full. But actual implementations of exporters are not going to act that way, they need some time for export operation. And so buffer exporter will get full fairly frequently. Each export attempt to buffer exporter costs us copying entire queue inside of batch processor. In order to catch this or similar performance bottleneck in the future, new benchmark (`BatchSimulateExport`) was added which will use exporter that will simulate non-instant export by sleeping for 5ms. ## Benchmarks ```sh goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/sdk/log cpu: AMD Ryzen 9 7900X 12-Core Processor │ base.txt │ new.txt │ │ sec/op │ sec/op vs base │ Processor/Simple-24 340.9n ± 2% 343.5n ± 5% ~ (p=0.971 n=10) Processor/Batch-24 667.6n ± 2% 666.3n ± 4% ~ (p=0.896 n=10) Processor/BatchSimulateExport-24 4441.5n ± 5% 526.4n ± 4% -88.15% (p=0.000 n=10) Processor/SetTimestampSimple-24 360.0n ± 4% 351.0n ± 1% ~ (p=0.247 n=10) Processor/SetTimestampBatch-24 669.8n ± 3% 647.0n ± 5% ~ (p=0.052 n=10) Processor/AddAttributesSimple-24 383.9n ± 1% 386.6n ± 5% ~ (p=0.138 n=10) Processor/AddAttributesBatch-24 759.9n ± 6% 734.5n ± 5% ~ (p=0.481 n=10) Processor/SetAttributesSimple-24 369.9n ± 2% 372.4n ± 3% ~ (p=0.643 n=10) Processor/SetAttributesBatch-24 684.2n ± 4% 674.0n ± 8% ~ (p=0.529 n=10) geomean 639.9n 499.9n -21.88% │ base.txt │ new.txt │ │ B/op │ B/op vs base │ Processor/Simple-24 450.0 ± 0% 450.0 ± 0% ~ (p=1.000 n=10) ¹ Processor/Batch-24 1.153Ki ± 2% 1.125Ki ± 1% -2.41% (p=0.001 n=10) Processor/BatchSimulateExport-24 649.0 ± 1% 473.0 ± 0% -27.12% (p=0.000 n=10) Processor/SetTimestampSimple-24 450.0 ± 0% 450.0 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetTimestampBatch-24 1.145Ki ± 2% 1.122Ki ± 2% -2.01% (p=0.003 n=10) Processor/AddAttributesSimple-24 450.0 ± 0% 450.0 ± 0% ~ (p=1.000 n=10) ¹ Processor/AddAttributesBatch-24 1.169Ki ± 2% 1.148Ki ± 1% -1.80% (p=0.000 n=10) Processor/SetAttributesSimple-24 450.0 ± 0% 450.0 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetAttributesBatch-24 1.141Ki ± 2% 1.128Ki ± 2% -1.11% (p=0.030 n=10) geomean 719.3 688.7 -4.24% ¹ all samples are equal │ base.txt │ new.txt │ │ allocs/op │ allocs/op vs base │ Processor/Simple-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/Batch-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/BatchSimulateExport-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetTimestampSimple-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetTimestampBatch-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/AddAttributesSimple-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/AddAttributesBatch-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetAttributesSimple-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ Processor/SetAttributesBatch-24 1.000 ± 0% 1.000 ± 0% ~ (p=1.000 n=10) ¹ geomean 1.000 1.000 +0.00% ¹ all samples are equal ``` ## Benchmarks from issue (external) ```sh goos: linux goarch: amd64 pkg: github.com/pellared/spanevents-vs-logs cpu: AMD Ryzen 9 7900X 12-Core Processor │ spanevents.txt │ logs.base.txt │ logs.new.txt │ │ sec/op │ sec/op vs base │ sec/op vs base │ /OTLP-24 41.40µ ± 3% 2935.15µ ± 9% +6989.05% (p=0.000 n=10) 84.19µ ± 4% +103.34% (p=0.000 n=10) /STDOUT-24 39.55µ ± 4% 623.45µ ± 1% +1476.21% (p=0.000 n=10) 89.51µ ± 3% +126.29% (p=0.000 n=10) /NOOP-24 13.179µ ± 2% 4.950µ ± 1% -62.44% (p=0.000 n=10) 4.932µ ± 1% -62.58% (p=0.000 n=10) geomean 27.84µ 208.4µ +648.68% 33.37µ +19.86% │ spanevents.txt │ logs.base.txt │ logs.new.txt │ │ B/op │ B/op vs base │ B/op vs base │ /OTLP-24 98.90Ki ± 8% 210.44Ki ± 0% +112.79% (p=0.000 n=10) 52.01Ki ± 0% -47.41% (p=0.000 n=10) /STDOUT-24 91.01Ki ± 0% 286.62Ki ± 0% +214.93% (p=0.000 n=10) 81.67Ki ± 1% -10.27% (p=0.000 n=10) /NOOP-24 29840.0 ± 0% 240.0 ± 0% -99.20% (p=0.000 n=10) 240.0 ± 0% -99.20% (p=0.000 n=10) geomean 64.01Ki 24.18Ki -62.23% 9.985Ki -84.40% │ spanevents.txt │ logs.base.txt │ logs.new.txt │ │ allocs/op │ allocs/op vs base │ allocs/op vs base │ /OTLP-24 699.0 ± 20% 2174.5 ± 1% +211.09% (p=0.000 n=10) 249.5 ± 1% -64.31% (p=0.000 n=10) /STDOUT-24 646.5 ± 1% 4912.5 ± 0% +659.86% (p=0.000 n=10) 872.5 ± 2% +34.96% (p=0.000 n=10) /NOOP-24 303.000 ± 0% 3.000 ± 0% -99.01% (p=0.000 n=10) 3.000 ± 0% -99.01% (p=0.000 n=10) geomean 515.4 317.6 -38.37% 86.76 -83.17% ``` ```sh goos: linux goarch: amd64 pkg: github.com/pellared/spanevents-vs-logs cpu: AMD Ryzen 9 7900X 12-Core Processor │ logs.base.txt │ logs.new.txt │ │ sec/op │ sec/op vs base │ /OTLP-24 2935.15µ ± 9% 84.19µ ± 4% -97.13% (p=0.000 n=10) /STDOUT-24 623.45µ ± 1% 89.51µ ± 3% -85.64% (p=0.000 n=10) /NOOP-24 4.950µ ± 1% 4.932µ ± 1% ~ (p=0.342 n=10) geomean 208.4µ 33.37µ -83.99% │ logs.base.txt │ logs.new.txt │ │ B/op │ B/op vs base │ /OTLP-24 210.44Ki ± 0% 52.01Ki ± 0% -75.28% (p=0.000 n=10) /STDOUT-24 286.62Ki ± 0% 81.67Ki ± 1% -71.51% (p=0.000 n=10) /NOOP-24 240.0 ± 0% 240.0 ± 0% ~ (p=1.000 n=10) ¹ geomean 24.18Ki 9.985Ki -58.70% ¹ all samples are equal │ logs.base.txt │ logs.new.txt │ │ allocs/op │ allocs/op vs base │ /OTLP-24 2174.5 ± 1% 249.5 ± 1% -88.53% (p=0.000 n=10) /STDOUT-24 4912.5 ± 0% 872.5 ± 2% -82.24% (p=0.000 n=10) /NOOP-24 3.000 ± 0% 3.000 ± 0% ~ (p=1.000 n=10) ¹ geomean 317.6 86.76 -72.69% ¹ all samples are equal ``` --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
9d8b6161dd |
Remove prometheus legacy validation warning (#6590)
I have been chatting with @bwplotka, who wouldn't recommend removing the support for the legacy scheme now. Indeed, some system don't support the new scheme yet (such as cortex). So removing this will entirely prevent those users form upgrading their SDK. They are going to remove the deprecation from the legacy method on common, at least until the new scheme can be used in enough systems. --------- Co-authored-by: Sam Xie <sam@samxie.me> |
||
|
|
75973eccbf |
exporters: prometheus: add exponential (native) histogram support (#6421)
Almost closes 5777. Adding native (exponential) histogram support to the Prometheus exporter. I tested it with a toy program, and the result looks good. I added a unit test. --------- Signed-off-by: Giedrius Statkevičius <giedrius.statkevicius@vinted.com> Co-authored-by: Sam Xie <sam@samxie.me> |
||
|
|
905684c58a |
Ignore deprecation warnings about NameValidationScheme (#6449)
In 0.63.0, prometheus deprecates the `model.NameValidationScheme` attribute. https://github.com/open-telemetry/opentelemetry-go/actions/runs/13885046847/job/38848614767?pr=6442 > Error: exporter_test.go:478:6: SA1019: model.NameValidationScheme is deprecated: This variable should not be used and might be removed in the far future. If you wish to stick to the legacy name validation use `IsValidLegacyMetricName()` and `LabelName.IsValidLegacy()` methods instead. This variable is here as an escape hatch for emergency cases, given the recent change from `LegacyValidation` to `UTF8Validation`, e.g., to delay UTF-8 migrations in time or aid in debugging unforeseen results of the change. In such a case, a temporary assignment to `LegacyValidation` value in the `init()` function in your main.go or so, could be considered. (staticcheck) We probably want to keep supporting this scheme in the near future though. So this ignores those deprecations, so we can upgrade the package. Unblocks https://github.com/open-telemetry/opentelemetry-go/pull/6442 |
||
|
|
95e5bbab98 |
Generate v1.31.0 semconv (#6479)
- 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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/1377" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1377/hovercard">#1377</a>)</p> </li> <li> <p><code>gen-ai</code>: Added AI Agent Semantic Convention (<a href="https://github.com/open-telemetry/semantic-conventions/issues/1732" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/semantic-conventions/issues/1732/hovercard">#1732</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/1863" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/semantic-conventions/pull/1863/hovercard">#1863</a>, <a href="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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="https://github.com/open-telemetry/semantic-conventions/issues/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 <pellared@hotmail.com> |
||
|
|
dbc3bce6fa |
log/logtest: Remove RecordFactory (#6492)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6485 Towards https://github.com/open-telemetry/opentelemetry-go/issues/6341 `RecordFactory` is unused. |
||
|
|
84ff4da7ab |
sdk/log: remove EnabledParameters.Resource (#6494)
Per https://github.com/open-telemetry/opentelemetry-specification/pull/4439#discussion_r1980165954 |
||
|
|
f39f16c6ca |
sdk/log/logtest: new module (#6466)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6378 |
||
|
|
f556bd3211 |
prometheus: use a sync.Pool instead of allocating metricdata.ResourceMetrics in Collect (#6472)
Fix #3047 Use a `sync.Pool` instead of allocating `metricdata.ResourceMetrics` in `go.opentelemetry.io/otel/exporters/prometheus` ```shell goos: darwin goarch: arm64 pkg: go.opentelemetry.io/otel/exporters/prometheus cpu: Apple M3 │ before.txt │ after.txt │ │ sec/op │ sec/op vs base │ Collect1-8 8.273µ ± 0% 8.013µ ± 5% ~ (p=0.065 n=6) Collect10-8 23.84µ ± 0% 22.40µ ± 3% -6.02% (p=0.002 n=6) Collect100-8 148.0µ ± 0% 139.4µ ± 0% -5.84% (p=0.002 n=6) Collect1000-8 1.326m ± 0% 1.244m ± 1% -6.14% (p=0.002 n=6) Collect10000-8 15.90m ± 1% 14.51m ± 1% -8.77% (p=0.002 n=6) geomean 227.9µ 214.3µ -6.00% │ before.txt │ after.txt │ │ B/op │ B/op vs base │ Collect1-8 35.65Ki ± 0% 34.49Ki ± 0% -3.24% (p=0.002 n=6) Collect10-8 55.78Ki ± 0% 45.57Ki ± 0% -18.31% (p=0.002 n=6) Collect100-8 260.8Ki ± 0% 174.1Ki ± 0% -33.23% (p=0.002 n=6) Collect1000-8 2.307Mi ± 0% 1.537Mi ± 1% -33.38% (p=0.002 n=6) Collect10000-8 22.47Mi ± 0% 14.75Mi ± 4% -34.36% (p=0.002 n=6) geomean 489.8Ki 365.3Ki -25.42% │ before.txt │ after.txt │ │ allocs/op │ allocs/op vs base │ Collect1-8 72.00 ± 0% 66.00 ± 0% -8.33% (p=0.002 n=6) Collect10-8 398.0 ± 0% 375.0 ± 0% -5.78% (p=0.002 n=6) Collect100-8 3.662k ± 0% 3.491k ± 0% -4.67% (p=0.002 n=6) Collect1000-8 36.15k ± 0% 34.62k ± 0% -4.24% (p=0.002 n=6) Collect10000-8 361.0k ± 0% 345.7k ± 0% -4.25% (p=0.002 n=6) geomean 4.239k 4.008k -5.47% ``` |
||
|
|
1b8fe16bea |
log/logtest: new module (#6465)
Towards https://github.com/open-telemetry/opentelemetry-go/issues/6378 |
||
|
|
90a9d1d936 |
Do not inline noopSpan.tracerProvider (#6456)
Currently, the `noopSpan.tracerProvider` is inlined into `noopSpan.TracerProvider` for binaries built with standard tooling. This function is needed in the ELF file for auto-instrumentation. Ensure this, and the other required methods are always kept isolated. cc @open-telemetry/go-instrumentation-approvers --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
8dc08e26b4 |
attribute: preallocate map in NewAllowKeysFilter and NewDenyKeysFilter (#6455)
preallocate map in `NewAllowKeysFilter` and `NewDenyKeysFilter` to avoid necessary allocations |
||
|
|
921e0e679e |
chore(deps): update github.com/prometheus/client_golang to v1.21.1 (#6433)
There are changes in how testutil.GatherAndCompare behaves in tests, this PR updates the testcases and bumps the `github.com/prometheus/client_golang` dependency to `v1.21.1` Signed-off-by: ajatprabha <ajat.prabha.leo@gmail.com> Co-authored-by: Damien Mathieu <42@dmathieu.com> |
||
|
|
efe325aa95 |
Stop percent-encoding the header environment variables in otlplog exporters (#6392)
Bugfixes for #5623 Based on the conversation https://github.com/open-telemetry/opentelemetry-go/issues/5623#issuecomment-2331089315, only OTLP log exporters need bugfixes. --------- Co-authored-by: Damien Mathieu <42@dmathieu.com> Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
838643a3a5 |
Bump Go version for schema (#6418)
Fix https://github.com/open-telemetry/opentelemetry-go/actions/runs/13696022593/job/38298512564 > * schema/go.mod#L0C0:0: As of Go 1.21, toolchain versions [must use the 1.N.P syntax](https://go.dev/doc/> toolchain#version). > > `1.22` in `schema/go.mod` does not match this syntax and there is no additional `toolchain` directive, which may cause some `go` commands to fail. |
||
|
|
09ff8b107a | Drop support for Go 1.22 (#6381) | ||
|
|
5ba5e7a449 |
Release v1.35.0/v0.57.0/v0.11.0 (#6407)
## Overview This release is the last to support [Go 1.22]. The next release will require at least [Go 1.23]. ### Added - Add `ValueFromAttribute` and `KeyValueFromAttribute` in `go.opentelemetry.io/otel/log`. (#6180) - Add `EventName` and `SetEventName` to `Record` in `go.opentelemetry.io/otel/log`. (#6187) - Add `EventName` to `RecordFactory` in `go.opentelemetry.io/otel/log/logtest`. (#6187) - `AssertRecordEqual` in `go.opentelemetry.io/otel/log/logtest` checks `Record.EventName`. (#6187) - Add `EventName` and `SetEventName` to `Record` in `go.opentelemetry.io/otel/sdk/log`. (#6193) - Add `EventName` to `RecordFactory` in `go.opentelemetry.io/otel/sdk/log/logtest`. (#6193) - Emit `Record.EventName` field in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc`. (#6211) - Emit `Record.EventName` field in `go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp`. (#6211) - Emit `Record.EventName` field in `go.opentelemetry.io/otel/exporters/stdout/stdoutlog` (#6210) - The `go.opentelemetry.io/otel/semconv/v1.28.0` package. The package contains semantic conventions from the `v1.28.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.28.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.27.0`(#6236) - The `go.opentelemetry.io/otel/semconv/v1.30.0` package. The package contains semantic conventions from the `v1.30.0` version of the OpenTelemetry Semantic Conventions. See the [migration documentation](./semconv/v1.30.0/MIGRATION.md) for information on how to upgrade from `go.opentelemetry.io/otel/semconv/v1.28.0`(#6240) - Document the pitfalls of using `Resource` as a comparable type. `Resource.Equal` and `Resource.Equivalent` should be used instead. (#6272) - Support [Go 1.24]. (#6304) - Add `FilterProcessor` and `EnabledParameters` in `go.opentelemetry.io/otel/sdk/log`. It replaces `go.opentelemetry.io/otel/sdk/log/internal/x.FilterProcessor`. Compared to previous version it additionally gives the possibility to filter by resource and instrumentation scope. (#6317) ### Changed - Update `github.com/prometheus/common` to v0.62.0., which changes the `NameValidationScheme` to `NoEscaping`. This allows metrics names to keep original delimiters (e.g. `.`), rather than replacing with underscores. This is controlled by the `Content-Type` header, or can be reverted by setting `NameValidationScheme` to `LegacyValidation` in `github.com/prometheus/common/model`. (#6198) ### Fixes - Eliminate goroutine leak for the processor returned by `NewSimpleSpanProcessor` when `Shutdown` is called and the passed `ctx` is canceled and `SpanExporter.Shutdown` has not returned. (#6368) - Eliminate goroutine leak for the processor returned by `NewBatchSpanProcessor` when `ForceFlush` is called and the passed `ctx` is canceled and `SpanExporter.Export` has not returned. (#6369) [Go 1.23]: https://go.dev/doc/go1.23 [Go 1.22]: https://go.dev/doc/go1.22 --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> Co-authored-by: Tyler Yahn <MrAlias@users.noreply.github.com> |
||
|
|
9be18c14cb |
sdk/trace: Fix gorountine leak in batchSpanProcessor.ForceFlush (#6369)
Fixes https://github.com/open-telemetry/opentelemetry-go/issues/6360 Per https://github.com/open-telemetry/opentelemetry-go/issues/6360#issuecomment-2678080742: > So I'd fix this issue with the first proposed solution, and open an issue to change the behavior in a separate PR. ``` $ go test -run=TestBatchSpanProcessorForceFlushTimeout -count=1000 PASS ok go.opentelemetry.io/otel/sdk/trace 1.701s $ go test -run=TestBatchSpanProcessorForceFlushTimeout -count=1000 -race PASS ok go.opentelemetry.io/otel/sdk/trace 4.056s ``` @peterbourgon, thank you for your contribution 🏅 |
||
|
|
44d50457d9 |
sdk/trace: Fix goroutine leak in simpleSpanProcessor.Shutdown (#6368)
Side-effect when working towards https://github.com/open-telemetry/opentelemetry-go/issues/6360 - Fix goroutine leaks from tests in places where batch processor was not shut down - Fix goroutine leak in simpleSpanProcessor.Shutdown |
||
|
|
1ee7c79b73 |
sdk/log: Add FilterProcessor and EnabledParameters (#6317)
Per https://github.com/open-telemetry/opentelemetry-go/pull/6271#issuecomment-2657554647 > We agreed that we can move `FilterProcessor` directly to `sdk/log` as Logs SDK does not look to be stabilized soon. - Add the possibility to filter based on the resource and scope which is available for the SDK. The scope information is the most important as it gives the possibility to e.g. filter out logs emitted for a given logger. Thus e.g. https://github.com/open-telemetry/opentelemetry-specification/issues/4364 is not necessary. See https://github.com/open-telemetry/opentelemetry-specification/pull/4290#discussion_r1927546170 for more context. - It is going be an example for https://github.com/open-telemetry/opentelemetry-specification/issues/4363 There is a little overhead (IMO totally acceptable) because of data transformation. Most importantly, there is no new heap allocation. ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/sdk/log cpu: 13th Gen Intel(R) Core(TM) i7-13800H │ old.txt │ new.txt │ │ sec/op │ sec/op vs base │ LoggerEnabled-20 4.589n ± 1% 319.750n ± 16% +6867.75% (p=0.000 n=10) │ old.txt │ new.txt │ │ B/op │ B/op vs base │ LoggerEnabled-20 0.000Ki ± 0% 1.093Ki ± 13% ? (p=0.000 n=10) │ old.txt │ new.txt │ │ allocs/op │ allocs/op vs base │ LoggerEnabled-20 0.000 ± 0% 0.000 ± 0% ~ (p=1.000 n=10) ¹ ¹ all samples are equal ``` `Logger.Enabled` is still more efficient than `Logger.Emit` (benchmarks from https://github.com/open-telemetry/opentelemetry-go/pull/6315). ``` goos: linux goarch: amd64 pkg: go.opentelemetry.io/otel/sdk/log cpu: 13th Gen Intel(R) Core(TM) i7-13800H BenchmarkLoggerEmit/5_attributes-20 559934 2391 ns/op 39088 B/op 1 allocs/op BenchmarkLoggerEmit/10_attributes-20 1000000 5910 ns/op 49483 B/op 5 allocs/op BenchmarkLoggerEnabled-20 1605697 968.7 ns/op 1272 B/op 0 allocs/op PASS ok go.opentelemetry.io/otel/sdk/log 10.789s ``` Prior art: - https://github.com/open-telemetry/opentelemetry-go/pull/6271 - https://github.com/open-telemetry/opentelemetry-go/pull/6286 I also created for tracking purposes: - https://github.com/open-telemetry/opentelemetry-go/issues/6328 |
||
|
|
44ea53bad8 |
Add support for Go 1.24 (#6304)
Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
3c1286a9ea |
Document and check resource comparability (#6272)
Ensure backwards compatibility by adding a compile-time check that the Resource remains comparable. Document the shortcomings of direct comparison of a Resource. --------- Co-authored-by: Robert Pająk <pellared@hotmail.com> |
||
|
|
fa5a782c57 |
Generate semconv/v1.30.0 (#6240)
Resolve #6227 Generates the v1.30.0 version of semantic conventions in the added go.opentelemetry.io/otel/semconv/v1.30.0 package. Note: `v1.29.0` is skipped (https://github.com/open-telemetry/opentelemetry-go/issues/6228) ## Key differences from `v1.28.0` ### Deprecated and dropped in `v1.30.0` - `CodeColumn` - `CodeColumnKey` - `CodeFunction` - `CodeFunctionKey` - `DBCassandraConsistencyLevelAll` - `DBCassandraConsistencyLevelAny` - `DBCassandraConsistencyLevelEachQuorum` - `DBCassandraConsistencyLevelKey` - `DBCassandraConsistencyLevelLocalOne` - `DBCassandraConsistencyLevelLocalQuorum` - `DBCassandraConsistencyLevelLocalSerial` - `DBCassandraConsistencyLevelOne` - `DBCassandraConsistencyLevelQuorum` - `DBCassandraConsistencyLevelSerial` - `DBCassandraConsistencyLevelThree` - `DBCassandraConsistencyLevelTwo` - `DBCassandraCoordinatorDC` - `DBCassandraCoordinatorDCKey` - `DBCassandraCoordinatorID` - `DBCassandraCoordinatorIDKey` - `DBCassandraIdempotence` - `DBCassandraIdempotenceKey` - `DBCassandraPageSize` - `DBCassandraPageSizeKey` - `DBCassandraSpeculativeExecutionCount` - `DBCassandraSpeculativeExecutionCountKey` - `DBCosmosDBClientID` - `DBCosmosDBClientIDKey` - `DBCosmosDBConnectionModeDirect` - `DBCosmosDBConnectionModeGateway` - `DBCosmosDBConnectionModeKey` - `DBCosmosDBOperationTypeBatch` - `DBCosmosDBOperationTypeCreate` - `DBCosmosDBOperationTypeDelete` - `DBCosmosDBOperationTypeExecute` - `DBCosmosDBOperationTypeExecuteJavascript` - `DBCosmosDBOperationTypeHead` - `DBCosmosDBOperationTypeHeadFeed` - `DBCosmosDBOperationTypeInvalid` - `DBCosmosDBOperationTypeKey` - `DBCosmosDBOperationTypePatch` - `DBCosmosDBOperationTypeQuery` - `DBCosmosDBOperationTypeQueryPlan` - `DBCosmosDBOperationTypeRead` - `DBCosmosDBOperationTypeReadFeed` - `DBCosmosDBOperationTypeReplace` - `DBCosmosDBOperationTypeUpsert` - `DBCosmosDBRequestCharge` - `DBCosmosDBRequestChargeKey` - `DBCosmosDBRequestContentLength` - `DBCosmosDBRequestContentLengthKey` - `DBCosmosDBSubStatusCode` - `DBCosmosDBSubStatusCodeKey` - `DBElasticsearchNodeName` - `DBElasticsearchNodeNameKey` - `DBSystemAdabas` - `DBSystemCache` - `DBSystemCassandra` - `DBSystemClickhouse` - `DBSystemCloudscape` - `DBSystemCockroachdb` - `DBSystemColdfusion` - `DBSystemCosmosDB` - `DBSystemCouchDB` - `DBSystemCouchbase` - `DBSystemDb2` - `DBSystemDerby` - `DBSystemDynamoDB` - `DBSystemEDB` - `DBSystemElasticsearch` - `DBSystemFilemaker` - `DBSystemFirebird` - `DBSystemFirstSQL` - `DBSystemGeode` - `DBSystemH2` - `DBSystemHBase` - `DBSystemHSQLDB` - `DBSystemHanaDB` - `DBSystemHive` - `DBSystemInfluxdb` - `DBSystemInformix` - `DBSystemIngres` - `DBSystemInstantDB` - `DBSystemInterbase` - `DBSystemIntersystemsCache` - `DBSystemKey` - `DBSystemMSSQL` - `DBSystemMariaDB` - `DBSystemMaxDB` - `DBSystemMemcached` - `DBSystemMongoDB` - `DBSystemMssqlcompact` - `DBSystemMySQL` - `DBSystemNeo4j` - `DBSystemNetezza` - `DBSystemOpensearch` - `DBSystemOracle` - `DBSystemOtherSQL` - `DBSystemPervasive` - `DBSystemPointbase` - `DBSystemPostgreSQL` - `DBSystemProgress` - `DBSystemRedis` - `DBSystemRedshift` - `DBSystemSpanner` - `DBSystemSqlite` - `DBSystemSybase` - `DBSystemTeradata` - `DBSystemTrino` - `DBSystemVertica` - `EventName` - `EventNameKey` - `ExceptionEscaped` - `ExceptionEscapedKey` - `GenAIOpenaiRequestSeed` - `GenAIOpenaiRequestSeedKey` - `ProcessExecutableBuildIDProfiling` - `ProcessExecutableBuildIDProfilingKey` - `SystemNetworkStateClose` - `SystemNetworkStateCloseWait` - `SystemNetworkStateClosing` - `SystemNetworkStateDelete` - `SystemNetworkStateEstablished` - `SystemNetworkStateFinWait1` - `SystemNetworkStateFinWait2` - `SystemNetworkStateKey` - `SystemNetworkStateLastAck` - `SystemNetworkStateListen` - `SystemNetworkStateSynRecv` - `SystemNetworkStateSynSent` - `SystemNetworkStateTimeWait` - `VCSRepositoryChangeID` - `VCSRepositoryChangeIDKey` - `VCSRepositoryChangeTitle` - `VCSRepositoryChangeTitleKey` - `VCSRepositoryRefName` - `VCSRepositoryRefNameKey` - `VCSRepositoryRefRevision` - `VCSRepositoryRefRevisionKey` - `VCSRepositoryRefTypeBranch` - `VCSRepositoryRefTypeKey` - `VCSRepositoryRefTypeTag` ### Added in `v1.30.0` - `AWSExtendedRequestID` - `AWSExtendedRequestIDKey` - `AzureClientID` - `AzureClientIDKey` - `AzureCosmosDBClientActiveInstanceCountDescription` - `AzureCosmosDBClientActiveInstanceCountName` - `AzureCosmosDBClientActiveInstanceCountUnit` - `AzureCosmosDBClientOperationRequestChargeDescription` - `AzureCosmosDBClientOperationRequestChargeName` - `AzureCosmosDBClientOperationRequestChargeUnit` - `AzureCosmosDBConnectionModeDirect` - `AzureCosmosDBConnectionModeGateway` - `AzureCosmosDBConnectionModeKey` - `AzureCosmosDBConsistencyLevelBoundedStaleness` - `AzureCosmosDBConsistencyLevelConsistentPrefix` - `AzureCosmosDBConsistencyLevelEventual` - `AzureCosmosDBConsistencyLevelKey` - `AzureCosmosDBConsistencyLevelSession` - `AzureCosmosDBConsistencyLevelStrong` - `AzureCosmosDBOperationContactedRegions` - `AzureCosmosDBOperationContactedRegionsKey` - `AzureCosmosDBOperationRequestCharge` - `AzureCosmosDBOperationRequestChargeKey` - `AzureCosmosDBRequestBodySize` - `AzureCosmosDBRequestBodySizeKey` - `AzureCosmosDBResponseSubStatusCode` - `AzureCosmosDBResponseSubStatusCodeKey` - `CICDPipelineResultCancellation` - `CICDPipelineResultError` - `CICDPipelineResultFailure` - `CICDPipelineResultKey` - `CICDPipelineResultSkip` - `CICDPipelineResultSuccess` - `CICDPipelineResultTimeout` - `CICDPipelineRunActiveDescription` - `CICDPipelineRunActiveName` - `CICDPipelineRunActiveUnit` - `CICDPipelineRunDurationDescription` - `CICDPipelineRunDurationName` - `CICDPipelineRunDurationUnit` - `CICDPipelineRunErrorsDescription` - `CICDPipelineRunErrorsName` - `CICDPipelineRunErrorsUnit` - `CICDPipelineRunStateExecuting` - `CICDPipelineRunStateFinalizing` - `CICDPipelineRunStateKey` - `CICDPipelineRunStatePending` - `CICDSystemComponent` - `CICDSystemComponentKey` - `CICDSystemErrorsDescription` - `CICDSystemErrorsName` - `CICDSystemErrorsUnit` - `CICDWorkerCountDescription` - `CICDWorkerCountName` - `CICDWorkerCountUnit` - `CICDWorkerStateAvailable` - `CICDWorkerStateBusy` - `CICDWorkerStateKey` - `CICDWorkerStateOffline` - `CassandraConsistencyLevelAll` - `CassandraConsistencyLevelAny` - `CassandraConsistencyLevelEachQuorum` - `CassandraConsistencyLevelKey` - `CassandraConsistencyLevelLocalOne` - `CassandraConsistencyLevelLocalQuorum` - `CassandraConsistencyLevelLocalSerial` - `CassandraConsistencyLevelOne` - `CassandraConsistencyLevelQuorum` - `CassandraConsistencyLevelSerial` - `CassandraConsistencyLevelThree` - `CassandraConsistencyLevelTwo` - `CassandraCoordinatorDC` - `CassandraCoordinatorDCKey` - `CassandraCoordinatorID` - `CassandraCoordinatorIDKey` - `CassandraPageSize` - `CassandraPageSizeKey` - `CassandraQueryIdempotent` - `CassandraQueryIdempotentKey` - `CassandraSpeculativeExecutionCount` - `CassandraSpeculativeExecutionCountKey` - `CloudPlatformOracleCloudCompute` - `CloudPlatformOracleCloudOke` - `CloudProviderOracleCloud` - `CodeColumnNumber` - `CodeColumnNumberKey` - `CodeFunctionName` - `CodeFunctionNameKey` - `ContainerUptimeDescription` - `ContainerUptimeName` - `ContainerUptimeUnit` - `DBClientCosmosDBActiveInstanceCountDescription` - `DBClientCosmosDBActiveInstanceCountName` - `DBClientCosmosDBActiveInstanceCountUnit` - `DBClientCosmosDBOperationRequestChargeDescription` - `DBClientCosmosDBOperationRequestChargeName` - `DBClientCosmosDBOperationRequestChargeUnit` - `DBClientResponseReturnedRowsDescription` - `DBClientResponseReturnedRowsName` - `DBClientResponseReturnedRowsUnit` - `DBQuerySummary` - `DBQuerySummaryKey` - `DBResponseReturnedRows` - `DBResponseReturnedRowsKey` - `DBSystemNameAWSDynamoDB` - `DBSystemNameAWSRedshift` - `DBSystemNameActianIngres` - `DBSystemNameAzureCosmosDB` - `DBSystemNameCassandra` - `DBSystemNameClickhouse` - `DBSystemNameCockroachdb` - `DBSystemNameCouchDB` - `DBSystemNameCouchbase` - `DBSystemNameDerby` - `DBSystemNameElasticsearch` - `DBSystemNameFirebirdsql` - `DBSystemNameGCPSpanner` - `DBSystemNameGeode` - `DBSystemNameH2database` - `DBSystemNameHBase` - `DBSystemNameHSQLDB` - `DBSystemNameHive` - `DBSystemNameIbmDb2` - `DBSystemNameIbmInformix` - `DBSystemNameIbmNetezza` - `DBSystemNameInfluxdb` - `DBSystemNameInstantDB` - `DBSystemNameIntersystemsCache` - `DBSystemNameKey` - `DBSystemNameMariaDB` - `DBSystemNameMemcached` - `DBSystemNameMicrosoftSQLServer` - `DBSystemNameMongoDB` - `DBSystemNameMySQL` - `DBSystemNameNeo4j` - `DBSystemNameOpensearch` - `DBSystemNameOracleDB` - `DBSystemNameOtherSQL` - `DBSystemNamePostgreSQL` - `DBSystemNameRedis` - `DBSystemNameSapHana` - `DBSystemNameSapMaxDB` - `DBSystemNameSoftwareagAdabas` - `DBSystemNameSqlite` - `DBSystemNameTeradata` - `DBSystemNameTrino` - `ElasticsearchNodeName` - `ElasticsearchNodeNameKey` - `FeatureFlagContextID` - `FeatureFlagContextIDKey` - `FeatureFlagEvaluationErrorMessage` - `FeatureFlagEvaluationErrorMessageKey` - `FeatureFlagEvaluationReasonCached` - `FeatureFlagEvaluationReasonDefault` - `FeatureFlagEvaluationReasonDisabled` - `FeatureFlagEvaluationReasonError` - `FeatureFlagEvaluationReasonKey` - `FeatureFlagEvaluationReasonSplit` - `FeatureFlagEvaluationReasonStale` - `FeatureFlagEvaluationReasonStatic` - `FeatureFlagEvaluationReasonTargetingMatch` - `FeatureFlagEvaluationReasonUnknown` - `FeatureFlagSetID` - `FeatureFlagSetIDKey` - `FeatureFlagVersion` - `FeatureFlagVersionKey` - `GenAIOpenaiResponseSystemFingerprint` - `GenAIOpenaiResponseSystemFingerprintKey` - `GenAIOperationNameEmbeddings` - `GenAIRequestEncodingFormats` - `GenAIRequestEncodingFormatsKey` - `GenAIRequestSeed` - `GenAIRequestSeedKey` - `GenAISystemAWSBedrock` - `GenAISystemAzAIInference` - `GenAISystemAzAIOpenai` - `GenAISystemDeepseek` - `GenAISystemGemini` - `GenAISystemGroq` - `GenAISystemIbmWatsonxAI` - `GenAISystemMistralAI` - `GenAISystemPerplexity` - `GenAISystemXai` - `GeoContinentCodeAf` - `GeoContinentCodeAn` - `GeoContinentCodeAs` - `GeoContinentCodeEu` - `GeoContinentCodeKey` - `GeoContinentCodeNa` - `GeoContinentCodeOc` - `GeoContinentCodeSa` - `GeoCountryIsoCode` - `GeoCountryIsoCodeKey` - `GeoLocalityName` - `GeoLocalityNameKey` - `GeoLocationLat` - `GeoLocationLatKey` - `GeoLocationLon` - `GeoLocationLonKey` - `GeoPostalCode` - `GeoPostalCodeKey` - `GeoRegionIsoCode` - `GeoRegionIsoCodeKey` - `K8SCronJobActiveJobsDescription` - `K8SCronJobActiveJobsName` - `K8SCronJobActiveJobsUnit` - `K8SDaemonSetCurrentScheduledNodesDescription` - `K8SDaemonSetCurrentScheduledNodesName` - `K8SDaemonSetCurrentScheduledNodesUnit` - `K8SDaemonSetDesiredScheduledNodesDescription` - `K8SDaemonSetDesiredScheduledNodesName` - `K8SDaemonSetDesiredScheduledNodesUnit` - `K8SDaemonSetMisscheduledNodesDescription` - `K8SDaemonSetMisscheduledNodesName` - `K8SDaemonSetMisscheduledNodesUnit` - `K8SDaemonSetReadyNodesDescription` - `K8SDaemonSetReadyNodesName` - `K8SDaemonSetReadyNodesUnit` - `K8SDeploymentAvailablePodsDescription` - `K8SDeploymentAvailablePodsName` - `K8SDeploymentAvailablePodsUnit` - `K8SDeploymentDesiredPodsDescription` - `K8SDeploymentDesiredPodsName` - `K8SDeploymentDesiredPodsUnit` - `K8SHpaCurrentPodsDescription` - `K8SHpaCurrentPodsName` - `K8SHpaCurrentPodsUnit` - `K8SHpaDesiredPodsDescription` - `K8SHpaDesiredPodsName` - `K8SHpaDesiredPodsUnit` - `K8SHpaMaxPodsDescription` - `K8SHpaMaxPodsName` - `K8SHpaMaxPodsUnit` - `K8SHpaMinPodsDescription` - `K8SHpaMinPodsName` - `K8SHpaMinPodsUnit` - `K8SJobActivePodsDescription` - `K8SJobActivePodsName` - `K8SJobActivePodsUnit` - `K8SJobDesiredSuccessfulPodsDescription` - `K8SJobDesiredSuccessfulPodsName` - `K8SJobDesiredSuccessfulPodsUnit` - `K8SJobFailedPodsDescription` - `K8SJobFailedPodsName` - `K8SJobFailedPodsUnit` - `K8SJobMaxParallelPodsDescription` - `K8SJobMaxParallelPodsName` - `K8SJobMaxParallelPodsUnit` - `K8SJobSuccessfulPodsDescription` - `K8SJobSuccessfulPodsName` - `K8SJobSuccessfulPodsUnit` - `K8SNamespacePhaseActive` - `K8SNamespacePhaseDescription` - `K8SNamespacePhaseKey` - `K8SNamespacePhaseName` - `K8SNamespacePhaseTerminating` - `K8SNamespacePhaseUnit` - `K8SNodeNetworkErrorsDescription` - `K8SNodeNetworkErrorsName` - `K8SNodeNetworkErrorsUnit` - `K8SNodeNetworkIoDescription` - `K8SNodeNetworkIoName` - `K8SNodeNetworkIoUnit` - `K8SNodeUptimeDescription` - `K8SNodeUptimeName` - `K8SNodeUptimeUnit` - `K8SPodNetworkErrorsDescription` - `K8SPodNetworkErrorsName` - `K8SPodNetworkErrorsUnit` - `K8SPodNetworkIoDescription` - `K8SPodNetworkIoName` - `K8SPodNetworkIoUnit` - `K8SPodUptimeDescription` - `K8SPodUptimeName` - `K8SPodUptimeUnit` - `K8SReplicaSetAvailablePodsDescription` - `K8SReplicaSetAvailablePodsName` - `K8SReplicaSetAvailablePodsUnit` - `K8SReplicaSetDesiredPodsDescription` - `K8SReplicaSetDesiredPodsName` - `K8SReplicaSetDesiredPodsUnit` - `K8SReplicationControllerAvailablePodsDescription` - `K8SReplicationControllerAvailablePodsName` - `K8SReplicationControllerAvailablePodsUnit` - `K8SReplicationControllerDesiredPodsDescription` - `K8SReplicationControllerDesiredPodsName` - `K8SReplicationControllerDesiredPodsUnit` - `K8SStatefulSetCurrentPodsDescription` - `K8SStatefulSetCurrentPodsName` - `K8SStatefulSetCurrentPodsUnit` - `K8SStatefulSetDesiredPodsDescription` - `K8SStatefulSetDesiredPodsName` - `K8SStatefulSetDesiredPodsUnit` - `K8SStatefulSetReadyPodsDescription` - `K8SStatefulSetReadyPodsName` - `K8SStatefulSetReadyPodsUnit` - `K8SStatefulSetUpdatedPodsDescription` - `K8SStatefulSetUpdatedPodsName` - `K8SStatefulSetUpdatedPodsUnit` - `NetworkConnectionStateCloseWait` - `NetworkConnectionStateClosed` - `NetworkConnectionStateClosing` - `NetworkConnectionStateEstablished` - `NetworkConnectionStateFinWait1` - `NetworkConnectionStateFinWait2` - `NetworkConnectionStateKey` - `NetworkConnectionStateLastAck` - `NetworkConnectionStateListen` - `NetworkConnectionStateSynReceived` - `NetworkConnectionStateSynSent` - `NetworkConnectionStateTimeWait` - `NetworkInterfaceName` - `NetworkInterfaceNameKey` - `ProcessExecutableBuildIDHtlhash` - `ProcessExecutableBuildIDHtlhashKey` - `ProcessLinuxCgroup` - `ProcessLinuxCgroupKey` - `ProfileFrameTypeBeam` - `SecurityRuleCategory` - `SecurityRuleCategoryKey` - `SecurityRuleDescription` - `SecurityRuleDescriptionKey` - `SecurityRuleLicense` - `SecurityRuleLicenseKey` - `SecurityRuleName` - `SecurityRuleNameKey` - `SecurityRuleReference` - `SecurityRuleReferenceKey` - `SecurityRuleRulesetName` - `SecurityRuleRulesetNameKey` - `SecurityRuleUUID` - `SecurityRuleUUIDKey` - `SecurityRuleVersion` - `SecurityRuleVersionKey` - `SystemUptimeDescription` - `SystemUptimeName` - `SystemUptimeUnit` - `UserAgentSyntheticTypeBot` - `UserAgentSyntheticTypeKey` - `UserAgentSyntheticTypeTest` - `VCSChangeCountDescription` - `VCSChangeCountName` - `VCSChangeCountUnit` - `VCSChangeDurationDescription` - `VCSChangeDurationName` - `VCSChangeDurationUnit` - `VCSChangeID` - `VCSChangeIDKey` - `VCSChangeStateClosed` - `VCSChangeStateKey` - `VCSChangeStateMerged` - `VCSChangeStateOpen` - `VCSChangeStateWip` - `VCSChangeTimeToApprovalDescription` - `VCSChangeTimeToApprovalName` - `VCSChangeTimeToApprovalUnit` - `VCSChangeTimeToMergeDescription` - `VCSChangeTimeToMergeName` - `VCSChangeTimeToMergeUnit` - `VCSChangeTitle` - `VCSChangeTitleKey` - `VCSContributorCountDescription` - `VCSContributorCountName` - `VCSContributorCountUnit` - `VCSLineChangeTypeAdded` - `VCSLineChangeTypeKey` - `VCSLineChangeTypeRemoved` - `VCSRefBaseName` - `VCSRefBaseNameKey` - `VCSRefBaseRevision` - `VCSRefBaseRevisionKey` - `VCSRefBaseTypeBranch` - `VCSRefBaseTypeKey` - `VCSRefBaseTypeTag` - `VCSRefCountDescription` - `VCSRefCountName` - `VCSRefCountUnit` - `VCSRefHeadName` - `VCSRefHeadNameKey` - `VCSRefHeadRevision` - `VCSRefHeadRevisionKey` - `VCSRefHeadTypeBranch` - `VCSRefHeadTypeKey` - `VCSRefHeadTypeTag` - `VCSRefLinesDeltaDescription` - `VCSRefLinesDeltaName` - `VCSRefLinesDeltaUnit` - `VCSRefRevisionsDeltaDescription` - `VCSRefRevisionsDeltaName` - `VCSRefRevisionsDeltaUnit` - `VCSRefTimeDescription` - `VCSRefTimeName` - `VCSRefTimeUnit` - `VCSRefTypeBranch` - `VCSRefTypeKey` - `VCSRefTypeTag` - `VCSRepositoryCountDescription` - `VCSRepositoryCountName` - `VCSRepositoryCountUnit` - `VCSRepositoryName` - `VCSRepositoryNameKey` - `VCSRevisionDeltaDirectionAhead` - `VCSRevisionDeltaDirectionBehind` - `VCSRevisionDeltaDirectionKey` |