-
Notifications
You must be signed in to change notification settings - Fork 825
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update HTTP client span semconv to 1.27 #4940
Update HTTP client span semconv to 1.27 #4940
Conversation
import { errorMonitor } from 'events'; | ||
import { SEMATTRS_HTTP_ROUTE } from '@opentelemetry/semantic-conventions'; | ||
import { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed import *
. None of these imports are actually new
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #4940 +/- ##
==========================================
- Coverage 93.29% 91.04% -2.26%
==========================================
Files 84 88 +4
Lines 1700 1954 +254
Branches 349 416 +67
==========================================
+ Hits 1586 1779 +193
- Misses 114 175 +61 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for working on this 🙂
experimental/packages/opentelemetry-instrumentation-http/README.md
Outdated
Show resolved
Hide resolved
experimental/packages/opentelemetry-instrumentation-http/README.md
Outdated
Show resolved
Hide resolved
experimental/packages/opentelemetry-instrumentation-http/src/utils.ts
Outdated
Show resolved
Hide resolved
experimental/packages/opentelemetry-instrumentation-http/test/functionals/http-enable.test.ts
Outdated
Show resolved
Hide resolved
experimental/packages/opentelemetry-instrumentation-http/test/functionals/utils.test.ts
Outdated
Show resolved
Hide resolved
experimental/packages/opentelemetry-instrumentation-http/src/utils.ts
Outdated
Show resolved
Hide resolved
…tils.ts Co-authored-by: Marc Pichler <[email protected]>
) Co-authored-by: Marc Pichler <[email protected]>
Co-authored-by: Mend Renovate <[email protected]>
…cing (#13485) This PR migrates the `nativeNodeFetchIntegration` to use `@opentelemetry/instrumentation-undici` instead of `opentelemetry-instrumentation-fetch-node`. The instrumentation is still exported as `nativeNodeFetchIntegration` and is named `NodeFetch` to ensure backwards compatibility and the tests pass ~~without changes~~. Note: One `nextjs-14` e2e test did need a change due to the new/differing attribute names. It's worth noting that `@opentelemetry/instrumentation-undici` [uses different attributes](open-telemetry/opentelemetry-js-contrib#2417 (comment)) from the latest semantic convention version vs what we are using and what's used by `opentelemetry-instrumentation-fetch-node`. It looks like the [http instrumentation is migrating to these too](open-telemetry/opentelemetry-js#4940) so some of the changes in this PR will ensure that the http instrumentation continues to work after these updates.
Co-authored-by: Marc Pichler <[email protected]> Co-authored-by: Mend Renovate <[email protected]> Co-authored-by: Marc Pichler <[email protected]>
… 0.54.2 (#7) ![snyk-top-banner](https://redirect.github.com/andygongea/OWASP-Benchmark/assets/818805/c518c423-16fe-447e-b67f-ad5a49b5d123) <h3>Snyk has created this PR to upgrade @opentelemetry/exporter-trace-otlp-http from 0.54.0 to 0.54.2.</h3> :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project. <hr/> - The recommended version is **2 versions** ahead of your current version. - The recommended version was released on **a month ago**. <details> <summary><b>Release notes</b></summary> <br/> <details> <summary>Package name: <b>@opentelemetry/exporter-trace-otlp-http</b></summary> <ul> <li> <b>0.54.2</b> - <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.54.2">2024-11-07</a></br><h2>0.54.2</h2> <h3>🐛 (Bug Fix)</h3> <ul> <li>fix(instrumentation): Fix wrapping ESM files with absolute path <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/5094" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/5094/hovercard">#5094</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/serkan-ozal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/serkan-ozal">@ serkan-ozal</a></li> </ul> </li> <li> <b>0.54.1</b> - <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.54.1">2024-11-05</a></br><h2>0.54.1</h2> <h3>🐛 (Bug Fix)</h3> <ul> <li>fix(instrumentation-http): skip malformed forwarded headers. <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/issues/5095" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/opentelemetry-js/issues/5095/hovercard">#5095</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pmlanger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/pmlanger">@ pmlanger</a></li> </ul> </li> <li> <b>0.54.0</b> - <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/releases/tag/experimental%2Fv0.54.0">2024-10-23</a></br><h2>0.54.0</h2> <h3>💥 Breaking Change</h3> <ul> <li>feat(exporter-<em>-otlp-</em>)!: rewrite exporter config logic for testability <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/4971" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/4971/hovercard">#4971</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pichlermarc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/pichlermarc">@ pichlermarc</a> <ul> <li>(user-facing) <code>getDefaultUrl</code> was intended for internal use has been removed from all exporters</li> <li>(user-facing) <code>getUrlFromConfig</code> was intended for internal use and has been removed from all exporters</li> <li>(user-facing) <code>hostname</code> was intended for internal use and has been removed from all exporters</li> <li>(user-facing) <code>url</code> was intended for internal use and has been removed from all exporters</li> <li>(user-facing) <code>timeoutMillis</code> was intended for internal use and has been removed from all exporters</li> <li>(user-facing) <code>onInit</code> was intended for internal use and has been removed from all exporters</li> <li>(user-facing) OTLP exporter config <code>headers</code> type changed from <code>Partial<Record<string, unknown>></code> to <code>Record<string, string></code></li> </ul> </li> <li>feat(otlp-exporter-base)!: do not export functions that are intended for internal use <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/4971" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/4971/hovercard">#4971</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pichlermarc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/pichlermarc">@ pichlermarc</a> <ul> <li>Drops the following functions and types that were intended for internal use from the package exports: <ul> <li><code>parseHeaders</code></li> <li><code>appendResourcePathToUrl</code></li> <li><code>appendResourcePathToUrlIfNeeded</code></li> <li><code>configureExporterTimeout</code></li> <li><code>invalidTimeout</code></li> </ul> </li> </ul> </li> <li>feat(instrumentation-http)!: remove long deprecated options <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/5085" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/5085/hovercard">#5085</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pichlermarc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/pichlermarc">@ pichlermarc</a> <ul> <li><code>ignoreIncomingPaths</code> has been removed, use the more versatile <code>ignoreIncomingRequestHook</code> instead.</li> <li><code>ignoreOutgoingUrls</code> has been removed, use the more versatile <code>ignoreOutgoingRequestHook</code> instead.</li> <li><code>isIgnored</code> utility function was intended for internal use and has been removed without replacement.</li> </ul> </li> </ul> <h3>🚀 (Enhancement)</h3> <ul> <li>feat(api-logs): Add delegating no-op logger provider <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/4861" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/4861/hovercard">#4861</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hectorhdzg/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/hectorhdzg">@ hectorhdzg</a></li> <li>feat(instrumentation-http): Add support for <a href="https://redirect.github.com/open-telemetry/semantic-conventions/releases/tag/v1.27.0">Semantic Conventions 1.27+</a> <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/4940" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/4940/hovercard">#4940</a> <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/4978" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/4978/hovercard">#4978</a> <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/5026" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/5026/hovercard">#5026</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/dyladan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/dyladan">@ dyladan</a> <ul> <li>Applies to client and server spans and metrics</li> <li>Generate spans and metrics compliant with Semantic Conventions 1.27+ when <code>OTEL_SEMCONV_STABILITY_OPT_IN</code> contains <code>http</code> or <code>http/dup</code></li> <li>Generate spans and metrics backwards compatible with previous attributes when <code>OTEL_SEMCONV_STABILITY_OPT_IN</code> contains <code>http/dup</code> or DOES NOT contain <code>http</code></li> </ul> </li> </ul> <h3>🐛 (Bug Fix)</h3> <ul> <li>fix(sampler-jaeger-remote): fixes an issue where package could emit unhandled promise rejections <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Just-Sieb/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/Just-Sieb">@ Just-Sieb</a></li> <li>fix(otlp-grpc-exporter-base): default compression to <code>'none'</code> if env vars <code>OTEL_EXPORTER_OTLP_TRACES_COMPRESSION</code> and <code>OTEL_EXPORTER_OTLP_COMPRESSION</code> are falsy <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sjvans/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/sjvans">@ sjvans</a></li> <li>fix(sdk-events): remove devDependencies to old <code>@ opentelemetry/[email protected]</code>, <code>@ opentelemetry/[email protected]</code> packages <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/5013" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/5013/hovercard">#5013</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pichlermarc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/pichlermarc">@ pichlermarc</a></li> <li>fix(sdk-logs): remove devDependencies to old <code>@ opentelemetry/[email protected]</code> <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/5013" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/5013/hovercard">#5013</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pichlermarc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/pichlermarc">@ pichlermarc</a></li> <li>fix(sdk-logs): align LogRecord#setAttribute type with types from <code>@ opentelemetry/[email protected]</code> <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/5013" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/5013/hovercard">#5013</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pichlermarc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/pichlermarc">@ pichlermarc</a></li> <li>fix(exporter-<em>-otlp-</em>): fixes a bug where signal-specific environment variables would not be applied and the trace-specific one was used instead <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/4971" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/4971/hovercard">#4971</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pichlermarc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/pichlermarc">@ pichlermarc</a> <ul> <li>Fixes: <ul> <li><code>OTEL_EXPORTER_OTLP_METRICS_COMPRESSION</code></li> <li><code>OTEL_EXPORTER_OTLP_LOGS_COMPRESSION</code></li> <li><code>OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE</code></li> <li><code>OTEL_EXPORTER_OTLP_LOGS_CLIENT_CERTIFICATE</code></li> <li><code>OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY</code></li> <li><code>OTEL_EXPORTER_OTLP_LOGS_CLIENT_KEY</code></li> <li><code>OTEL_EXPORTER_OTLP_METRICS_INSECURE</code></li> <li><code>OTEL_EXPORTER_OTLP_LOGS_INSECURE</code></li> </ul> </li> </ul> </li> <li>fix(sdk-node): use warn instead of error on unknown OTEL_NODE_RESOURCE_DETECTORS values <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/5034" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/5034/hovercard">#5034</a></li> <li>fix(exporter-logs-otlp-proto): Use correct config type in Node constructor</li> <li>fix(instrumentation-http): Fix instrumentation of <code>http.get</code>, <code>http.request</code>, <code>https.get</code>, and <code>https.request</code> when used from ESM code and imported via the <code>import defaultExport from 'http'</code> style. <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/issues/5024" data-hovercard-type="issue" data-hovercard-url="/open-telemetry/opentelemetry-js/issues/5024/hovercard">#5024</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/trentm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/trentm">@ trentm</a></li> </ul> <h3>🏠 (Internal)</h3> <ul> <li> <p>refactor(exporter-prometheus): replace <code>MetricAttributes</code> and <code>MetricAttributeValues</code> with <code>Attributes</code> and <code>AttributeValues</code> <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/4993" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/4993/hovercard">#4993</a></p> </li> <li> <p>refactor(browser-detector): replace <code>ResourceAttributes</code> with <code>Attributes</code> <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/5004" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/5004/hovercard">#5004</a></p> </li> <li> <p>refactor(sdk-logs): replace <code>ResourceAttributes</code> with <code>Attributes</code> <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/pull/5005" data-hovercard-type="pull_request" data-hovercard-url="/open-telemetry/opentelemetry-js/pull/5005/hovercard">#5005</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/david-luna/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://redirect.github.com/david-luna">@ david-luna</a></p> </li> </ul> </li> </ul> from <a href="https://redirect.github.com/open-telemetry/opentelemetry-js/releases">@opentelemetry/exporter-trace-otlp-http GitHub release notes</a> </details> </details> --- > [!IMPORTANT] > > - Check the changes in this PR to ensure they won't cause issues with your project. > - This PR was automatically created by Snyk using the credentials of a real user. --- **Note:** _You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs._ **For more information:** <img src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiJiMjU2ZTBmZC0yZWE3LTQ3YzgtOTBmZi0yNDUyOWZiNWUyNjIiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6ImIyNTZlMGZkLTJlYTctNDdjOC05MGZmLTI0NTI5ZmI1ZTI2MiJ9fQ==" width="0" height="0"/> > - 🧐 [View latest project report](https://app.snyk.io/org/newkdr/project/12a8a5f5-3e19-438c-8280-eb8f4ee06d17?utm_source=github&utm_medium=referral&page=upgrade-pr) > - 📜 [Customise PR templates](https://docs.snyk.io/scan-using-snyk/pull-requests/snyk-fix-pull-or-merge-requests/customize-pr-templates?utm_source=&utm_content=fix-pr-template) > - 🛠 [Adjust upgrade PR settings](https://app.snyk.io/org/newkdr/project/12a8a5f5-3e19-438c-8280-eb8f4ee06d17/settings/integration?utm_source=github&utm_medium=referral&page=upgrade-pr) > - 🔕 [Ignore this dependency or unsubscribe from future upgrade PRs](https://app.snyk.io/org/newkdr/project/12a8a5f5-3e19-438c-8280-eb8f4ee06d17/settings/integration?pkg=@opentelemetry/exporter-trace-otlp-http&utm_source=github&utm_medium=referral&page=upgrade-pr#auto-dep-upgrades) [//]: # 'snyk:metadata:{"customTemplate":{"variablesUsed":[],"fieldsUsed":[]},"dependencies":[{"name":"@opentelemetry/exporter-trace-otlp-http","from":"0.54.0","to":"0.54.2"}],"env":"prod","hasFixes":false,"isBreakingChange":false,"isMajorUpgrade":false,"issuesToFix":[],"prId":"b256e0fd-2ea7-47c8-90ff-24529fb5e262","prPublicId":"b256e0fd-2ea7-47c8-90ff-24529fb5e262","packageManager":"npm","priorityScoreList":[],"projectPublicId":"12a8a5f5-3e19-438c-8280-eb8f4ee06d17","projectUrl":"https://app.snyk.io/org/newkdr/project/12a8a5f5-3e19-438c-8280-eb8f4ee06d17?utm_source=github&utm_medium=referral&page=upgrade-pr","prType":"upgrade","templateFieldSources":{"branchName":"default","commitMessage":"default","description":"default","title":"default"},"templateVariants":[],"type":"auto","upgrade":[],"upgradeInfo":{"versionsDiff":2,"publishedDate":"2024-11-07T13:30:06.896Z"},"vulns":[]}'
This updates the HTTP client semantic conventions to 1.27.
Client metrics and server spans and metrics to be done in follow-up PRs.