From 900b7d8bfc52d9ebcd17657f4222e8a7fd17b55b Mon Sep 17 00:00:00 2001 From: Mustafa Haddara Date: Thu, 28 Mar 2024 09:20:51 -0400 Subject: [PATCH 01/17] feat(opentelemetry-instrumentation-xhr): optionally ignore network events (#4571) --- experimental/CHANGELOG.md | 1 + .../README.md | 9 +++++++++ .../src/xhr.ts | 10 ++++++++-- .../test/xhr.test.ts | 14 ++++++++++++++ 4 files changed, 32 insertions(+), 2 deletions(-) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 62588e6877..69c63e768d 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -24,6 +24,7 @@ All notable changes to experimental packages in this project will be documented ### :rocket: (Enhancement) +* feat(opentelemetry-instrumentation-xhr): optionally ignore network events [#4571](https://github.com/open-telemetry/opentelemetry-js/pull/4571/) @mustafahaddara * refactor(instr-http): use exported strings for semconv. [#4573](https://github.com/open-telemetry/opentelemetry-js/pull/4573/) @JamieDanielson * feat(sdk-node): add `HostDetector` as default resource detector diff --git a/experimental/packages/opentelemetry-instrumentation-xml-http-request/README.md b/experimental/packages/opentelemetry-instrumentation-xml-http-request/README.md index 8c96869460..8c706ffa61 100644 --- a/experimental/packages/opentelemetry-instrumentation-xml-http-request/README.md +++ b/experimental/packages/opentelemetry-instrumentation-xml-http-request/README.md @@ -64,6 +64,15 @@ req.send(); ``` +### XHR Instrumentation options + +XHR instrumentation plugin has few options available to choose from. You can set the following: + +| Options | Type | Description | +|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|-----------------------------------------------------------------------------------------| +| [`applyCustomAttributesOnSpan`](https://github.com/open-telemetry/opentelemetry-js/blob/main/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts#L76) | `XHRCustomAttributeFunction` | Function for adding custom attributes | +| [`ignoreNetworkEvents`](https://github.com/open-telemetry/opentelemetry-js/blob/main/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts#L78) | `boolean` | Disable network events being added as span events (network events are added by default) | + ## Example Screenshots ![Screenshot of the running example](images/main.jpg) diff --git a/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts b/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts index 42eb9abb0b..c430d4ba3e 100644 --- a/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts +++ b/experimental/packages/opentelemetry-instrumentation-xml-http-request/src/xhr.ts @@ -74,6 +74,8 @@ export interface XMLHttpRequestInstrumentationConfig ignoreUrls?: Array; /** Function for adding custom attributes on the span */ applyCustomAttributesOnSpan?: XHRCustomAttributeFunction; + /** Ignore adding network events as span events */ + ignoreNetworkEvents?: boolean; } /** @@ -140,7 +142,9 @@ export class XMLHttpRequestInstrumentation extends InstrumentationBase { ); }); }); + + describe('when network events are ignored', () => { + beforeEach(done => { + clearData(); + prepareData(done, url, { + ignoreNetworkEvents: true, + }); + }); + it('should NOT add network events', () => { + const span: tracing.ReadableSpan = exportSpy.args[1][0][0]; + const events = span.events; + assert.strictEqual(events.length, 3, 'number of events is wrong'); + }); + }); }); describe('when request is NOT successful', () => { From 1a0fb4fd5fd79d615d644afa42c796ebf8163d2a Mon Sep 17 00:00:00 2001 From: Jamie Danielson Date: Thu, 28 Mar 2024 09:22:28 -0400 Subject: [PATCH 02/17] docs(instr-http): document semantic conventions and attributes in use (#4587) * docs(instr-http): document semantic conventions in use * add changelog entry --------- Co-authored-by: Marc Pichler --- experimental/CHANGELOG.md | 2 ++ .../README.md | 34 ++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 69c63e768d..d562a6d87c 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -36,6 +36,8 @@ All notable changes to experimental packages in this project will be documented ### :books: (Refine Doc) +* docs(instr-http): document semantic conventions and attributes in use. [#4587](https://github.com/open-telemetry/opentelemetry-js/pull/4587/) @JamieDanielson + ### :house: (Internal) ## 0.49.1 diff --git a/experimental/packages/opentelemetry-instrumentation-http/README.md b/experimental/packages/opentelemetry-instrumentation-http/README.md index 8fd50c3107..3be82a4e19 100644 --- a/experimental/packages/opentelemetry-instrumentation-http/README.md +++ b/experimental/packages/opentelemetry-instrumentation-http/README.md @@ -67,7 +67,39 @@ The following options are deprecated: | Options | Type | Description | | ------- | ---- | ----------- | | `ignoreIncomingPaths` | `IgnoreMatcher[]` | Http instrumentation will not trace all incoming requests that match paths | -| `ignoreOutgoingUrls` | `IgnoreMatcher[]` | Http instrumentation will not trace all outgoing requests that match URLs | + +## Semantic Conventions + +This package uses `@opentelemetry/semantic-conventions` version `1.22+`, which implements Semantic Convention [Version 1.7.0](https://github.com/open-telemetry/opentelemetry-specification/blob/v1.7.0/semantic_conventions/README.md) + +Attributes collected: + +| Attribute | Short Description | Notes | +| ------------------------------------------- | ------------------------------------------------------------------------------ | --------------------------------------------------------- | +| `ip_tcp` | Transport protocol used | Key: `NETTRANSPORTVALUES_IP_TCP` | +| `ip_udp` | Transport protocol used | Key: `NETTRANSPORTVALUES_IP_UDP` | +| `http.client_ip` | The IP address of the original client behind all proxies, if known | Key: `SEMATTRS_HTTP_CLIENT_IP` | +| `http.flavor` | Kind of HTTP protocol used | Key: `SEMATTRS_HTTP_FLAVOR` | +| `http.host` | The value of the HTTP host header | Key: `SEMATTRS_HTTP_HOST` | +| `http.method` | HTTP request method | Key: `SEMATTRS_HTTP_METHOD` | +| `http.request_content_length` | The size of the request payload body in bytes | Key: `SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH` | +| `http.request_content_length_uncompressed` | The size of the uncompressed request payload body after transport decoding | Key: `SEMATTRS_HTTP_REQUEST_CONTENT_LENGTH_UNCOMPRESSED` | +| `http.response_content_length` | The size of the response payload body in bytes | Key: `SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH` | +| `http.response_content_length_uncompressed` | The size of the uncompressed response payload body after transport decoding | Key: `SEMATTRS_HTTP_RESPONSE_CONTENT_LENGTH_UNCOMPRESSED` | +| `http.route` | The matched route (path template). | Key: `SEMATTRS_HTTP_ROUTE` | +| `http.scheme` | The URI scheme identifying the used protocol | Key: `SEMATTRS_HTTP_SCHEME` | +| `http.server_name` | The primary server name of the matched virtual host | Key: `SEMATTRS_HTTP_SERVER_NAME` | +| `http.status_code` | HTTP response status code | Key: `SEMATTRS_HTTP_STATUS_CODE` | +| `http.target` | The full request target as passed in a HTTP request line or equivalent | Key: `SEMATTRS_HTTP_TARGET` | +| `http.url` | Full HTTP request URL in the form `scheme://host[:port]/path?query[#fragment]` | Key: `SEMATTRS_HTTP_URL` | +| `http.user_agent` | Value of the HTTP User-Agent header sent by the client | Key: `SEMATTRS_HTTP_USER_AGENT` | +| `net.host.ip` | Like net.peer.ip but for the host IP. Useful in case of a multi-IP host | Key: `SEMATTRS_NET_HOST_IP` | +| `net.host.name` | Local hostname or similar | Key: `SEMATTRS_NET_HOST_NAME` | +| `net.host.port` | Like net.peer.port but for the host port | Key: `SEMATTRS_NET_HOST_PORT` | +| `net.peer.ip.` | Remote address of the peer (dotted decimal for IPv4 or RFC5952 for IPv6) | Key: `SEMATTRS_NET_PEER_IP` | +| `net.peer.name` | Remote hostname or similar | Key: `SEMATTRS_NET_PEER_NAME` | +| `net.peer.port` | Remote port number | Key: `SEMATTRS_NET_PEER_PORT` | +| `net.transport` | Transport protocol used | Key: `SEMATTRS_NET_TRANSPORT` | ## Useful links From 9a5688e61feb9ecf94bbef45352563287639b6a7 Mon Sep 17 00:00:00 2001 From: Mend Renovate Date: Fri, 29 Mar 2024 12:24:42 +0100 Subject: [PATCH 03/17] chore(deps): update dependency chromedriver to v123 (#4577) Co-authored-by: Nev <54870357+MSNev@users.noreply.github.com> Co-authored-by: Marc Pichler --- package-lock.json | 183 ++++++++++++++++++++++++++++-------- selenium-tests/package.json | 2 +- 2 files changed, 143 insertions(+), 42 deletions(-) diff --git a/package-lock.json b/package-lock.json index 160db7842d..b79a7e0794 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12658,11 +12658,12 @@ } }, "node_modules/axios": { - "version": "1.6.0", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dev": true, - "license": "MIT", "dependencies": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -14814,17 +14815,17 @@ } }, "node_modules/chromedriver": { - "version": "120.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-120.0.0.tgz", - "integrity": "sha512-LGy2LhWRBiqDarFIU8gQ43EEyj+07Tc3JuUhthkESAwZ99lrifSnKZwKU0aVwansU84+k6bt71z7K3dkk65gZg==", + "version": "123.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-123.0.0.tgz", + "integrity": "sha512-OE9mpxXwbFy5LncAisqXm1aEzuLPtEMORIxyYIn9uT7N8rquJWyoip6w9Rytub3o2gnynW9+PFOTPVTldaYrtw==", "dev": true, "hasInstallScript": true, "dependencies": { "@testim/chrome-version": "^1.1.4", - "axios": "^1.6.0", + "axios": "^1.6.7", "compare-versions": "^6.1.0", "extract-zip": "^2.0.1", - "https-proxy-agent": "^5.0.1", + "proxy-agent": "^6.4.0", "proxy-from-env": "^1.1.0", "tcp-port-used": "^1.0.2" }, @@ -14836,28 +14837,83 @@ } }, "node_modules/chromedriver/node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, "dependencies": { - "debug": "4" + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" + "node": ">= 14" + } + }, + "node_modules/chromedriver/node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, "node_modules/chromedriver/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", "dev": true, "dependencies": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" }, "engines": { - "node": ">= 6" + "node": ">= 14" + } + }, + "node_modules/chromedriver/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/chromedriver/node_modules/proxy-agent": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", + "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.3", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/chromedriver/node_modules/socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + }, + "engines": { + "node": ">= 14" } }, "node_modules/chromium-bidi": { @@ -18626,9 +18682,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -36592,7 +36648,7 @@ "babel-loader": "8.3.0", "babel-polyfill": "6.26.0", "browserstack-local": "1.4.8", - "chromedriver": "120.0.0", + "chromedriver": "123.0.0", "dotenv": "16.0.0", "fast-safe-stringify": "2.1.1", "geckodriver": "3.0.1", @@ -44044,7 +44100,7 @@ "babel-loader": "8.3.0", "babel-polyfill": "6.26.0", "browserstack-local": "1.4.8", - "chromedriver": "120.0.0", + "chromedriver": "123.0.0", "dotenv": "16.0.0", "fast-safe-stringify": "2.1.1", "geckodriver": "3.0.1", @@ -46247,10 +46303,12 @@ "dev": true }, "axios": { - "version": "1.6.0", + "version": "1.6.8", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz", + "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==", "dev": true, "requires": { - "follow-redirects": "^1.15.0", + "follow-redirects": "^1.15.6", "form-data": "^4.0.0", "proxy-from-env": "^1.1.0" } @@ -47931,38 +47989,81 @@ "dev": true }, "chromedriver": { - "version": "120.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-120.0.0.tgz", - "integrity": "sha512-LGy2LhWRBiqDarFIU8gQ43EEyj+07Tc3JuUhthkESAwZ99lrifSnKZwKU0aVwansU84+k6bt71z7K3dkk65gZg==", + "version": "123.0.0", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-123.0.0.tgz", + "integrity": "sha512-OE9mpxXwbFy5LncAisqXm1aEzuLPtEMORIxyYIn9uT7N8rquJWyoip6w9Rytub3o2gnynW9+PFOTPVTldaYrtw==", "dev": true, "requires": { "@testim/chrome-version": "^1.1.4", - "axios": "^1.6.0", + "axios": "^1.6.7", "compare-versions": "^6.1.0", "extract-zip": "^2.0.1", - "https-proxy-agent": "^5.0.1", + "proxy-agent": "^6.4.0", "proxy-from-env": "^1.1.0", "tcp-port-used": "^1.0.2" }, "dependencies": { "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", "dev": true, "requires": { - "debug": "4" + "debug": "^4.3.4" + } + }, + "http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "requires": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" } }, "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", "dev": true, "requires": { - "agent-base": "6", + "agent-base": "^7.0.2", "debug": "4" } + }, + "lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true + }, + "proxy-agent": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.4.0.tgz", + "integrity": "sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "http-proxy-agent": "^7.0.1", + "https-proxy-agent": "^7.0.3", + "lru-cache": "^7.14.1", + "pac-proxy-agent": "^7.0.1", + "proxy-from-env": "^1.1.0", + "socks-proxy-agent": "^8.0.2" + } + }, + "socks-proxy-agent": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", + "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", + "dev": true, + "requires": { + "agent-base": "^7.0.2", + "debug": "^4.3.4", + "socks": "^2.7.1" + } } } }, @@ -50515,9 +50616,9 @@ } }, "follow-redirects": { - "version": "1.15.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.4.tgz", - "integrity": "sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==" + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, "for-in": { "version": "1.0.2", diff --git a/selenium-tests/package.json b/selenium-tests/package.json index 7f5ea36592..05849a1bc3 100644 --- a/selenium-tests/package.json +++ b/selenium-tests/package.json @@ -40,7 +40,7 @@ "babel-loader": "8.3.0", "babel-polyfill": "6.26.0", "browserstack-local": "1.4.8", - "chromedriver": "120.0.0", + "chromedriver": "123.0.0", "dotenv": "16.0.0", "fast-safe-stringify": "2.1.1", "geckodriver": "3.0.1", From b418d36609c371d1fcae46898e9ede6278aca917 Mon Sep 17 00:00:00 2001 From: Ievgen Makukh Date: Fri, 29 Mar 2024 13:35:48 +0200 Subject: [PATCH 04/17] perf(instrumentation-http): remove obvious temp allocations (#4576) * perf(instrumentation-http): remove obvious temp allocations * fix: changelog --------- Co-authored-by: Marc Pichler --- experimental/CHANGELOG.md | 1 + .../src/utils.ts | 39 +++++++++---------- 2 files changed, 19 insertions(+), 21 deletions(-) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index d562a6d87c..992c239473 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -26,6 +26,7 @@ All notable changes to experimental packages in this project will be documented * feat(opentelemetry-instrumentation-xhr): optionally ignore network events [#4571](https://github.com/open-telemetry/opentelemetry-js/pull/4571/) @mustafahaddara * refactor(instr-http): use exported strings for semconv. [#4573](https://github.com/open-telemetry/opentelemetry-js/pull/4573/) @JamieDanielson +* perf(instrumentation-http): remove obvious temp allocations [#4576](https://github.com/open-telemetry/opentelemetry-js/pull/4576) @Samuron * feat(sdk-node): add `HostDetector` as default resource detector ### :bug: (Bug Fix) diff --git a/experimental/packages/opentelemetry-instrumentation-http/src/utils.ts b/experimental/packages/opentelemetry-instrumentation-http/src/utils.ts index a36d1f44cd..8191af242f 100644 --- a/experimental/packages/opentelemetry-instrumentation-http/src/utils.ts +++ b/experimental/packages/opentelemetry-instrumentation-http/src/utils.ts @@ -167,11 +167,8 @@ export const isIgnored = ( export const setSpanWithError = (span: Span, error: Err): void => { const message = error.message; - span.setAttributes({ - [AttributeNames.HTTP_ERROR_NAME]: error.name, - [AttributeNames.HTTP_ERROR_MESSAGE]: message, - }); - + span.setAttribute(AttributeNames.HTTP_ERROR_NAME, error.name); + span.setAttribute(AttributeNames.HTTP_ERROR_MESSAGE, message); span.setStatus({ code: SpanStatusCode.ERROR, message }); span.recordException(error); }; @@ -371,7 +368,7 @@ export const getOutgoingRequestAttributes = ( [SEMATTRS_HTTP_METHOD]: method, [SEMATTRS_HTTP_TARGET]: requestOptions.path || '/', [SEMATTRS_NET_PEER_NAME]: hostname, - [SEMATTRS_HTTP_HOST]: requestOptions.headers?.host ?? `${hostname}:${port}`, + [SEMATTRS_HTTP_HOST]: headers.host ?? `${hostname}:${port}`, }; if (userAgent !== undefined) { @@ -399,8 +396,10 @@ export const getOutgoingRequestMetricAttributes = ( * Returns attributes related to the kind of HTTP protocol used * @param {string} [kind] Kind of HTTP protocol used: "1.0", "1.1", "2", "SPDY" or "QUIC". */ -export const getAttributesFromHttpKind = (kind?: string): SpanAttributes => { - const attributes: SpanAttributes = {}; +export const setAttributesFromHttpKind = ( + kind: string | undefined, + attributes: SpanAttributes +): void => { if (kind) { attributes[SEMATTRS_HTTP_FLAVOR] = kind; if (kind.toUpperCase() !== 'QUIC') { @@ -409,7 +408,6 @@ export const getAttributesFromHttpKind = (kind?: string): SpanAttributes => { attributes[SEMATTRS_NET_TRANSPORT] = NETTRANSPORTVALUES_IP_UDP; } } - return attributes; }; /** @@ -436,8 +434,8 @@ export const getOutgoingRequestAttributesOnResponse = ( ).toUpperCase(); } - const httpKindAttributes = getAttributesFromHttpKind(httpVersion); - return Object.assign(attributes, httpKindAttributes); + setAttributesFromHttpKind(httpVersion, attributes); + return attributes; }; /** @@ -509,9 +507,8 @@ export const getIncomingRequestAttributes = ( attributes[SEMATTRS_HTTP_USER_AGENT] = userAgent; } setRequestContentLengthAttribute(request, attributes); - - const httpKindAttributes = getAttributesFromHttpKind(httpVersion); - return Object.assign(attributes, httpKindAttributes, options.hookAttributes); + setAttributesFromHttpKind(httpVersion, attributes); + return Object.assign(attributes, options.hookAttributes); }; /** @@ -584,24 +581,24 @@ export const getIncomingRequestMetricAttributesOnResponse = ( }; export function headerCapture(type: 'request' | 'response', headers: string[]) { - const normalizedHeaders = new Map( - headers.map(header => [ - header.toLowerCase(), - header.toLowerCase().replace(/-/g, '_'), - ]) - ); + const normalizedHeaders = new Map(); + for (let i = 0, len = headers.length; i < len; i++) { + const capturedHeader = headers[i].toLowerCase(); + normalizedHeaders.set(capturedHeader, capturedHeader.replace(/-/g, '_')); + } return ( span: Span, getHeader: (key: string) => undefined | string | string[] | number ) => { - for (const [capturedHeader, normalizedHeader] of normalizedHeaders) { + for (const capturedHeader of normalizedHeaders.keys()) { const value = getHeader(capturedHeader); if (value === undefined) { continue; } + const normalizedHeader = normalizedHeaders.get(capturedHeader); const key = `http.${type}.header.${normalizedHeader}`; if (typeof value === 'string') { From f3aedb76ff00ca82281f8d2bf94a19714487f1d6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 Mar 2024 16:18:09 +0100 Subject: [PATCH 05/17] chore(deps): bump express from 4.17.3 to 4.19.2 (#4591) Bumps [express](https://github.com/expressjs/express) from 4.17.3 to 4.19.2. - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/master/History.md) - [Commits](https://github.com/expressjs/express/compare/4.17.3...4.19.2) --- updated-dependencies: - dependency-name: express dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Marc Pichler --- .../package.json | 2 +- package-lock.json | 468 +++++++++++++----- 2 files changed, 336 insertions(+), 134 deletions(-) diff --git a/integration-tests/propagation-validation-server/package.json b/integration-tests/propagation-validation-server/package.json index 925aa6333c..1136e29884 100644 --- a/integration-tests/propagation-validation-server/package.json +++ b/integration-tests/propagation-validation-server/package.json @@ -17,7 +17,7 @@ "@opentelemetry/sdk-trace-base": "1.22.0", "axios": "1.5.1", "body-parser": "1.19.0", - "express": "4.17.3" + "express": "4.19.2" }, "devDependencies": { "typescript": "4.4.4" diff --git a/package-lock.json b/package-lock.json index b79a7e0794..6cc7166559 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5467,7 +5467,7 @@ "@opentelemetry/sdk-trace-base": "1.22.0", "axios": "1.5.1", "body-parser": "1.19.0", - "express": "4.17.3" + "express": "4.19.2" }, "devDependencies": { "typescript": "4.4.4" @@ -14529,7 +14529,6 @@ }, "node_modules/call-bind": { "version": "1.0.5", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2", @@ -15620,6 +15619,7 @@ }, "node_modules/cookie": { "version": "0.4.2", + "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -16476,7 +16476,6 @@ }, "node_modules/define-data-property": { "version": "1.1.1", - "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.1", @@ -16623,8 +16622,13 @@ } }, "node_modules/destroy": { - "version": "1.0.4", - "license": "MIT" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-indent": { "version": "4.0.0", @@ -17767,7 +17771,8 @@ }, "node_modules/etag": { "version": "1.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } @@ -18060,36 +18065,38 @@ "license": "Apache-2.0" }, "node_modules/express": { - "version": "4.17.3", - "license": "MIT", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -18099,59 +18106,115 @@ } }, "node_modules/express/node_modules/body-parser": { - "version": "1.19.2", - "license": "MIT", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "dependencies": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/express/node_modules/bytes": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } }, + "node_modules/express/node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, "node_modules/express/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/http-errors": { - "version": "1.8.1", - "license": "MIT", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/express/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } }, "node_modules/express/node_modules/qs": { - "version": "6.9.7", - "license": "BSD-3-Clause", + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, "engines": { "node": ">=0.6" }, @@ -18160,11 +18223,12 @@ } }, "node_modules/express/node_modules/raw-body": { - "version": "2.4.3", - "license": "MIT", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -18172,9 +18236,18 @@ "node": ">= 0.8" } }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/toidentifier": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } @@ -18532,6 +18605,7 @@ }, "node_modules/finalhandler": { "version": "1.1.2", + "dev": true, "license": "MIT", "dependencies": { "debug": "2.6.9", @@ -18548,6 +18622,7 @@ }, "node_modules/finalhandler/node_modules/debug": { "version": "2.6.9", + "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" @@ -18555,6 +18630,7 @@ }, "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", + "dev": true, "license": "MIT" }, "node_modules/find-cache-dir": { @@ -18845,7 +18921,8 @@ }, "node_modules/fresh": { "version": "0.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { "node": ">= 0.6" } @@ -19142,7 +19219,6 @@ }, "node_modules/get-intrinsic": { "version": "1.2.2", - "dev": true, "license": "MIT", "dependencies": { "function-bind": "^1.1.2", @@ -19644,7 +19720,6 @@ }, "node_modules/gopd": { "version": "1.0.1", - "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.1.3" @@ -19782,7 +19857,6 @@ }, "node_modules/has-property-descriptors": { "version": "1.0.1", - "dev": true, "license": "MIT", "dependencies": { "get-intrinsic": "^1.2.2" @@ -19793,7 +19867,6 @@ }, "node_modules/has-proto": { "version": "1.0.1", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -19804,7 +19877,6 @@ }, "node_modules/has-symbols": { "version": "1.0.3", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -26263,7 +26335,6 @@ }, "node_modules/object-inspect": { "version": "1.13.1", - "dev": true, "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" @@ -29302,22 +29373,23 @@ "license": "ISC" }, "node_modules/send": { - "version": "0.17.2", - "license": "MIT", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -29325,32 +29397,44 @@ }, "node_modules/send/node_modules/debug": { "version": "2.6.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { "ms": "2.0.0" } }, "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/send/node_modules/http-errors": { - "version": "1.8.1", - "license": "MIT", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, "node_modules/send/node_modules/mime": { "version": "1.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "bin": { "mime": "cli.js" }, @@ -29360,11 +29444,32 @@ }, "node_modules/send/node_modules/ms": { "version": "2.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/send/node_modules/toidentifier": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } @@ -29432,13 +29537,14 @@ "license": "ISC" }, "node_modules/serve-static": { - "version": "1.14.2", - "license": "MIT", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" }, "engines": { "node": ">= 0.8.0" @@ -29456,7 +29562,6 @@ }, "node_modules/set-function-length": { "version": "1.1.1", - "dev": true, "license": "MIT", "dependencies": { "define-data-property": "^1.1.1", @@ -29521,7 +29626,8 @@ }, "node_modules/setprototypeof": { "version": "1.2.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sha.js": { "version": "2.4.11", @@ -29603,7 +29709,6 @@ }, "node_modules/side-channel": { "version": "1.0.4", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.0", @@ -47806,7 +47911,6 @@ }, "call-bind": { "version": "1.0.5", - "dev": true, "requires": { "function-bind": "^1.1.2", "get-intrinsic": "^1.2.1", @@ -48563,7 +48667,8 @@ "dev": true }, "cookie": { - "version": "0.4.2" + "version": "0.4.2", + "dev": true }, "cookie-signature": { "version": "1.0.6" @@ -49128,7 +49233,6 @@ }, "define-data-property": { "version": "1.1.1", - "dev": true, "requires": { "get-intrinsic": "^1.2.1", "gopd": "^1.0.1", @@ -49222,7 +49326,9 @@ } }, "destroy": { - "version": "1.0.4" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, "detect-indent": { "version": "4.0.0", @@ -49955,7 +50061,9 @@ "dev": true }, "etag": { - "version": "1.8.1" + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, "event-stream": { "version": "3.3.4", @@ -50171,91 +50279,152 @@ "dev": true }, "express": { - "version": "4.17.3", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "requires": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.2", + "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.2", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", "proxy-addr": "~2.0.7", - "qs": "6.9.7", + "qs": "6.11.0", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", + "send": "0.18.0", + "serve-static": "1.15.0", "setprototypeof": "1.2.0", - "statuses": "~1.5.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "dependencies": { "body-parser": { - "version": "1.19.2", + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", "requires": { "bytes": "3.1.2", - "content-type": "~1.0.4", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.7", - "raw-body": "2.4.3", - "type-is": "~1.6.18" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" } }, "bytes": { - "version": "3.1.2" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" + }, + "cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==" }, "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, "http-errors": { - "version": "1.8.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" } }, "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } }, "qs": { - "version": "6.9.7" + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "requires": { + "side-channel": "^1.0.4" + } }, "raw-body": { - "version": "2.4.3", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "requires": { "bytes": "3.1.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" } }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" + }, "toidentifier": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" } } }, @@ -50507,6 +50676,7 @@ }, "finalhandler": { "version": "1.1.2", + "dev": true, "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -50519,12 +50689,14 @@ "dependencies": { "debug": { "version": "2.6.9", + "dev": true, "requires": { "ms": "2.0.0" } }, "ms": { - "version": "2.0.0" + "version": "2.0.0", + "dev": true } } }, @@ -50710,7 +50882,9 @@ } }, "fresh": { - "version": "0.5.2" + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, "from": { "version": "0.1.7", @@ -50909,7 +51083,6 @@ }, "get-intrinsic": { "version": "1.2.2", - "dev": true, "requires": { "function-bind": "^1.1.2", "has-proto": "^1.0.1", @@ -51248,7 +51421,6 @@ }, "gopd": { "version": "1.0.1", - "dev": true, "requires": { "get-intrinsic": "^1.1.3" } @@ -51336,18 +51508,15 @@ }, "has-property-descriptors": { "version": "1.0.1", - "dev": true, "requires": { "get-intrinsic": "^1.2.2" } }, "has-proto": { - "version": "1.0.1", - "dev": true + "version": "1.0.1" }, "has-symbols": { - "version": "1.0.3", - "dev": true + "version": "1.0.3" }, "has-tostringtag": { "version": "1.0.0", @@ -55722,8 +55891,7 @@ } }, "object-inspect": { - "version": "1.13.1", - "dev": true + "version": "1.13.1" }, "object-is": { "version": "1.1.5", @@ -56695,7 +56863,7 @@ "@opentelemetry/sdk-trace-base": "1.22.0", "axios": "1.5.1", "body-parser": "1.19.0", - "express": "4.17.3", + "express": "4.19.2", "typescript": "4.4.4" }, "dependencies": { @@ -57780,52 +57948,84 @@ } }, "send": { - "version": "0.17.2", + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "1.8.1", + "http-errors": "2.0.0", "mime": "1.6.0", "ms": "2.1.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" }, "dependencies": { "ms": { - "version": "2.0.0" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, "http-errors": { - "version": "1.8.1", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "depd": "~1.1.2", + "depd": "2.0.0", "inherits": "2.0.4", "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", + "statuses": "2.0.1", "toidentifier": "1.0.1" } }, "mime": { - "version": "1.6.0" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "ms": { - "version": "2.1.3" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "requires": { + "ee-first": "1.1.1" + } + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" }, "toidentifier": { - "version": "1.0.1" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" } } }, @@ -57881,12 +58081,14 @@ } }, "serve-static": { - "version": "1.14.2", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.2" + "send": "0.18.0" } }, "server-destroy": { @@ -57899,7 +58101,6 @@ }, "set-function-length": { "version": "1.1.1", - "dev": true, "requires": { "define-data-property": "^1.1.1", "get-intrinsic": "^1.2.1", @@ -57944,7 +58145,9 @@ "dev": true }, "setprototypeof": { - "version": "1.2.0" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sha.js": { "version": "2.4.11", @@ -58004,7 +58207,6 @@ }, "side-channel": { "version": "1.0.4", - "dev": true, "requires": { "call-bind": "^1.0.0", "get-intrinsic": "^1.0.2", From d66e1d75d40950468e7f8e06cab7ba6633dbd182 Mon Sep 17 00:00:00 2001 From: Martin Kuba Date: Tue, 2 Apr 2024 01:02:52 -0700 Subject: [PATCH 06/17] Add `data` field to the Event interface (#4575) * add `data` field to the Event interface * updated body field in the Logs SDK * updated changelog to breaking change * lint * added dedicated type for event data field * added AnyValue and AnyValueMap types for Event data * changed body type to LogBody * markdown lint * updated Logs SDK * changed to non-breaking change in the core API * moved AnyValue to Log API, updated changelog --- experimental/CHANGELOG.md | 3 ++ experimental/packages/api-events/package.json | 3 +- .../packages/api-events/src/types/Event.ts | 7 +++++ .../packages/api-events/tsconfig.esm.json | 3 ++ .../packages/api-events/tsconfig.esnext.json | 3 ++ .../packages/api-events/tsconfig.json | 3 ++ experimental/packages/api-logs/src/index.ts | 1 + .../packages/api-logs/src/types/AnyValue.ts | 29 +++++++++++++++++++ .../packages/api-logs/src/types/LogRecord.ts | 11 ++++--- .../packages/sdk-logs/src/LogRecord.ts | 10 +++---- .../sdk-logs/src/export/ReadableLogRecord.ts | 8 +++-- 11 files changed, 67 insertions(+), 14 deletions(-) create mode 100644 experimental/packages/api-logs/src/types/AnyValue.ts diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 992c239473..0b286f0bc9 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -21,6 +21,8 @@ All notable changes to experimental packages in this project will be documented * was used internally to keep track of the compression to use but was unintentionally exposed to the users. It allowed to read and write the value, writing, however, would have no effect. * feat(api-events)!: removed domain from the Events API [#4569](https://github.com/open-telemetry/opentelemetry-js/pull/4569) * fix(events-api)!: renamed EventEmitter to EventLogger in the Events API [#4569](https://github.com/open-telemetry/opentelemetry-js/pull/4568) +* feat(api-logs)!: changed LogRecord body data type to AnyValue [#4575](https://github.com/open-telemetry/opentelemetry-js/pull/4575) +and AnyValueMap types [#4575](https://github.com/open-telemetry/opentelemetry-js/pull/4575) ### :rocket: (Enhancement) @@ -28,6 +30,7 @@ All notable changes to experimental packages in this project will be documented * refactor(instr-http): use exported strings for semconv. [#4573](https://github.com/open-telemetry/opentelemetry-js/pull/4573/) @JamieDanielson * perf(instrumentation-http): remove obvious temp allocations [#4576](https://github.com/open-telemetry/opentelemetry-js/pull/4576) @Samuron * feat(sdk-node): add `HostDetector` as default resource detector +* feat(api-events): added data field to the Event interface [4575](https://github.com/open-telemetry/opentelemetry-js/pull/4575) ### :bug: (Bug Fix) diff --git a/experimental/packages/api-events/package.json b/experimental/packages/api-events/package.json index f1b40f080e..2c40d47717 100644 --- a/experimental/packages/api-events/package.json +++ b/experimental/packages/api-events/package.json @@ -61,7 +61,8 @@ "access": "public" }, "dependencies": { - "@opentelemetry/api": "^1.0.0" + "@opentelemetry/api": "^1.0.0", + "@opentelemetry/api-logs": "0.49.1" }, "devDependencies": { "@types/mocha": "10.0.6", diff --git a/experimental/packages/api-events/src/types/Event.ts b/experimental/packages/api-events/src/types/Event.ts index 03e4ef89db..58456311cb 100644 --- a/experimental/packages/api-events/src/types/Event.ts +++ b/experimental/packages/api-events/src/types/Event.ts @@ -15,6 +15,7 @@ */ import { Attributes } from '@opentelemetry/api'; +import { AnyValue } from '@opentelemetry/api-logs'; export interface Event { /** @@ -27,6 +28,12 @@ export interface Event { */ name: string; + /** + * Data that describes the event. + * Intended to be used by instrumentation libraries. + */ + data?: AnyValue; + /** * Additional attributes that describe the event. */ diff --git a/experimental/packages/api-events/tsconfig.esm.json b/experimental/packages/api-events/tsconfig.esm.json index f0383c0042..91cc36db7a 100644 --- a/experimental/packages/api-events/tsconfig.esm.json +++ b/experimental/packages/api-events/tsconfig.esm.json @@ -11,6 +11,9 @@ "references": [ { "path": "../../../api" + }, + { + "path": "../api-logs" } ] } diff --git a/experimental/packages/api-events/tsconfig.esnext.json b/experimental/packages/api-events/tsconfig.esnext.json index 218899ff2d..80e34599a9 100644 --- a/experimental/packages/api-events/tsconfig.esnext.json +++ b/experimental/packages/api-events/tsconfig.esnext.json @@ -11,6 +11,9 @@ "references": [ { "path": "../../../api" + }, + { + "path": "../api-logs" } ] } diff --git a/experimental/packages/api-events/tsconfig.json b/experimental/packages/api-events/tsconfig.json index 5849e79c03..40ca71c181 100644 --- a/experimental/packages/api-events/tsconfig.json +++ b/experimental/packages/api-events/tsconfig.json @@ -12,6 +12,9 @@ "references": [ { "path": "../../../api" + }, + { + "path": "../api-logs" } ] } diff --git a/experimental/packages/api-logs/src/index.ts b/experimental/packages/api-logs/src/index.ts index 34b4d8e20e..3ea2ae39c8 100644 --- a/experimental/packages/api-logs/src/index.ts +++ b/experimental/packages/api-logs/src/index.ts @@ -18,6 +18,7 @@ export * from './types/Logger'; export * from './types/LoggerProvider'; export * from './types/LogRecord'; export * from './types/LoggerOptions'; +export * from './types/AnyValue'; export * from './NoopLogger'; export * from './NoopLoggerProvider'; diff --git a/experimental/packages/api-logs/src/types/AnyValue.ts b/experimental/packages/api-logs/src/types/AnyValue.ts new file mode 100644 index 0000000000..7a97de7ed6 --- /dev/null +++ b/experimental/packages/api-logs/src/types/AnyValue.ts @@ -0,0 +1,29 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +import { AttributeValue } from '@opentelemetry/api'; + +/** + * AnyValueMap is a map from string to AnyValue (attribute value or a nested map) + */ +export interface AnyValueMap { + [attributeKey: string]: AnyValue | undefined; +} + +/** + * AnyValue is a either an attribute value or a map of AnyValue(s) + */ +export type AnyValue = AttributeValue | AnyValueMap; diff --git a/experimental/packages/api-logs/src/types/LogRecord.ts b/experimental/packages/api-logs/src/types/LogRecord.ts index 69dd14f7cb..85d5e4ff4d 100644 --- a/experimental/packages/api-logs/src/types/LogRecord.ts +++ b/experimental/packages/api-logs/src/types/LogRecord.ts @@ -14,12 +14,11 @@ * limitations under the License. */ -import { AttributeValue, Context, TimeInput } from '@opentelemetry/api'; +import { Context, TimeInput } from '@opentelemetry/api'; +import { AnyValue, AnyValueMap } from './AnyValue'; -export type LogAttributeValue = AttributeValue | LogAttributes; -export interface LogAttributes { - [attributeKey: string]: LogAttributeValue | undefined; -} +export type LogBody = AnyValue; +export type LogAttributes = AnyValueMap; export enum SeverityNumber { UNSPECIFIED = 0, @@ -73,7 +72,7 @@ export interface LogRecord { /** * A value containing the body of the log record. */ - body?: string; + body?: LogBody; /** * Attributes that define the log record. diff --git a/experimental/packages/sdk-logs/src/LogRecord.ts b/experimental/packages/sdk-logs/src/LogRecord.ts index d827c7fa1d..abc4f45285 100644 --- a/experimental/packages/sdk-logs/src/LogRecord.ts +++ b/experimental/packages/sdk-logs/src/LogRecord.ts @@ -26,7 +26,7 @@ import type { IResource } from '@opentelemetry/resources'; import type { ReadableLogRecord } from './export/ReadableLogRecord'; import type { LogRecordLimits } from './types'; -import { LogAttributes } from '@opentelemetry/api-logs'; +import { LogAttributes, LogBody } from '@opentelemetry/api-logs'; import { LoggerProviderSharedState } from './internal/LoggerProviderSharedState'; export class LogRecord implements ReadableLogRecord { @@ -38,7 +38,7 @@ export class LogRecord implements ReadableLogRecord { readonly attributes: logsAPI.LogAttributes = {}; private _severityText?: string; private _severityNumber?: logsAPI.SeverityNumber; - private _body?: string; + private _body?: LogBody; private totalAttributesCount: number = 0; private _isReadonly: boolean = false; @@ -64,13 +64,13 @@ export class LogRecord implements ReadableLogRecord { return this._severityNumber; } - set body(body: string | undefined) { + set body(body: LogBody | undefined) { if (this._isLogRecordReadonly()) { return; } this._body = body; } - get body(): string | undefined { + get body(): LogBody | undefined { return this._body; } @@ -157,7 +157,7 @@ export class LogRecord implements ReadableLogRecord { return this; } - public setBody(body: string) { + public setBody(body: LogBody) { this.body = body; return this; } diff --git a/experimental/packages/sdk-logs/src/export/ReadableLogRecord.ts b/experimental/packages/sdk-logs/src/export/ReadableLogRecord.ts index 2dc3ece865..2af71de76b 100644 --- a/experimental/packages/sdk-logs/src/export/ReadableLogRecord.ts +++ b/experimental/packages/sdk-logs/src/export/ReadableLogRecord.ts @@ -17,7 +17,11 @@ import type { IResource } from '@opentelemetry/resources'; import type { HrTime, SpanContext } from '@opentelemetry/api'; import type { InstrumentationScope } from '@opentelemetry/core'; -import type { LogAttributes, SeverityNumber } from '@opentelemetry/api-logs'; +import type { + LogBody, + LogAttributes, + SeverityNumber, +} from '@opentelemetry/api-logs'; export interface ReadableLogRecord { readonly hrTime: HrTime; @@ -25,7 +29,7 @@ export interface ReadableLogRecord { readonly spanContext?: SpanContext; readonly severityText?: string; readonly severityNumber?: SeverityNumber; - readonly body?: string; + readonly body?: LogBody; readonly resource: IResource; readonly instrumentationScope: InstrumentationScope; readonly attributes: LogAttributes; From 928796d8532dea7ba81c73a1bc8ee49266da2d12 Mon Sep 17 00:00:00 2001 From: Clinton Blackburn Date: Tue, 2 Apr 2024 08:31:15 -0700 Subject: [PATCH 07/17] feat(sdk-metrics): added synchronous gauge to SDK (#4565) * feat(instrumentation): added synchronous gauge to SDK * fixup! feat(instrumentation): added synchronous gauge to SDK * fixup! feat(instrumentation): added synchronous gauge to SDK * fixup! feat(instrumentation): added synchronous gauge to SDK * fixup! feat(instrumentation): added synchronous gauge to SDK * fixup! feat(instrumentation): added synchronous gauge to SDK --- experimental/CHANGELOG.md | 1 + .../src/OTLPMetricExporterBase.ts | 2 ++ .../sdk-metrics/src/InstrumentDescriptor.ts | 1 + packages/sdk-metrics/src/Instruments.ts | 13 ++++++++++++ packages/sdk-metrics/src/Meter.ts | 20 +++++++++++++++++++ .../src/aggregator/ExponentialHistogram.ts | 1 + .../sdk-metrics/src/aggregator/Histogram.ts | 1 + packages/sdk-metrics/src/types.ts | 16 +++++++++++++++ packages/sdk-metrics/src/view/Aggregation.ts | 1 + packages/sdk-metrics/test/Meter.test.ts | 13 ++++++++++++ .../test/export/ConsoleMetricExporter.test.ts | 1 + packages/sdk-metrics/test/export/utils.ts | 1 + 12 files changed, 71 insertions(+) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 0b286f0bc9..7a4547ffc6 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -26,6 +26,7 @@ and AnyValueMap types [#4575](https://github.com/open-telemetry/opentelemetry-js ### :rocket: (Enhancement) +* feat(metrics): added synchronous gauge to SDK [#4565](https://github.com/open-telemetry/opentelemetry-js/pull/4565) @clintonb * feat(opentelemetry-instrumentation-xhr): optionally ignore network events [#4571](https://github.com/open-telemetry/opentelemetry-js/pull/4571/) @mustafahaddara * refactor(instr-http): use exported strings for semconv. [#4573](https://github.com/open-telemetry/opentelemetry-js/pull/4573/) @JamieDanielson * perf(instrumentation-http): remove obvious temp allocations [#4576](https://github.com/open-telemetry/opentelemetry-js/pull/4576) @Samuron diff --git a/experimental/packages/opentelemetry-exporter-metrics-otlp-http/src/OTLPMetricExporterBase.ts b/experimental/packages/opentelemetry-exporter-metrics-otlp-http/src/OTLPMetricExporterBase.ts index 66a5bfb596..91aaf67977 100644 --- a/experimental/packages/opentelemetry-exporter-metrics-otlp-http/src/OTLPMetricExporterBase.ts +++ b/experimental/packages/opentelemetry-exporter-metrics-otlp-http/src/OTLPMetricExporterBase.ts @@ -41,6 +41,7 @@ export const DeltaTemporalitySelector: AggregationTemporalitySelector = ( switch (instrumentType) { case InstrumentType.COUNTER: case InstrumentType.OBSERVABLE_COUNTER: + case InstrumentType.GAUGE: case InstrumentType.HISTOGRAM: case InstrumentType.OBSERVABLE_GAUGE: return AggregationTemporality.DELTA; @@ -57,6 +58,7 @@ export const LowMemoryTemporalitySelector: AggregationTemporalitySelector = ( case InstrumentType.COUNTER: case InstrumentType.HISTOGRAM: return AggregationTemporality.DELTA; + case InstrumentType.GAUGE: case InstrumentType.UP_DOWN_COUNTER: case InstrumentType.OBSERVABLE_UP_DOWN_COUNTER: case InstrumentType.OBSERVABLE_COUNTER: diff --git a/packages/sdk-metrics/src/InstrumentDescriptor.ts b/packages/sdk-metrics/src/InstrumentDescriptor.ts index b8797e2c4d..ef09dda8bb 100644 --- a/packages/sdk-metrics/src/InstrumentDescriptor.ts +++ b/packages/sdk-metrics/src/InstrumentDescriptor.ts @@ -23,6 +23,7 @@ import { equalsCaseInsensitive } from './utils'; */ export enum InstrumentType { COUNTER = 'COUNTER', + GAUGE = 'GAUGE', HISTOGRAM = 'HISTOGRAM', UP_DOWN_COUNTER = 'UP_DOWN_COUNTER', OBSERVABLE_COUNTER = 'OBSERVABLE_COUNTER', diff --git a/packages/sdk-metrics/src/Instruments.ts b/packages/sdk-metrics/src/Instruments.ts index f665952f05..0113abd190 100644 --- a/packages/sdk-metrics/src/Instruments.ts +++ b/packages/sdk-metrics/src/Instruments.ts @@ -36,6 +36,7 @@ import { AsyncWritableMetricStorage, WritableMetricStorage, } from './state/WritableMetricStorage'; +import { Gauge } from './types'; export class SyncInstrument { constructor( @@ -110,6 +111,18 @@ export class CounterInstrument extends SyncInstrument implements Counter { } } +/** + * The class implements {@link Gauge} interface. + */ +export class GaugeInstrument extends SyncInstrument implements Gauge { + /** + * Records a measurement. + */ + record(value: number, attributes?: MetricAttributes, ctx?: Context): void { + this._record(value, attributes, ctx); + } +} + /** * The class implements {@link Histogram} interface. */ diff --git a/packages/sdk-metrics/src/Meter.ts b/packages/sdk-metrics/src/Meter.ts index b3d69d0dfd..2af51dd82d 100644 --- a/packages/sdk-metrics/src/Meter.ts +++ b/packages/sdk-metrics/src/Meter.ts @@ -25,6 +25,7 @@ import { ObservableUpDownCounter, BatchObservableCallback, Observable, + Attributes, } from '@opentelemetry/api'; import { createInstrumentDescriptor, @@ -32,6 +33,7 @@ import { } from './InstrumentDescriptor'; import { CounterInstrument, + GaugeInstrument, HistogramInstrument, ObservableCounterInstrument, ObservableGaugeInstrument, @@ -39,6 +41,7 @@ import { UpDownCounterInstrument, } from './Instruments'; import { MeterSharedState } from './state/MeterSharedState'; +import { Gauge } from './types'; /** * This class implements the {@link IMeter} interface. @@ -46,6 +49,23 @@ import { MeterSharedState } from './state/MeterSharedState'; export class Meter implements IMeter { constructor(private _meterSharedState: MeterSharedState) {} + /** + * Create a {@link Gauge} instrument. + * @experimental + */ + createGauge( + name: string, + options?: MetricOptions + ): Gauge { + const descriptor = createInstrumentDescriptor( + name, + InstrumentType.GAUGE, + options + ); + const storage = this._meterSharedState.registerMetricStorage(descriptor); + return new GaugeInstrument(storage, descriptor); + } + /** * Create a {@link Histogram} instrument. */ diff --git a/packages/sdk-metrics/src/aggregator/ExponentialHistogram.ts b/packages/sdk-metrics/src/aggregator/ExponentialHistogram.ts index a0c438ee17..9eb296fb27 100644 --- a/packages/sdk-metrics/src/aggregator/ExponentialHistogram.ts +++ b/packages/sdk-metrics/src/aggregator/ExponentialHistogram.ts @@ -580,6 +580,7 @@ export class ExponentialHistogramAggregator // determine if instrument allows negative values. const allowsNegativeValues = + descriptor.type === InstrumentType.GAUGE || descriptor.type === InstrumentType.UP_DOWN_COUNTER || descriptor.type === InstrumentType.OBSERVABLE_GAUGE || descriptor.type === InstrumentType.OBSERVABLE_UP_DOWN_COUNTER; diff --git a/packages/sdk-metrics/src/aggregator/Histogram.ts b/packages/sdk-metrics/src/aggregator/Histogram.ts index 94cf906039..5c9390b81f 100644 --- a/packages/sdk-metrics/src/aggregator/Histogram.ts +++ b/packages/sdk-metrics/src/aggregator/Histogram.ts @@ -231,6 +231,7 @@ export class HistogramAggregator implements Aggregator { // determine if instrument allows negative values. const allowsNegativeValues = + descriptor.type === InstrumentType.GAUGE || descriptor.type === InstrumentType.UP_DOWN_COUNTER || descriptor.type === InstrumentType.OBSERVABLE_GAUGE || descriptor.type === InstrumentType.OBSERVABLE_UP_DOWN_COUNTER; diff --git a/packages/sdk-metrics/src/types.ts b/packages/sdk-metrics/src/types.ts index 89af1eea33..41c617ffc5 100644 --- a/packages/sdk-metrics/src/types.ts +++ b/packages/sdk-metrics/src/types.ts @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +import { Context, MetricAttributes } from '@opentelemetry/api'; export type CommonReaderOptions = { timeoutMillis?: number; @@ -23,3 +24,18 @@ export type CollectionOptions = CommonReaderOptions; export type ShutdownOptions = CommonReaderOptions; export type ForceFlushOptions = CommonReaderOptions; + +/** + * @experimental + * + * This is intentionally not using the API's type as it's only available from @opentelemetry/api 1.9.0 and up. + * In SDK 2.0 we'll be able to bump the minimum API version and remove this workaround. + */ +export interface Gauge< + AttributesTypes extends MetricAttributes = MetricAttributes, +> { + /** + * Records a measurement. Value of the measurement must not be negative. + */ + record(value: number, attributes?: AttributesTypes, context?: Context): void; +} diff --git a/packages/sdk-metrics/src/view/Aggregation.ts b/packages/sdk-metrics/src/view/Aggregation.ts index 2f74063ca2..f34bd1231a 100644 --- a/packages/sdk-metrics/src/view/Aggregation.ts +++ b/packages/sdk-metrics/src/view/Aggregation.ts @@ -182,6 +182,7 @@ export class DefaultAggregation extends Aggregation { case InstrumentType.OBSERVABLE_UP_DOWN_COUNTER: { return SUM_AGGREGATION; } + case InstrumentType.GAUGE: case InstrumentType.OBSERVABLE_GAUGE: { return LAST_VALUE_AGGREGATION; } diff --git a/packages/sdk-metrics/test/Meter.test.ts b/packages/sdk-metrics/test/Meter.test.ts index e40d6aa507..875f202862 100644 --- a/packages/sdk-metrics/test/Meter.test.ts +++ b/packages/sdk-metrics/test/Meter.test.ts @@ -19,6 +19,7 @@ import * as assert from 'assert'; import * as sinon from 'sinon'; import { CounterInstrument, + GaugeInstrument, HistogramInstrument, ObservableCounterInstrument, ObservableGaugeInstrument, @@ -88,6 +89,18 @@ describe('Meter', () => { }); }); + describe('createGauge', () => { + testWithNames('Gauge', name => { + const meterSharedState = new MeterSharedState( + new MeterProviderSharedState(defaultResource), + defaultInstrumentationScope + ); + const meter = new Meter(meterSharedState); + const Gauge = meter.createGauge(name); + assert(Gauge instanceof GaugeInstrument); + }); + }); + describe('createObservableCounter', () => { testWithNames('ObservableCounter', name => { const meterSharedState = new MeterSharedState( diff --git a/packages/sdk-metrics/test/export/ConsoleMetricExporter.test.ts b/packages/sdk-metrics/test/export/ConsoleMetricExporter.test.ts index 6409f6aa04..258f0df00f 100644 --- a/packages/sdk-metrics/test/export/ConsoleMetricExporter.test.ts +++ b/packages/sdk-metrics/test/export/ConsoleMetricExporter.test.ts @@ -160,6 +160,7 @@ describe('ConsoleMetricExporter', () => { switch (instrumentType) { case InstrumentType.COUNTER: case InstrumentType.OBSERVABLE_COUNTER: + case InstrumentType.GAUGE: case InstrumentType.HISTOGRAM: case InstrumentType.OBSERVABLE_GAUGE: return AggregationTemporality.DELTA; diff --git a/packages/sdk-metrics/test/export/utils.ts b/packages/sdk-metrics/test/export/utils.ts index a5decfae41..a10021ee90 100644 --- a/packages/sdk-metrics/test/export/utils.ts +++ b/packages/sdk-metrics/test/export/utils.ts @@ -29,6 +29,7 @@ const instrumentTypes = [ InstrumentType.UP_DOWN_COUNTER, InstrumentType.OBSERVABLE_UP_DOWN_COUNTER, InstrumentType.HISTOGRAM, + InstrumentType.GAUGE, InstrumentType.OBSERVABLE_GAUGE, ]; From 5231aa255047fbc6ee3d6a299f4423ab2f8a5fbc Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Wed, 3 Apr 2024 09:57:31 +0200 Subject: [PATCH 08/17] chore: prepare release 1.23.0/0.50.0 (#4601) --- CHANGELOG.md | 16 +- examples/esm-http-ts/package.json | 16 +- examples/http/package.json | 18 +- examples/https/package.json | 18 +- examples/opentelemetry-web/package.json | 30 +- examples/otlp-exporter-node/package.json | 24 +- experimental/CHANGELOG.md | 32 +- .../node14/package.json | 6 +- .../node16/package.json | 6 +- experimental/examples/logs/package.json | 6 +- .../examples/opencensus-shim/package.json | 16 +- experimental/examples/prometheus/package.json | 6 +- experimental/packages/api-events/package.json | 4 +- experimental/packages/api-logs/package.json | 2 +- .../exporter-logs-otlp-grpc/package.json | 16 +- .../exporter-logs-otlp-http/package.json | 14 +- .../exporter-logs-otlp-proto/package.json | 18 +- .../exporter-trace-otlp-grpc/package.json | 14 +- .../exporter-trace-otlp-http/package.json | 12 +- .../exporter-trace-otlp-proto/package.json | 14 +- .../package.json | 6 +- .../package.json | 14 +- .../package.json | 12 +- .../package.json | 16 +- .../package.json | 10 +- .../package.json | 16 +- .../package.json | 14 +- .../package.json | 16 +- .../package.json | 16 +- .../package.json | 6 +- .../opentelemetry-sdk-node/package.json | 32 +- .../packages/otlp-exporter-base/package.json | 4 +- .../otlp-grpc-exporter-base/package.json | 12 +- .../otlp-proto-exporter-base/package.json | 6 +- .../packages/otlp-transformer/package.json | 14 +- experimental/packages/sdk-logs/package.json | 8 +- .../packages/shim-opencensus/package.json | 12 +- integration-tests/api/package.json | 2 +- .../package.json | 8 +- package-lock.json | 1075 +++++++++-------- .../package.json | 2 +- .../package.json | 2 +- .../opentelemetry-context-zone/package.json | 4 +- packages/opentelemetry-core/package.json | 4 +- .../package.json | 10 +- .../package.json | 10 +- .../opentelemetry-propagator-b3/package.json | 4 +- .../package.json | 4 +- packages/opentelemetry-resources/package.json | 6 +- .../opentelemetry-sdk-trace-base/package.json | 8 +- .../opentelemetry-sdk-trace-node/package.json | 16 +- .../opentelemetry-sdk-trace-web/package.json | 14 +- .../package.json | 2 +- .../package.json | 12 +- packages/sdk-metrics/package.json | 6 +- packages/template/package.json | 2 +- selenium-tests/package.json | 22 +- 57 files changed, 866 insertions(+), 849 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3c68dec71a..5f966b0bea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,16 +11,24 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/ ### :rocket: (Enhancement) -* perf(sdk-trace-base): do not allocate arrays if resource has no pending async attributes - ### :bug: (Bug Fix) -* fix(sdk-metrics): increase the depth of the output to the console such that objects in the metric are printed fully to the console [#4522](https://github.com/open-telemetry/opentelemetry-js/pull/4522) @JacksonWeber - ### :books: (Refine Doc) ### :house: (Internal) +## 1.23.0 + +### :rocket: (Enhancement) + +* perf(sdk-trace-base): do not allocate arrays if resource has no pending async attributes [#4576](https://github.com/open-telemetry/opentelemetry-js/pull/4576) @Samuron +* feat(sdk-metrics): added experimental synchronous gauge to SDK [#4565](https://github.com/open-telemetry/opentelemetry-js/pull/4565) @clintonb + * this change will become user-facing in an upcoming release + +### :bug: (Bug Fix) + +* fix(sdk-metrics): increase the depth of the output to the console such that objects in the metric are printed fully to the console [#4522](https://github.com/open-telemetry/opentelemetry-js/pull/4522) @JacksonWeber + ## 1.22.0 ### :rocket: (Enhancement) diff --git a/examples/esm-http-ts/package.json b/examples/esm-http-ts/package.json index 17d1a375a5..99fd1c65b0 100644 --- a/examples/esm-http-ts/package.json +++ b/examples/esm-http-ts/package.json @@ -1,7 +1,7 @@ { "name": "esm-http-ts", "private": true, - "version": "0.49.1", + "version": "0.50.0", "description": "Example of HTTP integration with OpenTelemetry using ESM and TypeScript", "main": "build/index.js", "type": "module", @@ -31,12 +31,12 @@ "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/", "dependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-http": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-http": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" } } diff --git a/examples/http/package.json b/examples/http/package.json index a6e955bf0e..cc0275e8fd 100644 --- a/examples/http/package.json +++ b/examples/http/package.json @@ -1,7 +1,7 @@ { "name": "http-example", "private": true, - "version": "0.49.1", + "version": "0.50.0", "description": "Example of HTTP integration with OpenTelemetry", "main": "index.js", "scripts": { @@ -29,14 +29,14 @@ }, "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "1.22.0", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-http": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/exporter-jaeger": "1.23.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-http": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/http", "devDependencies": { diff --git a/examples/https/package.json b/examples/https/package.json index b32114a2b2..d7a104bd93 100644 --- a/examples/https/package.json +++ b/examples/https/package.json @@ -1,7 +1,7 @@ { "name": "https-example", "private": true, - "version": "0.49.1", + "version": "0.50.0", "description": "Example of HTTPs integration with OpenTelemetry", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -33,14 +33,14 @@ }, "dependencies": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/exporter-jaeger": "1.22.0", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-http": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/exporter-jaeger": "1.23.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-http": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/https", "devDependencies": { diff --git a/examples/opentelemetry-web/package.json b/examples/opentelemetry-web/package.json index 28e841b79d..aef40d140d 100644 --- a/examples/opentelemetry-web/package.json +++ b/examples/opentelemetry-web/package.json @@ -1,7 +1,7 @@ { "name": "web-opentelemetry-example", "private": true, - "version": "0.49.1", + "version": "0.50.0", "description": "Example of using @opentelemetry/sdk-trace-web and @opentelemetry/sdk-metrics in browser", "main": "index.js", "scripts": { @@ -44,20 +44,20 @@ }, "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-fetch": "0.49.1", - "@opentelemetry/instrumentation-xml-http-request": "0.49.1", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-web": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-fetch": "0.50.0", + "@opentelemetry/instrumentation-xml-http-request": "0.50.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-web": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/tracer-web" } diff --git a/examples/otlp-exporter-node/package.json b/examples/otlp-exporter-node/package.json index 0ee4655865..b1ed403067 100644 --- a/examples/otlp-exporter-node/package.json +++ b/examples/otlp-exporter-node/package.json @@ -1,7 +1,7 @@ { "name": "example-otlp-exporter-node", "private": true, - "version": "0.49.1", + "version": "0.50.0", "description": "Example of using @opentelemetry/collector-exporter in Node.js", "main": "index.js", "scripts": { @@ -29,17 +29,17 @@ }, "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.49.1", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/exporter-metrics-otlp-proto": "0.49.1", - "@opentelemetry/exporter-trace-otlp-grpc": "0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.50.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.50.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/examples/otlp-exporter-node" } diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 7a4547ffc6..920044e357 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -6,6 +6,18 @@ All notable changes to experimental packages in this project will be documented ### :boom: Breaking Change +### :rocket: (Enhancement) + +### :bug: (Bug Fix) + +### :books: (Refine Doc) + +### :house: (Internal) + +## 0.50.0 + +### :boom: Breaking Change + * fix(exporter-*-otlp-grpc)!: lazy load gRPC to improve compatibility with `@opentelemetry/instrumenation-grpc` [#4432](https://github.com/open-telemetry/opentelemetry-js/pull/4432) @pichlermarc * Fixes a bug where requiring up the gRPC exporter before enabling the instrumentation from `@opentelemetry/instrumentation-grpc` would lead to missing telemetry * Breaking changes, removes several functions and properties that were used internally and were not intended for end-users @@ -19,19 +31,17 @@ All notable changes to experimental packages in this project will be documented * was used internally to keep track of the service client used by the exporter, as a side effect it allowed end-users to modify the gRPC service client that was used * `compression` * was used internally to keep track of the compression to use but was unintentionally exposed to the users. It allowed to read and write the value, writing, however, would have no effect. -* feat(api-events)!: removed domain from the Events API [#4569](https://github.com/open-telemetry/opentelemetry-js/pull/4569) -* fix(events-api)!: renamed EventEmitter to EventLogger in the Events API [#4569](https://github.com/open-telemetry/opentelemetry-js/pull/4568) -* feat(api-logs)!: changed LogRecord body data type to AnyValue [#4575](https://github.com/open-telemetry/opentelemetry-js/pull/4575) -and AnyValueMap types [#4575](https://github.com/open-telemetry/opentelemetry-js/pull/4575) +* feat(api-events)!: removed domain from the Events API [#4569](https://github.com/open-telemetry/opentelemetry-js/pull/4569) @martinkuba +* fix(api-events)!: renamed EventEmitter to EventLogger in the Events API [#4569](https://github.com/open-telemetry/opentelemetry-js/pull/4568) @martinkuba +* feat(api-logs)!: changed LogRecord body data type to AnyValue and AnyValueMap types [#4575](https://github.com/open-telemetry/opentelemetry-js/pull/4575) @martinkuba ### :rocket: (Enhancement) -* feat(metrics): added synchronous gauge to SDK [#4565](https://github.com/open-telemetry/opentelemetry-js/pull/4565) @clintonb -* feat(opentelemetry-instrumentation-xhr): optionally ignore network events [#4571](https://github.com/open-telemetry/opentelemetry-js/pull/4571/) @mustafahaddara -* refactor(instr-http): use exported strings for semconv. [#4573](https://github.com/open-telemetry/opentelemetry-js/pull/4573/) @JamieDanielson +* feat(instrumentation-xhr): optionally ignore network events [#4571](https://github.com/open-telemetry/opentelemetry-js/pull/4571/) @mustafahaddara +* refactor(instrumentation-http): use exported strings for semconv [#4573](https://github.com/open-telemetry/opentelemetry-js/pull/4573/) @JamieDanielson * perf(instrumentation-http): remove obvious temp allocations [#4576](https://github.com/open-telemetry/opentelemetry-js/pull/4576) @Samuron -* feat(sdk-node): add `HostDetector` as default resource detector -* feat(api-events): added data field to the Event interface [4575](https://github.com/open-telemetry/opentelemetry-js/pull/4575) +* feat(sdk-node): add `HostDetector` as default resource detector [#4566](https://github.com/open-telemetry/opentelemetry-js/pull/4566) @maryliag +* feat(api-events): added data field to the Event interface [#4575](https://github.com/open-telemetry/opentelemetry-js/pull/4575) @martinkuba ### :bug: (Bug Fix) @@ -41,9 +51,7 @@ and AnyValueMap types [#4575](https://github.com/open-telemetry/opentelemetry-js ### :books: (Refine Doc) -* docs(instr-http): document semantic conventions and attributes in use. [#4587](https://github.com/open-telemetry/opentelemetry-js/pull/4587/) @JamieDanielson - -### :house: (Internal) +* docs(instrumentation-http): document semantic conventions and attributes in use. [#4587](https://github.com/open-telemetry/opentelemetry-js/pull/4587/) @JamieDanielson ## 0.49.1 diff --git a/experimental/backwards-compatibility/node14/package.json b/experimental/backwards-compatibility/node14/package.json index 9eaebc5f39..f374d6fc79 100644 --- a/experimental/backwards-compatibility/node14/package.json +++ b/experimental/backwards-compatibility/node14/package.json @@ -1,6 +1,6 @@ { "name": "backcompat-node14", - "version": "0.49.1", + "version": "0.50.0", "private": true, "description": "Backwards compatibility app for node 14 types and the OpenTelemetry Node.js SDK", "main": "index.js", @@ -9,8 +9,8 @@ "peer-api-check": "node ../../../scripts/peer-api-check.js" }, "dependencies": { - "@opentelemetry/sdk-node": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/sdk-node": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "devDependencies": { "@types/node": "14.18.25", diff --git a/experimental/backwards-compatibility/node16/package.json b/experimental/backwards-compatibility/node16/package.json index 2efe0f852d..fa95c20bae 100644 --- a/experimental/backwards-compatibility/node16/package.json +++ b/experimental/backwards-compatibility/node16/package.json @@ -1,6 +1,6 @@ { "name": "backcompat-node16", - "version": "0.49.1", + "version": "0.50.0", "private": true, "description": "Backwards compatibility app for node 16 types and the OpenTelemetry Node.js SDK", "main": "index.js", @@ -9,8 +9,8 @@ "peer-api-check": "node ../../../scripts/peer-api-check.js" }, "dependencies": { - "@opentelemetry/sdk-node": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/sdk-node": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "devDependencies": { "@types/node": "16.11.52", diff --git a/experimental/examples/logs/package.json b/experimental/examples/logs/package.json index af5423cb58..12183ef55d 100644 --- a/experimental/examples/logs/package.json +++ b/experimental/examples/logs/package.json @@ -1,14 +1,14 @@ { "name": "logs-example", - "version": "0.49.1", + "version": "0.50.0", "private": true, "scripts": { "start": "ts-node index.ts" }, "dependencies": { "@opentelemetry/api": "^1.7.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/sdk-logs": "0.49.1" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/sdk-logs": "0.50.0" }, "devDependencies": { "@types/node": "18.6.5", diff --git a/experimental/examples/opencensus-shim/package.json b/experimental/examples/opencensus-shim/package.json index ad586debab..81b5b04e6d 100644 --- a/experimental/examples/opencensus-shim/package.json +++ b/experimental/examples/opencensus-shim/package.json @@ -1,7 +1,7 @@ { "name": "opencensus-shim", "private": true, - "version": "0.49.1", + "version": "0.50.0", "description": "Example of using @opentelemetry/shim-opencensus in Node.js", "main": "index.js", "scripts": { @@ -31,13 +31,13 @@ "@opencensus/instrumentation-http": "0.1.0", "@opencensus/nodejs-base": "0.1.0", "@opentelemetry/api": "1.8.0", - "@opentelemetry/exporter-prometheus": "0.49.1", - "@opentelemetry/exporter-trace-otlp-grpc": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", - "@opentelemetry/shim-opencensus": "0.49.1" + "@opentelemetry/exporter-prometheus": "0.50.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", + "@opentelemetry/shim-opencensus": "0.50.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/examples/opencensus-shim" } diff --git a/experimental/examples/prometheus/package.json b/experimental/examples/prometheus/package.json index 10c8a48e8e..9c41de4fe4 100644 --- a/experimental/examples/prometheus/package.json +++ b/experimental/examples/prometheus/package.json @@ -1,6 +1,6 @@ { "name": "prometheus-example", - "version": "0.49.1", + "version": "0.50.0", "private": true, "description": "Example of using @opentelemetry/sdk-metrics and @opentelemetry/exporter-prometheus", "main": "index.js", @@ -11,7 +11,7 @@ "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-prometheus": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/exporter-prometheus": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0" } } diff --git a/experimental/packages/api-events/package.json b/experimental/packages/api-events/package.json index 2c40d47717..d464098b5f 100644 --- a/experimental/packages/api-events/package.json +++ b/experimental/packages/api-events/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/api-events", - "version": "0.49.1", + "version": "0.50.0", "description": "Public events API for OpenTelemetry", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -62,7 +62,7 @@ }, "dependencies": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/api-logs": "0.49.1" + "@opentelemetry/api-logs": "0.50.0" }, "devDependencies": { "@types/mocha": "10.0.6", diff --git a/experimental/packages/api-logs/package.json b/experimental/packages/api-logs/package.json index ffc178b566..f91fa602c3 100644 --- a/experimental/packages/api-logs/package.json +++ b/experimental/packages/api-logs/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/api-logs", - "version": "0.49.1", + "version": "0.50.0", "description": "Public logs API for OpenTelemetry", "main": "build/src/index.js", "module": "build/esm/index.js", diff --git a/experimental/packages/exporter-logs-otlp-grpc/package.json b/experimental/packages/exporter-logs-otlp-grpc/package.json index 6a41dcbb22..ae0811d75f 100644 --- a/experimental/packages/exporter-logs-otlp-grpc/package.json +++ b/experimental/packages/exporter-logs-otlp-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-logs-otlp-grpc", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry Collector Exporter allows user to send collected log records to the OpenTelemetry Collector", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -50,9 +50,9 @@ "devDependencies": { "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/resources": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -72,10 +72,10 @@ }, "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/sdk-logs": "0.49.1" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/sdk-logs": "0.50.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-logs-otlp-grpc", "sideEffects": false diff --git a/experimental/packages/exporter-logs-otlp-http/package.json b/experimental/packages/exporter-logs-otlp-http/package.json index 87b89e7027..5b4238040b 100644 --- a/experimental/packages/exporter-logs-otlp-http/package.json +++ b/experimental/packages/exporter-logs-otlp-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-logs-otlp-http", - "version": "0.49.1", + "version": "0.50.0", "publishConfig": { "access": "public" }, @@ -74,7 +74,7 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/resources": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -105,10 +105,10 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/sdk-logs": "0.49.1" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/sdk-logs": "0.50.0" } } diff --git a/experimental/packages/exporter-logs-otlp-proto/package.json b/experimental/packages/exporter-logs-otlp-proto/package.json index 9e3a201193..d0fe9a9dfd 100644 --- a/experimental/packages/exporter-logs-otlp-proto/package.json +++ b/experimental/packages/exporter-logs-otlp-proto/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-logs-otlp-proto", - "version": "0.49.1", + "version": "0.50.0", "description": "An OTLP exporter to send logs using protobuf over HTTP", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -94,14 +94,14 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-proto-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-proto-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-logs-otlp-proto", "sideEffects": false diff --git a/experimental/packages/exporter-trace-otlp-grpc/package.json b/experimental/packages/exporter-trace-otlp-grpc/package.json index 083b536b7d..645888ff9b 100644 --- a/experimental/packages/exporter-trace-otlp-grpc/package.json +++ b/experimental/packages/exporter-trace-otlp-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-trace-otlp-grpc", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry Collector Exporter allows user to send collected traces to the OpenTelemetry Collector", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -49,7 +49,7 @@ "devDependencies": { "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", + "@opentelemetry/otlp-exporter-base": "0.50.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -69,11 +69,11 @@ }, "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-grpc", "sideEffects": false diff --git a/experimental/packages/exporter-trace-otlp-http/package.json b/experimental/packages/exporter-trace-otlp-http/package.json index d42722dad2..12f449ad29 100644 --- a/experimental/packages/exporter-trace-otlp-http/package.json +++ b/experimental/packages/exporter-trace-otlp-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-trace-otlp-http", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry Collector Trace Exporter allows user to send collected traces to the OpenTelemetry Collector", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -96,11 +96,11 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-http", "sideEffects": false diff --git a/experimental/packages/exporter-trace-otlp-proto/package.json b/experimental/packages/exporter-trace-otlp-proto/package.json index 538cbfbf96..4ffbb48d08 100644 --- a/experimental/packages/exporter-trace-otlp-proto/package.json +++ b/experimental/packages/exporter-trace-otlp-proto/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-trace-otlp-proto", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry Collector Exporter allows user to send collected traces to the OpenTelemetry Collector using protobuf over HTTP", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -93,12 +93,12 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-proto-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-proto-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/exporter-trace-otlp-proto", "sideEffects": false diff --git a/experimental/packages/opentelemetry-browser-detector/package.json b/experimental/packages/opentelemetry-browser-detector/package.json index 9c62205678..305a5aa8c3 100644 --- a/experimental/packages/opentelemetry-browser-detector/package.json +++ b/experimental/packages/opentelemetry-browser-detector/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/opentelemetry-browser-detector", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry Resource Detector for Browser", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -83,8 +83,8 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/browser-detector" } diff --git a/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json b/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json index 81bb6fbbab..3d855af13f 100644 --- a/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json +++ b/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-metrics-otlp-grpc", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -68,12 +68,12 @@ }, "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/otlp-grpc-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-metrics-otlp-grpc", "sideEffects": false diff --git a/experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json b/experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json index 45499e5c93..001cee470c 100644 --- a/experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json +++ b/experimental/packages/opentelemetry-exporter-metrics-otlp-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-metrics-otlp-http", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -96,11 +96,11 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-metrics-otlp-http", "sideEffects": false diff --git a/experimental/packages/opentelemetry-exporter-metrics-otlp-proto/package.json b/experimental/packages/opentelemetry-exporter-metrics-otlp-proto/package.json index c878e3e8e7..1a54ed9a3e 100644 --- a/experimental/packages/opentelemetry-exporter-metrics-otlp-proto/package.json +++ b/experimental/packages/opentelemetry-exporter-metrics-otlp-proto/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-metrics-otlp-proto", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry Collector Metrics Exporter allows user to send collected metrics to the OpenTelemetry Collector using protobuf over HTTP", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -74,13 +74,13 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-proto-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-proto-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-metrics-otlp-proto", "sideEffects": false diff --git a/experimental/packages/opentelemetry-exporter-prometheus/package.json b/experimental/packages/opentelemetry-exporter-prometheus/package.json index 6d9bd19d96..d5e614ddab 100644 --- a/experimental/packages/opentelemetry-exporter-prometheus/package.json +++ b/experimental/packages/opentelemetry-exporter-prometheus/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-prometheus", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry Exporter Prometheus provides a metrics endpoint for Prometheus", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -44,7 +44,7 @@ }, "devDependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -61,9 +61,9 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-exporter-prometheus", "sideEffects": false diff --git a/experimental/packages/opentelemetry-instrumentation-fetch/package.json b/experimental/packages/opentelemetry-instrumentation-fetch/package.json index b5839a3db8..5991a367ca 100644 --- a/experimental/packages/opentelemetry-instrumentation-fetch/package.json +++ b/experimental/packages/opentelemetry-instrumentation-fetch/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation-fetch", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry fetch automatic instrumentation package.", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -57,9 +57,9 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -89,10 +89,10 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/sdk-trace-web": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/sdk-trace-web": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-fetch", "sideEffects": false diff --git a/experimental/packages/opentelemetry-instrumentation-grpc/package.json b/experimental/packages/opentelemetry-instrumentation-grpc/package.json index 56303ee8f4..c12a6dc412 100644 --- a/experimental/packages/opentelemetry-instrumentation-grpc/package.json +++ b/experimental/packages/opentelemetry-instrumentation-grpc/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation-grpc", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry grpc automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -50,10 +50,10 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", "@protobuf-ts/grpc-transport": "2.9.3", "@protobuf-ts/runtime": "2.9.3", "@protobuf-ts/runtime-rpc": "2.9.3", @@ -75,8 +75,8 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-grpc", "sideEffects": false diff --git a/experimental/packages/opentelemetry-instrumentation-http/package.json b/experimental/packages/opentelemetry-instrumentation-http/package.json index fbc4597aad..17ee989ac0 100644 --- a/experimental/packages/opentelemetry-instrumentation-http/package.json +++ b/experimental/packages/opentelemetry-instrumentation-http/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation-http", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry http/https automatic instrumentation package.", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -46,10 +46,10 @@ }, "devDependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/request-promise-native": "1.0.21", @@ -74,9 +74,9 @@ "@opentelemetry/api": "^1.3.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/semantic-conventions": "1.23.0", "semver": "^7.5.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-http", diff --git a/experimental/packages/opentelemetry-instrumentation-xml-http-request/package.json b/experimental/packages/opentelemetry-instrumentation-xml-http-request/package.json index dcca42a108..21f546751a 100644 --- a/experimental/packages/opentelemetry-instrumentation-xml-http-request/package.json +++ b/experimental/packages/opentelemetry-instrumentation-xml-http-request/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation-xml-http-request", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry XMLHttpRequest automatic instrumentation package.", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -57,9 +57,9 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -89,10 +89,10 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/sdk-trace-web": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/sdk-trace-web": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation-xml-http-request", "sideEffects": false diff --git a/experimental/packages/opentelemetry-instrumentation/package.json b/experimental/packages/opentelemetry-instrumentation/package.json index e2a1785aa4..7580b0cdb0 100644 --- a/experimental/packages/opentelemetry-instrumentation/package.json +++ b/experimental/packages/opentelemetry-instrumentation/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/instrumentation", - "version": "0.49.1", + "version": "0.50.0", "description": "Base class for node which OpenTelemetry instrumentation modules extend", "author": "OpenTelemetry Authors", "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/opentelemetry-instrumentation", @@ -71,7 +71,7 @@ "url": "https://github.com/open-telemetry/opentelemetry-js/issues" }, "dependencies": { - "@opentelemetry/api-logs": "0.49.1", + "@opentelemetry/api-logs": "0.50.0", "@types/shimmer": "^1.0.2", "import-in-the-middle": "1.7.1", "require-in-the-middle": "^7.1.1", @@ -86,7 +86,7 @@ "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", "@opentelemetry/api-logs": "0.47.0", - "@opentelemetry/sdk-metrics": "1.22.0", + "@opentelemetry/sdk-metrics": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/semver": "7.5.6", diff --git a/experimental/packages/opentelemetry-sdk-node/package.json b/experimental/packages/opentelemetry-sdk-node/package.json index a7513f3674..52e916c068 100644 --- a/experimental/packages/opentelemetry-sdk-node/package.json +++ b/experimental/packages/opentelemetry-sdk-node/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-node", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry SDK for Node.js", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -44,27 +44,27 @@ "access": "public" }, "dependencies": { - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.3.0 <1.9.0" }, "devDependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/exporter-jaeger": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/exporter-jaeger": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/semver": "7.5.6", diff --git a/experimental/packages/otlp-exporter-base/package.json b/experimental/packages/otlp-exporter-base/package.json index eb4fc6b955..4e7a1552a4 100644 --- a/experimental/packages/otlp-exporter-base/package.json +++ b/experimental/packages/otlp-exporter-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/otlp-exporter-base", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry OTLP Exporter base (for internal use only)", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -61,7 +61,7 @@ "access": "public" }, "dependencies": { - "@opentelemetry/core": "1.22.0" + "@opentelemetry/core": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", diff --git a/experimental/packages/otlp-grpc-exporter-base/package.json b/experimental/packages/otlp-grpc-exporter-base/package.json index f12206137b..37d9b908a7 100644 --- a/experimental/packages/otlp-grpc-exporter-base/package.json +++ b/experimental/packages/otlp-grpc-exporter-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/otlp-grpc-exporter-base", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry OTLP-gRPC Exporter base (for internal use only)", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -49,9 +49,9 @@ }, "devDependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -72,8 +72,8 @@ }, "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", "protobufjs": "^7.2.3" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/otlp-grpc-exporter-base", diff --git a/experimental/packages/otlp-proto-exporter-base/package.json b/experimental/packages/otlp-proto-exporter-base/package.json index 3da043a8b0..a96db0d01b 100644 --- a/experimental/packages/otlp-proto-exporter-base/package.json +++ b/experimental/packages/otlp-proto-exporter-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/otlp-proto-exporter-base", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenTelemetry OTLP-HTTP-protobuf Exporter base (for internal use only)", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -80,8 +80,8 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", "protobufjs": "^7.2.3" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/otlp-proto-exporter-base", diff --git a/experimental/packages/otlp-transformer/package.json b/experimental/packages/otlp-transformer/package.json index e79130b68e..9f382a9d6d 100644 --- a/experimental/packages/otlp-transformer/package.json +++ b/experimental/packages/otlp-transformer/package.json @@ -4,7 +4,7 @@ "publishConfig": { "access": "public" }, - "version": "0.49.1", + "version": "0.50.0", "description": "Transform OpenTelemetry SDK data into OTLP", "module": "build/esm/index.js", "esnext": "build/esnext/index.js", @@ -79,12 +79,12 @@ "webpack": "5.89.0" }, "dependencies": { - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/experimental/packages/otlp-transformer", "sideEffects": false diff --git a/experimental/packages/sdk-logs/package.json b/experimental/packages/sdk-logs/package.json index 9dcc7c3d90..04e8862ab7 100644 --- a/experimental/packages/sdk-logs/package.json +++ b/experimental/packages/sdk-logs/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-logs", - "version": "0.49.1", + "version": "0.50.0", "publishConfig": { "access": "public" }, @@ -75,7 +75,7 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": ">=1.4.0 <1.9.0", - "@opentelemetry/api-logs": "0.49.1", + "@opentelemetry/api-logs": "0.50.0", "@opentelemetry/resources_1.9.0": "npm:@opentelemetry/resources@1.9.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -101,7 +101,7 @@ "webpack-merge": "5.10.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0" } } diff --git a/experimental/packages/shim-opencensus/package.json b/experimental/packages/shim-opencensus/package.json index ecc6e31a44..71d386b6f7 100644 --- a/experimental/packages/shim-opencensus/package.json +++ b/experimental/packages/shim-opencensus/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/shim-opencensus", - "version": "0.49.1", + "version": "0.50.0", "description": "OpenCensus to OpenTelemetry shim", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -50,8 +50,8 @@ "devDependencies": { "@opencensus/core": "0.1.0", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -69,9 +69,9 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2" }, diff --git a/integration-tests/api/package.json b/integration-tests/api/package.json index d6f3a19514..565552f62e 100644 --- a/integration-tests/api/package.json +++ b/integration-tests/api/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/integration-tests-api", - "version": "1.22.1", + "version": "1.23.0", "private": true, "publishConfig": { "access": "restricted" diff --git a/integration-tests/propagation-validation-server/package.json b/integration-tests/propagation-validation-server/package.json index 1136e29884..b7acb04f1d 100644 --- a/integration-tests/propagation-validation-server/package.json +++ b/integration-tests/propagation-validation-server/package.json @@ -1,6 +1,6 @@ { "name": "propagation-validation-server", - "version": "1.23.1", + "version": "1.24.0", "description": "server for w3c tests", "main": "validation_server.js", "private": true, @@ -12,9 +12,9 @@ }, "dependencies": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "axios": "1.5.1", "body-parser": "1.19.0", "express": "4.19.2" diff --git a/package-lock.json b/package-lock.json index 6cc7166559..503a0f1523 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,6 @@ "hasInstallScript": true, "license": "Apache-2.0", "workspaces": [ - "api", "packages/*", "experimental/packages/*", "experimental/examples/*", @@ -195,17 +194,17 @@ } }, "examples/esm-http-ts": { - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-http": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-http": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "engines": { "node": ">=14" @@ -213,18 +212,18 @@ }, "examples/http": { "name": "http-example", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "1.22.0", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-http": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/exporter-jaeger": "1.23.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-http": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "cross-env": "^6.0.0" @@ -235,18 +234,18 @@ }, "examples/https": { "name": "https-example", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/exporter-jaeger": "1.22.0", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-http": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/exporter-jaeger": "1.23.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-http": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "cross-env": "^6.0.0" @@ -257,24 +256,24 @@ }, "examples/opentelemetry-web": { "name": "web-opentelemetry-example", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-fetch": "0.49.1", - "@opentelemetry/instrumentation-xml-http-request": "0.49.1", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-web": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-fetch": "0.50.0", + "@opentelemetry/instrumentation-xml-http-request": "0.50.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-web": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@babel/core": "^7.23.6", @@ -609,21 +608,21 @@ }, "examples/otlp-exporter-node": { "name": "example-otlp-exporter-node", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.49.1", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/exporter-metrics-otlp-proto": "0.49.1", - "@opentelemetry/exporter-trace-otlp-grpc": "0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.50.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.50.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "engines": { "node": ">=14" @@ -631,11 +630,11 @@ }, "experimental/backwards-compatibility/node14": { "name": "backcompat-node14", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/sdk-node": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/sdk-node": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "devDependencies": { "@types/node": "14.18.25", @@ -652,11 +651,11 @@ }, "experimental/backwards-compatibility/node16": { "name": "backcompat-node16", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/sdk-node": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/sdk-node": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "devDependencies": { "@types/node": "16.11.52", @@ -673,11 +672,11 @@ }, "experimental/examples/logs": { "name": "logs-example", - "version": "0.49.1", + "version": "0.50.0", "dependencies": { "@opentelemetry/api": "^1.7.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/sdk-logs": "0.49.1" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/sdk-logs": "0.50.0" }, "devDependencies": { "@types/node": "18.6.5", @@ -743,20 +742,20 @@ } }, "experimental/examples/opencensus-shim": { - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@opencensus/core": "0.1.0", "@opencensus/instrumentation-http": "0.1.0", "@opencensus/nodejs-base": "0.1.0", "@opentelemetry/api": "1.8.0", - "@opentelemetry/exporter-prometheus": "0.49.1", - "@opentelemetry/exporter-trace-otlp-grpc": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", - "@opentelemetry/shim-opencensus": "0.49.1" + "@opentelemetry/exporter-prometheus": "0.50.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", + "@opentelemetry/shim-opencensus": "0.50.0" }, "engines": { "node": ">=14" @@ -764,20 +763,21 @@ }, "experimental/examples/prometheus": { "name": "prometheus-example", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-prometheus": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/exporter-prometheus": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0" } }, "experimental/packages/api-events": { "name": "@opentelemetry/api-events", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api": "^1.0.0" + "@opentelemetry/api": "^1.0.0", + "@opentelemetry/api-logs": "0.50.0" }, "devDependencies": { "@types/mocha": "10.0.6", @@ -913,7 +913,7 @@ }, "experimental/packages/api-logs": { "name": "@opentelemetry/api-logs", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.0.0" @@ -1052,21 +1052,21 @@ }, "experimental/packages/exporter-logs-otlp-grpc": { "name": "@opentelemetry/exporter-logs-otlp-grpc", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/sdk-logs": "0.49.1" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/sdk-logs": "0.50.0" }, "devDependencies": { "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/resources": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -1090,20 +1090,20 @@ }, "experimental/packages/exporter-logs-otlp-http": { "name": "@opentelemetry/exporter-logs-otlp-http", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/sdk-logs": "0.49.1" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/sdk-logs": "0.50.0" }, "devDependencies": { "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/resources": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -1404,17 +1404,17 @@ }, "experimental/packages/exporter-logs-otlp-proto": { "name": "@opentelemetry/exporter-logs-otlp-proto", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-proto-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-proto-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", @@ -1718,20 +1718,20 @@ }, "experimental/packages/exporter-trace-otlp-grpc": { "name": "@opentelemetry/exporter-trace-otlp-grpc", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-grpc-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "devDependencies": { "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", + "@opentelemetry/otlp-exporter-base": "0.50.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -1755,14 +1755,14 @@ }, "experimental/packages/exporter-trace-otlp-http": { "name": "@opentelemetry/exporter-trace-otlp-http", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", @@ -2068,15 +2068,15 @@ }, "experimental/packages/exporter-trace-otlp-proto": { "name": "@opentelemetry/exporter-trace-otlp-proto", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-proto-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-proto-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", @@ -2380,11 +2380,11 @@ }, "experimental/packages/opentelemetry-browser-detector": { "name": "@opentelemetry/opentelemetry-browser-detector", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", @@ -2687,16 +2687,16 @@ }, "experimental/packages/opentelemetry-exporter-metrics-otlp-grpc": { "name": "@opentelemetry/exporter-metrics-otlp-grpc", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/otlp-grpc-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" }, "devDependencies": { "@grpc/proto-loader": "^0.7.10", @@ -2724,14 +2724,14 @@ }, "experimental/packages/opentelemetry-exporter-metrics-otlp-http": { "name": "@opentelemetry/exporter-metrics-otlp-http", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", @@ -3037,16 +3037,16 @@ }, "experimental/packages/opentelemetry-exporter-metrics-otlp-proto": { "name": "@opentelemetry/exporter-metrics-otlp-proto", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-proto-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-proto-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" }, "devDependencies": { "@opentelemetry/api": "1.8.0", @@ -3073,16 +3073,16 @@ }, "experimental/packages/opentelemetry-exporter-prometheus": { "name": "@opentelemetry/exporter-prometheus", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0" }, "devDependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -3104,10 +3104,10 @@ }, "experimental/packages/opentelemetry-instrumentation": { "name": "@opentelemetry/instrumentation", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.49.1", + "@opentelemetry/api-logs": "0.50.0", "@types/shimmer": "^1.0.2", "import-in-the-middle": "1.7.1", "require-in-the-middle": "^7.1.1", @@ -3119,7 +3119,7 @@ "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", "@opentelemetry/api-logs": "0.47.0", - "@opentelemetry/sdk-metrics": "1.22.0", + "@opentelemetry/sdk-metrics": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/semver": "7.5.6", @@ -3156,21 +3156,21 @@ }, "experimental/packages/opentelemetry-instrumentation-fetch": { "name": "@opentelemetry/instrumentation-fetch", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/sdk-trace-web": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/sdk-trace-web": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -3470,21 +3470,21 @@ }, "experimental/packages/opentelemetry-instrumentation-grpc": { "name": "@opentelemetry/instrumentation-grpc", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@bufbuild/buf": "1.21.0-1", "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", "@protobuf-ts/grpc-transport": "2.9.3", "@protobuf-ts/runtime": "2.9.3", "@protobuf-ts/runtime-rpc": "2.9.3", @@ -3511,20 +3511,20 @@ }, "experimental/packages/opentelemetry-instrumentation-http": { "name": "@opentelemetry/instrumentation-http", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/semantic-conventions": "1.23.0", "semver": "^7.5.2" }, "devDependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/request-promise-native": "1.0.21", @@ -3564,21 +3564,21 @@ }, "experimental/packages/opentelemetry-instrumentation-xml-http-request": { "name": "@opentelemetry/instrumentation-xml-http-request", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/sdk-trace-web": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/sdk-trace-web": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -4166,27 +4166,27 @@ }, "experimental/packages/opentelemetry-sdk-node": { "name": "@opentelemetry/sdk-node", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/exporter-jaeger": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/exporter-jaeger": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/semver": "7.5.6", @@ -4211,10 +4211,10 @@ }, "experimental/packages/otlp-exporter-base": { "name": "@opentelemetry/otlp-exporter-base", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0" + "@opentelemetry/core": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", @@ -4517,19 +4517,19 @@ }, "experimental/packages/otlp-grpc-exporter-base": { "name": "@opentelemetry/otlp-grpc-exporter-base", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { "@grpc/grpc-js": "^1.7.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", "protobufjs": "^7.2.3" }, "devDependencies": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -4554,11 +4554,11 @@ }, "experimental/packages/otlp-proto-exporter-base": { "name": "@opentelemetry/otlp-proto-exporter-base", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", "protobufjs": "^7.2.3" }, "devDependencies": { @@ -4588,15 +4588,15 @@ }, "experimental/packages/otlp-transformer": { "name": "@opentelemetry/otlp-transformer", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0" + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0" }, "devDependencies": { "@opentelemetry/api": "1.8.0", @@ -4735,17 +4735,17 @@ }, "experimental/packages/sdk-logs": { "name": "@opentelemetry/sdk-logs", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": ">=1.4.0 <1.9.0", - "@opentelemetry/api-logs": "0.49.1", + "@opentelemetry/api-logs": "0.50.0", "@opentelemetry/resources_1.9.0": "npm:@opentelemetry/resources@1.9.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -5095,20 +5095,20 @@ }, "experimental/packages/shim-opencensus": { "name": "@opentelemetry/shim-opencensus", - "version": "0.49.1", + "version": "0.50.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", "require-in-the-middle": "^7.1.1", "semver": "^7.5.2" }, "devDependencies": { "@opencensus/core": "0.1.0", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -5131,7 +5131,7 @@ }, "integration-tests/api": { "name": "@opentelemetry/integration-tests-api", - "version": "1.22.1", + "version": "1.23.0", "license": "Apache-2.0", "devDependencies": { "@opentelemetry/api": "^1.0.0", @@ -5458,13 +5458,13 @@ } }, "integration-tests/propagation-validation-server": { - "version": "1.23.1", + "version": "1.24.0", "license": "Apache-2.0", "dependencies": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "axios": "1.5.1", "body-parser": "1.19.0", "express": "4.19.2" @@ -34423,7 +34423,7 @@ }, "packages/opentelemetry-context-async-hooks": { "name": "@opentelemetry/context-async-hooks", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", @@ -34446,10 +34446,10 @@ }, "packages/opentelemetry-context-zone": { "name": "@opentelemetry/context-zone", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/context-zone-peer-dep": "1.22.0", + "@opentelemetry/context-zone-peer-dep": "1.23.0", "zone.js": "^0.11.0 || ^0.13.0 || ^0.14.0" }, "devDependencies": { @@ -34463,7 +34463,7 @@ }, "packages/opentelemetry-context-zone-peer-dep": { "name": "@opentelemetry/context-zone-peer-dep", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "devDependencies": { "@babel/core": "7.23.6", @@ -34779,10 +34779,10 @@ }, "packages/opentelemetry-core": { "name": "@opentelemetry/core", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", @@ -34924,17 +34924,17 @@ }, "packages/opentelemetry-exporter-jaeger": { "name": "@opentelemetry/exporter-jaeger", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "jaeger-client": "^3.15.0" }, "devDependencies": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/resources": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -34957,13 +34957,13 @@ }, "packages/opentelemetry-exporter-zipkin": { "name": "@opentelemetry/exporter-zipkin", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", @@ -35269,10 +35269,10 @@ }, "packages/opentelemetry-propagator-b3": { "name": "@opentelemetry/propagator-b3", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0" + "@opentelemetry/core": "1.23.0" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", @@ -35296,10 +35296,10 @@ }, "packages/opentelemetry-propagator-jaeger": { "name": "@opentelemetry/propagator-jaeger", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0" + "@opentelemetry/core": "1.23.0" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", @@ -35441,11 +35441,11 @@ }, "packages/opentelemetry-resources": { "name": "@opentelemetry/resources", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", @@ -35786,12 +35786,12 @@ }, "packages/opentelemetry-sdk-trace-base": { "name": "@opentelemetry/sdk-trace-base", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", @@ -35934,20 +35934,20 @@ }, "packages/opentelemetry-sdk-trace-node": { "name": "@opentelemetry/sdk-trace-node", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/propagator-jaeger": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/propagator-jaeger": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "semver": "^7.5.2" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/semver": "7.5.6", @@ -35970,20 +35970,20 @@ }, "packages/opentelemetry-sdk-trace-web": { "name": "@opentelemetry/sdk-trace-web", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "devDependencies": { "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/resources": "1.23.0", "@types/jquery": "3.5.29", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -36286,7 +36286,7 @@ }, "packages/opentelemetry-semantic-conventions": { "name": "@opentelemetry/semantic-conventions", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "devDependencies": { "@size-limit/file": "^11.0.1", @@ -36374,18 +36374,18 @@ }, "packages/opentelemetry-shim-opentracing": { "name": "@opentelemetry/shim-opentracing", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "opentracing": "^0.14.4" }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/propagator-jaeger": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/propagator-jaeger": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "codecov": "3.8.3", @@ -36405,11 +36405,11 @@ }, "packages/sdk-metrics": { "name": "@opentelemetry/sdk-metrics", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", "lodash.merge": "^4.6.2" }, "devDependencies": { @@ -36714,7 +36714,7 @@ }, "packages/template": { "name": "@opentelemetry/template", - "version": "1.22.0", + "version": "1.23.0", "license": "Apache-2.0", "devDependencies": { "@types/node": "18.6.5", @@ -36728,19 +36728,19 @@ }, "selenium-tests": { "name": "@opentelemetry/selenium-tests", - "version": "1.23.1", + "version": "1.24.0", "license": "Apache-2.0", "dependencies": { - "@opentelemetry/context-zone-peer-dep": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-fetch": "0.49.1", - "@opentelemetry/instrumentation-xml-http-request": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-web": "1.22.0", + "@opentelemetry/context-zone-peer-dep": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-fetch": "0.50.0", + "@opentelemetry/instrumentation-xml-http-request": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-web": "1.23.0", "zone.js": "^0.11.0 || ^0.13.0 || ^0.14.0" }, "devDependencies": { @@ -40220,6 +40220,7 @@ "version": "file:experimental/packages/api-events", "requires": { "@opentelemetry/api": "^1.0.0", + "@opentelemetry/api-logs": "0.50.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/webpack-env": "1.16.3", @@ -40402,7 +40403,7 @@ "@opentelemetry/context-zone": { "version": "file:packages/opentelemetry-context-zone", "requires": { - "@opentelemetry/context-zone-peer-dep": "1.22.0", + "@opentelemetry/context-zone-peer-dep": "1.23.0", "cross-var": "1.1.0", "lerna": "6.6.2", "typescript": "4.4.4", @@ -40590,7 +40591,7 @@ "version": "file:packages/opentelemetry-core", "requires": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -40677,10 +40678,10 @@ "version": "file:packages/opentelemetry-exporter-jaeger", "requires": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -40702,13 +40703,13 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-grpc-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -40730,12 +40731,12 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -40904,14 +40905,14 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-proto-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-proto-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -41078,12 +41079,12 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/otlp-grpc-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -41105,11 +41106,11 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -41276,13 +41277,13 @@ "version": "file:experimental/packages/opentelemetry-exporter-metrics-otlp-proto", "requires": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-proto-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-proto-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -41302,10 +41303,10 @@ "version": "file:experimental/packages/opentelemetry-exporter-prometheus", "requires": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -41325,12 +41326,12 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-grpc-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-grpc-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -41352,11 +41353,11 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -41525,12 +41526,12 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-proto-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-proto-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -41697,10 +41698,10 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "^1.0.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -41870,7 +41871,7 @@ "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", "@opentelemetry/api-logs": "0.47.0", - "@opentelemetry/sdk-metrics": "1.22.0", + "@opentelemetry/sdk-metrics": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/semver": "7.5.6", @@ -42065,13 +42066,13 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-web": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-web": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -42240,12 +42241,12 @@ "@grpc/grpc-js": "^1.7.1", "@grpc/proto-loader": "^0.7.10", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@protobuf-ts/grpc-transport": "2.9.3", "@protobuf-ts/runtime": "2.9.3", "@protobuf-ts/runtime-rpc": "2.9.3", @@ -42268,13 +42269,13 @@ "version": "file:experimental/packages/opentelemetry-instrumentation-http", "requires": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/request-promise-native": "1.0.21", @@ -42314,13 +42315,13 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-web": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-web": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -42726,8 +42727,8 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -42893,7 +42894,7 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", + "@opentelemetry/core": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -43058,11 +43059,11 @@ "requires": { "@grpc/grpc-js": "^1.7.1", "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", - "@opentelemetry/otlp-transformer": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", + "@opentelemetry/otlp-transformer": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -43086,8 +43087,8 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/otlp-exporter-base": "0.49.1", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/otlp-exporter-base": "0.50.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -43108,12 +43109,12 @@ "version": "file:experimental/packages/otlp-transformer", "requires": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/webpack-env": "1.16.3", "babel-plugin-istanbul": "6.1.1", @@ -43197,7 +43198,7 @@ "version": "file:packages/opentelemetry-propagator-b3", "requires": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/core": "1.22.0", + "@opentelemetry/core": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "codecov": "3.8.3", @@ -43214,7 +43215,7 @@ "version": "file:packages/opentelemetry-propagator-jaeger", "requires": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/core": "1.22.0", + "@opentelemetry/core": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -43301,9 +43302,9 @@ "version": "file:packages/opentelemetry-resources", "requires": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/core": "1.22.0", + "@opentelemetry/core": "1.23.0", "@opentelemetry/resources_1.9.0": "npm:@opentelemetry/resources@1.9.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -43491,9 +43492,9 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": ">=1.4.0 <1.9.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", "@opentelemetry/resources_1.9.0": "npm:@opentelemetry/resources@1.9.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -43693,8 +43694,8 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": ">=1.3.0 <1.9.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", "@types/lodash.merge": "4.6.9", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -43860,21 +43861,21 @@ "version": "file:experimental/packages/opentelemetry-sdk-node", "requires": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-jaeger": "1.22.0", - "@opentelemetry/exporter-trace-otlp-grpc": "0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-logs": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-jaeger": "1.23.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-logs": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/semver": "7.5.6", @@ -43895,9 +43896,9 @@ "version": "file:packages/opentelemetry-sdk-trace-base", "requires": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -43985,13 +43986,13 @@ "version": "file:packages/opentelemetry-sdk-trace-node", "requires": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/propagator-jaeger": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/propagator-jaeger": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/semver": "7.5.6", @@ -44013,12 +44014,12 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/jquery": "3.5.29", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -44192,16 +44193,16 @@ "@babel/plugin-transform-runtime": "7.22.15", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-zone-peer-dep": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-fetch": "0.49.1", - "@opentelemetry/instrumentation-xml-http-request": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-web": "1.22.0", + "@opentelemetry/context-zone-peer-dep": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-fetch": "0.50.0", + "@opentelemetry/instrumentation-xml-http-request": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-web": "1.23.0", "babel-loader": "8.3.0", "babel-polyfill": "6.26.0", "browserstack-local": "1.4.8", @@ -44567,11 +44568,11 @@ "requires": { "@opencensus/core": "0.1.0", "@opentelemetry/api": "1.8.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -44591,11 +44592,11 @@ "version": "file:packages/opentelemetry-shim-opentracing", "requires": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/propagator-jaeger": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/propagator-jaeger": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "codecov": "3.8.3", @@ -47335,8 +47336,8 @@ "backcompat-node14": { "version": "file:experimental/backwards-compatibility/node14", "requires": { - "@opentelemetry/sdk-node": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/sdk-node": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/node": "14.18.25", "typescript": "4.4.4" }, @@ -47350,8 +47351,8 @@ "backcompat-node16": { "version": "file:experimental/backwards-compatibility/node16", "requires": { - "@opentelemetry/sdk-node": "0.49.1", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/sdk-node": "0.50.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/node": "16.11.52", "typescript": "4.4.4" }, @@ -49977,13 +49978,13 @@ "version": "file:examples/esm-http-ts", "requires": { "@opentelemetry/api": "1.8.0", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-http": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-http": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" } }, "espree": { @@ -50116,17 +50117,17 @@ "version": "file:examples/otlp-exporter-node", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-grpc": "0.49.1", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/exporter-metrics-otlp-proto": "0.49.1", - "@opentelemetry/exporter-trace-otlp-grpc": "0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-grpc": "0.50.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/exporter-metrics-otlp-proto": "0.50.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" } }, "execa": { @@ -51737,14 +51738,14 @@ "version": "file:examples/http", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-jaeger": "1.22.0", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-http": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/exporter-jaeger": "1.23.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-http": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "cross-env": "^6.0.0" } }, @@ -51830,14 +51831,14 @@ "version": "file:examples/https", "requires": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/exporter-jaeger": "1.22.0", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-http": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/exporter-jaeger": "1.23.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-http": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "cross-env": "^6.0.0" } }, @@ -53567,8 +53568,8 @@ "version": "file:experimental/examples/logs", "requires": { "@opentelemetry/api": "^1.7.0", - "@opentelemetry/api-logs": "0.49.1", - "@opentelemetry/sdk-logs": "0.49.1", + "@opentelemetry/api-logs": "0.50.0", + "@opentelemetry/sdk-logs": "0.50.0", "@types/node": "18.6.5", "ts-node": "^10.9.1" }, @@ -55997,13 +55998,13 @@ "@opencensus/instrumentation-http": "0.1.0", "@opencensus/nodejs-base": "0.1.0", "@opentelemetry/api": "1.8.0", - "@opentelemetry/exporter-prometheus": "0.49.1", - "@opentelemetry/exporter-trace-otlp-grpc": "0.49.1", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-node": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", - "@opentelemetry/shim-opencensus": "0.49.1" + "@opentelemetry/exporter-prometheus": "0.50.0", + "@opentelemetry/exporter-trace-otlp-grpc": "0.50.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-node": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", + "@opentelemetry/shim-opencensus": "0.50.0" } }, "opentracing": { @@ -56819,8 +56820,8 @@ "version": "file:experimental/examples/prometheus", "requires": { "@opentelemetry/api": "^1.3.0", - "@opentelemetry/exporter-prometheus": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0" + "@opentelemetry/exporter-prometheus": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0" } }, "promise-all-reject-late": { @@ -56858,9 +56859,9 @@ "version": "file:integration-tests/propagation-validation-server", "requires": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "axios": "1.5.1", "body-parser": "1.19.0", "express": "4.19.2", @@ -60573,20 +60574,20 @@ "@babel/core": "^7.23.6", "@babel/preset-env": "^7.22.20", "@opentelemetry/api": "^1.3.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-metrics-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-trace-otlp-proto": "0.49.1", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-fetch": "0.49.1", - "@opentelemetry/instrumentation-xml-http-request": "0.49.1", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-web": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-metrics-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-trace-otlp-proto": "0.50.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-fetch": "0.50.0", + "@opentelemetry/instrumentation-xml-http-request": "0.50.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-web": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "babel-loader": "^8.0.6", "ts-loader": "^9.2.6", "typescript": "^4.5.2", diff --git a/packages/opentelemetry-context-async-hooks/package.json b/packages/opentelemetry-context-async-hooks/package.json index 12632ff8c3..093e9403db 100644 --- a/packages/opentelemetry-context-async-hooks/package.json +++ b/packages/opentelemetry-context-async-hooks/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-async-hooks", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry AsyncHooks-based Context Manager", "main": "build/src/index.js", "types": "build/src/index.d.ts", diff --git a/packages/opentelemetry-context-zone-peer-dep/package.json b/packages/opentelemetry-context-zone-peer-dep/package.json index 9f9922693a..eb56dfdccc 100644 --- a/packages/opentelemetry-context-zone-peer-dep/package.json +++ b/packages/opentelemetry-context-zone-peer-dep/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone-peer-dep", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry Context Zone with peer dependency for zone.js", "main": "build/src/index.js", "module": "build/esm/index.js", diff --git a/packages/opentelemetry-context-zone/package.json b/packages/opentelemetry-context-zone/package.json index f99f7227f2..3d0c29320c 100644 --- a/packages/opentelemetry-context-zone/package.json +++ b/packages/opentelemetry-context-zone/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/context-zone", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry Context Zone", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -55,7 +55,7 @@ "typescript": "4.4.4" }, "dependencies": { - "@opentelemetry/context-zone-peer-dep": "1.22.0", + "@opentelemetry/context-zone-peer-dep": "1.23.0", "zone.js": "^0.11.0 || ^0.13.0 || ^0.14.0" }, "sideEffects": true, diff --git a/packages/opentelemetry-core/package.json b/packages/opentelemetry-core/package.json index 077126b6b3..502fb1ebec 100644 --- a/packages/opentelemetry-core/package.json +++ b/packages/opentelemetry-core/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/core", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry Core provides constants and utilities shared by all OpenTelemetry SDK packages.", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -91,7 +91,7 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" }, "dependencies": { - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-core", "sideEffects": false diff --git a/packages/opentelemetry-exporter-jaeger/package.json b/packages/opentelemetry-exporter-jaeger/package.json index ddaa456519..04915fabcf 100644 --- a/packages/opentelemetry-exporter-jaeger/package.json +++ b/packages/opentelemetry-exporter-jaeger/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-jaeger", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry Exporter Jaeger allows user to send collected traces to Jaeger", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -45,7 +45,7 @@ }, "devDependencies": { "@opentelemetry/api": "^1.0.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/resources": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/sinon": "10.0.20", @@ -63,9 +63,9 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "jaeger-client": "^3.15.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-jaeger", diff --git a/packages/opentelemetry-exporter-zipkin/package.json b/packages/opentelemetry-exporter-zipkin/package.json index 3ca6ee161c..ed69c3d7b9 100644 --- a/packages/opentelemetry-exporter-zipkin/package.json +++ b/packages/opentelemetry-exporter-zipkin/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/exporter-zipkin", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry Zipkin Exporter allows the user to send collected traces to Zipkin.", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -93,10 +93,10 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-exporter-zipkin", "sideEffects": false diff --git a/packages/opentelemetry-propagator-b3/package.json b/packages/opentelemetry-propagator-b3/package.json index 29e8b2a892..126fba8ce3 100644 --- a/packages/opentelemetry-propagator-b3/package.json +++ b/packages/opentelemetry-propagator-b3/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/propagator-b3", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry B3 propagator provides context propagation for systems that are using the B3 header format", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -51,7 +51,7 @@ "access": "public" }, "dependencies": { - "@opentelemetry/core": "1.22.0" + "@opentelemetry/core": "1.23.0" }, "peerDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0" diff --git a/packages/opentelemetry-propagator-jaeger/package.json b/packages/opentelemetry-propagator-jaeger/package.json index ead27f38ad..3e207546f4 100644 --- a/packages/opentelemetry-propagator-jaeger/package.json +++ b/packages/opentelemetry-propagator-jaeger/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/propagator-jaeger", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry Jaeger propagator provides HTTP header propagation for systems that are using Jaeger HTTP header format.", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -81,7 +81,7 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0" + "@opentelemetry/core": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-propagator-jaeger", "sideEffects": false diff --git a/packages/opentelemetry-resources/package.json b/packages/opentelemetry-resources/package.json index dfd6d25faa..7cf25fab9a 100644 --- a/packages/opentelemetry-resources/package.json +++ b/packages/opentelemetry-resources/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/resources", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry SDK resources", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -91,8 +91,8 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-resources", "sideEffects": false diff --git a/packages/opentelemetry-sdk-trace-base/package.json b/packages/opentelemetry-sdk-trace-base/package.json index b2c4a8fe82..35f41db537 100644 --- a/packages/opentelemetry-sdk-trace-base/package.json +++ b/packages/opentelemetry-sdk-trace-base/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-trace-base", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry Tracing", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -93,9 +93,9 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-base", "sideEffects": false diff --git a/packages/opentelemetry-sdk-trace-node/package.json b/packages/opentelemetry-sdk-trace-node/package.json index eb1d77c137..7a98dafe94 100644 --- a/packages/opentelemetry-sdk-trace-node/package.json +++ b/packages/opentelemetry-sdk-trace-node/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-trace-node", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry Node SDK provides automatic telemetry (tracing, metrics, etc) for Node.js applications", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -46,8 +46,8 @@ }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/resources": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/resources": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "@types/semver": "7.5.6", @@ -65,11 +65,11 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" }, "dependencies": { - "@opentelemetry/context-async-hooks": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/propagator-jaeger": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/context-async-hooks": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/propagator-jaeger": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "semver": "^7.5.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-node", diff --git a/packages/opentelemetry-sdk-trace-web/package.json b/packages/opentelemetry-sdk-trace-web/package.json index 2859fb54ea..cf400ece48 100644 --- a/packages/opentelemetry-sdk-trace-web/package.json +++ b/packages/opentelemetry-sdk-trace-web/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-trace-web", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry Web Tracer", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -58,9 +58,9 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/context-zone": "1.22.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/context-zone": "1.23.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/resources": "1.23.0", "@types/jquery": "3.5.29", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -93,9 +93,9 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0" + "@opentelemetry/core": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-sdk-trace-web", "sideEffects": false diff --git a/packages/opentelemetry-semantic-conventions/package.json b/packages/opentelemetry-semantic-conventions/package.json index 63b09b85a4..6eaf0bec5b 100644 --- a/packages/opentelemetry-semantic-conventions/package.json +++ b/packages/opentelemetry-semantic-conventions/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/semantic-conventions", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry semantic conventions", "main": "build/src/index.js", "module": "build/esm/index.js", diff --git a/packages/opentelemetry-shim-opentracing/package.json b/packages/opentelemetry-shim-opentracing/package.json index 38f4803622..8d0e07fc96 100644 --- a/packages/opentelemetry-shim-opentracing/package.json +++ b/packages/opentelemetry-shim-opentracing/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/shim-opentracing", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTracing to OpenTelemetry shim", "main": "build/src/index.js", "types": "build/src/index.d.ts", @@ -43,9 +43,9 @@ }, "devDependencies": { "@opentelemetry/api": ">=1.0.0 <1.9.0", - "@opentelemetry/propagator-b3": "1.22.0", - "@opentelemetry/propagator-jaeger": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", + "@opentelemetry/propagator-b3": "1.23.0", + "@opentelemetry/propagator-jaeger": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", "codecov": "3.8.3", @@ -60,8 +60,8 @@ "@opentelemetry/api": ">=1.0.0 <1.9.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/semantic-conventions": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/semantic-conventions": "1.23.0", "opentracing": "^0.14.4" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/opentelemetry-shim-opentracing", diff --git a/packages/sdk-metrics/package.json b/packages/sdk-metrics/package.json index 4ad2d4ad0b..79ace2dc27 100644 --- a/packages/sdk-metrics/package.json +++ b/packages/sdk-metrics/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/sdk-metrics", - "version": "1.22.0", + "version": "1.23.0", "description": "OpenTelemetry metrics SDK", "main": "build/src/index.js", "module": "build/esm/index.js", @@ -85,8 +85,8 @@ "@opentelemetry/api": ">=1.3.0 <1.9.0" }, "dependencies": { - "@opentelemetry/core": "1.22.0", - "@opentelemetry/resources": "1.22.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/resources": "1.23.0", "lodash.merge": "^4.6.2" }, "homepage": "https://github.com/open-telemetry/opentelemetry-js/tree/main/packages/sdk-metrics", diff --git a/packages/template/package.json b/packages/template/package.json index 9abd7bae0d..f206fc1c38 100644 --- a/packages/template/package.json +++ b/packages/template/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/template", - "version": "1.22.0", + "version": "1.23.0", "private": true, "publishConfig": { "access": "restricted" diff --git a/selenium-tests/package.json b/selenium-tests/package.json index 05849a1bc3..0b22030c4a 100644 --- a/selenium-tests/package.json +++ b/selenium-tests/package.json @@ -1,6 +1,6 @@ { "name": "@opentelemetry/selenium-tests", - "version": "1.23.1", + "version": "1.24.0", "private": true, "description": "OpenTelemetry Selenium Tests", "main": "index.js", @@ -56,16 +56,16 @@ "@opentelemetry/api": "^1.0.0" }, "dependencies": { - "@opentelemetry/context-zone-peer-dep": "1.22.0", - "@opentelemetry/core": "1.22.0", - "@opentelemetry/exporter-trace-otlp-http": "0.49.1", - "@opentelemetry/exporter-zipkin": "1.22.0", - "@opentelemetry/instrumentation": "0.49.1", - "@opentelemetry/instrumentation-fetch": "0.49.1", - "@opentelemetry/instrumentation-xml-http-request": "0.49.1", - "@opentelemetry/sdk-metrics": "1.22.0", - "@opentelemetry/sdk-trace-base": "1.22.0", - "@opentelemetry/sdk-trace-web": "1.22.0", + "@opentelemetry/context-zone-peer-dep": "1.23.0", + "@opentelemetry/core": "1.23.0", + "@opentelemetry/exporter-trace-otlp-http": "0.50.0", + "@opentelemetry/exporter-zipkin": "1.23.0", + "@opentelemetry/instrumentation": "0.50.0", + "@opentelemetry/instrumentation-fetch": "0.50.0", + "@opentelemetry/instrumentation-xml-http-request": "0.50.0", + "@opentelemetry/sdk-metrics": "1.23.0", + "@opentelemetry/sdk-trace-base": "1.23.0", + "@opentelemetry/sdk-trace-web": "1.23.0", "zone.js": "^0.11.0 || ^0.13.0 || ^0.14.0" } } From e01f493a2480bda39f9ee67da1c33f31a57f91ff Mon Sep 17 00:00:00 2001 From: Abinet18 <35442169+Abinet18@users.noreply.github.com> Date: Wed, 3 Apr 2024 04:21:31 -0700 Subject: [PATCH 09/17] Fix invalid timings in span events (#4486) * fix: use reference value to avoid invalid timings in span * add comment, add to changelog * donot report invalid timing in span * lint fix * fix failing test * fix failing test 2 * Add tests * add removed test * suggested changes --------- Co-authored-by: Marc Pichler --- CHANGELOG.md | 2 + .../opentelemetry-sdk-trace-web/src/utils.ts | 17 +++- .../test/utils.test.ts | 77 +++++++++++++++++++ 3 files changed, 94 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f966b0bea..becf83bc68 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/ ### :bug: (Bug Fix) +* fix(sdk-trace-web): fix invalid timings in span events [#4486](https://github.com/open-telemetry/opentelemetry-js/pull/4486) @Abinet18 + ### :books: (Refine Doc) ### :house: (Internal) diff --git a/packages/opentelemetry-sdk-trace-web/src/utils.ts b/packages/opentelemetry-sdk-trace-web/src/utils.ts index beb93572ca..833485017e 100644 --- a/packages/opentelemetry-sdk-trace-web/src/utils.ts +++ b/packages/opentelemetry-sdk-trace-web/src/utils.ts @@ -56,17 +56,30 @@ export function hasKey( * @param span * @param performanceName name of performance entry for time start * @param entries + * @param refPerfName name of performance entry to use for reference */ export function addSpanNetworkEvent( span: api.Span, performanceName: string, - entries: PerformanceEntries + entries: PerformanceEntries, + refPerfName?: string ): api.Span | undefined { + let perfTime = undefined; + let refTime = undefined; if ( hasKey(entries, performanceName) && typeof entries[performanceName] === 'number' ) { - span.addEvent(performanceName, entries[performanceName]); + perfTime = entries[performanceName]; + } + const refName = refPerfName || PTN.FETCH_START; + // Use a reference time which is the earliest possible value so that the performance timings that are earlier should not be added + // using FETCH START time in case no reference is provided + if (hasKey(entries, refName) && typeof entries[refName] === 'number') { + refTime = entries[refName]; + } + if (perfTime !== undefined && refTime !== undefined && perfTime >= refTime) { + span.addEvent(performanceName, perfTime); return span; } return undefined; diff --git a/packages/opentelemetry-sdk-trace-web/test/utils.test.ts b/packages/opentelemetry-sdk-trace-web/test/utils.test.ts index dd00e6b061..b70061e489 100644 --- a/packages/opentelemetry-sdk-trace-web/test/utils.test.ts +++ b/packages/opentelemetry-sdk-trace-web/test/utils.test.ts @@ -213,7 +213,84 @@ describe('utils', () => { ); }); }); + describe('when entries contain invalid performance timing', () => { + it('should only add events with time greater that or equal to reference value to span', () => { + const addEventSpy = sinon.spy(); + const span = { + addEvent: addEventSpy, + } as unknown as tracing.Span; + const entries = { + [PTN.FETCH_START]: 123, // default reference time + [PTN.CONNECT_START]: 0, + [PTN.REQUEST_START]: 140, + } as PerformanceEntries; + + assert.strictEqual(addEventSpy.callCount, 0); + + addSpanNetworkEvent(span, PTN.CONNECT_START, entries); + + assert.strictEqual( + addEventSpy.callCount, + 0, + 'should not call addEvent' + ); + + addSpanNetworkEvent(span, PTN.REQUEST_START, entries); + + assert.strictEqual( + addEventSpy.callCount, + 1, + 'should call addEvent for valid value' + ); + }); + }); + + describe('when entries contain invalid performance timing and a reference event', () => { + it('should only add events with time greater that or equal to reference value to span', () => { + const addEventSpy = sinon.spy(); + const span = { + addEvent: addEventSpy, + } as unknown as tracing.Span; + const entries = { + [PTN.FETCH_START]: 120, + [PTN.CONNECT_START]: 120, // this is used as reference time here + [PTN.REQUEST_START]: 10, + } as PerformanceEntries; + + assert.strictEqual(addEventSpy.callCount, 0); + + addSpanNetworkEvent( + span, + PTN.REQUEST_START, + entries, + PTN.CONNECT_START + ); + + assert.strictEqual( + addEventSpy.callCount, + 0, + 'should not call addEvent' + ); + + addSpanNetworkEvent(span, PTN.FETCH_START, entries, PTN.CONNECT_START); + + assert.strictEqual( + addEventSpy.callCount, + 1, + 'should call addEvent for valid value' + ); + + addEventSpy.resetHistory(); + addSpanNetworkEvent(span, PTN.CONNECT_START, entries, 'foo'); // invalid reference , not adding event to span + assert.strictEqual( + addEventSpy.callCount, + 0, + 'should not call addEvent for invalid reference(non-existent)' + ); + }); + }); }); + describe('getResource', () => { const startTime = [0, 123123123] as HrTime; beforeEach(() => { From b78d4432d8ad26bc31c99444c5b7a70fae93d5ec Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Thu, 4 Apr 2024 15:21:54 +0200 Subject: [PATCH 10/17] feat(otlp-transformer): consolidate scope/resource creation in transformer (#4600) * [chore] consolidate scope/resource creation in transformer Signed-off-by: Bogdan Drutu * fixup! [chore] consolidate scope/resource creation in transformer * fixup! [chore] consolidate scope/resource creation in transformer * chore: add changelog entry * fixup! [chore] consolidate scope/resource creation in transformer --------- Signed-off-by: Bogdan Drutu Co-authored-by: Bogdan Drutu --- experimental/CHANGELOG.md | 5 ++-- .../otlp-transformer/src/common/internal.ts | 12 ++++++++- .../otlp-transformer/src/logs/index.ts | 19 +++++++------- .../otlp-transformer/src/metrics/internal.ts | 13 +++------- .../otlp-transformer/src/resource/internal.ts | 25 +++++++++++++++++++ .../otlp-transformer/src/trace/index.ts | 16 ++++++------ .../otlp-transformer/test/logs.test.ts | 5 +++- .../otlp-transformer/test/trace.test.ts | 5 +++- 8 files changed, 66 insertions(+), 34 deletions(-) create mode 100644 experimental/packages/otlp-transformer/src/resource/internal.ts diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 920044e357..c8d631e6c1 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -8,6 +8,8 @@ All notable changes to experimental packages in this project will be documented ### :rocket: (Enhancement) +* feat(otlp-transformer): consolidate scope/resource creation in transformer [#4600](https://github.com/open-telemetry/opentelemetry-js/pull/4600) + ### :bug: (Bug Fix) ### :books: (Refine Doc) @@ -31,9 +33,6 @@ All notable changes to experimental packages in this project will be documented * was used internally to keep track of the service client used by the exporter, as a side effect it allowed end-users to modify the gRPC service client that was used * `compression` * was used internally to keep track of the compression to use but was unintentionally exposed to the users. It allowed to read and write the value, writing, however, would have no effect. -* feat(api-events)!: removed domain from the Events API [#4569](https://github.com/open-telemetry/opentelemetry-js/pull/4569) @martinkuba -* fix(api-events)!: renamed EventEmitter to EventLogger in the Events API [#4569](https://github.com/open-telemetry/opentelemetry-js/pull/4568) @martinkuba -* feat(api-logs)!: changed LogRecord body data type to AnyValue and AnyValueMap types [#4575](https://github.com/open-telemetry/opentelemetry-js/pull/4575) @martinkuba ### :rocket: (Enhancement) diff --git a/experimental/packages/otlp-transformer/src/common/internal.ts b/experimental/packages/otlp-transformer/src/common/internal.ts index 0fe649f525..8755362bb3 100644 --- a/experimental/packages/otlp-transformer/src/common/internal.ts +++ b/experimental/packages/otlp-transformer/src/common/internal.ts @@ -13,8 +13,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import type { IAnyValue, IKeyValue } from './types'; +import type { IAnyValue, IInstrumentationScope, IKeyValue } from './types'; import { Attributes } from '@opentelemetry/api'; +import { InstrumentationScope } from '@opentelemetry/core'; + +export function createInstrumentationScope( + scope: InstrumentationScope +): IInstrumentationScope { + return { + name: scope.name, + version: scope.version, + }; +} export function toAttributes(attributes: Attributes): IKeyValue[] { return Object.keys(attributes).map(key => toKeyValue(key, attributes[key])); diff --git a/experimental/packages/otlp-transformer/src/logs/index.ts b/experimental/packages/otlp-transformer/src/logs/index.ts index b690484a71..73013c0e26 100644 --- a/experimental/packages/otlp-transformer/src/logs/index.ts +++ b/experimental/packages/otlp-transformer/src/logs/index.ts @@ -23,10 +23,15 @@ import { } from './types'; import { IResource } from '@opentelemetry/resources'; import { Encoder, getOtlpEncoder } from '../common'; -import { toAnyValue, toAttributes, toKeyValue } from '../common/internal'; +import { + createInstrumentationScope, + toAnyValue, + toKeyValue, +} from '../common/internal'; import { SeverityNumber } from '@opentelemetry/api-logs'; import { OtlpEncodingOptions, IKeyValue } from '../common/types'; import { LogAttributes } from '@opentelemetry/api-logs'; +import { createResource } from '../resource/internal'; export function createExportLogsServiceRequest( logRecords: ReadableLogRecord[], @@ -75,18 +80,12 @@ function logRecordsToResourceLogs( ): IResourceLogs[] { const resourceMap = createResourceMap(logRecords); return Array.from(resourceMap, ([resource, ismMap]) => ({ - resource: { - attributes: toAttributes(resource.attributes), - droppedAttributesCount: 0, - }, + resource: createResource(resource), scopeLogs: Array.from(ismMap, ([, scopeLogs]) => { - const { - instrumentationScope: { name, version, schemaUrl }, - } = scopeLogs[0]; return { - scope: { name, version }, + scope: createInstrumentationScope(scopeLogs[0].instrumentationScope), logRecords: scopeLogs.map(log => toLogRecord(log, encoder)), - schemaUrl, + schemaUrl: scopeLogs[0].instrumentationScope.schemaUrl, }; }), schemaUrl: undefined, diff --git a/experimental/packages/otlp-transformer/src/metrics/internal.ts b/experimental/packages/otlp-transformer/src/metrics/internal.ts index 1a621a4213..fc13a80799 100644 --- a/experimental/packages/otlp-transformer/src/metrics/internal.ts +++ b/experimental/packages/otlp-transformer/src/metrics/internal.ts @@ -25,7 +25,6 @@ import { ResourceMetrics, ScopeMetrics, } from '@opentelemetry/sdk-metrics'; -import { toAttributes } from '../common/internal'; import { EAggregationTemporality, IExponentialHistogramDataPoint, @@ -36,6 +35,8 @@ import { IScopeMetrics, } from './types'; import { Encoder, getOtlpEncoder } from '../common'; +import { createInstrumentationScope, toAttributes } from '../common/internal'; +import { createResource } from '../resource/internal'; export function toResourceMetrics( resourceMetrics: ResourceMetrics, @@ -43,10 +44,7 @@ export function toResourceMetrics( ): IResourceMetrics { const encoder = getOtlpEncoder(options); return { - resource: { - attributes: toAttributes(resourceMetrics.resource.attributes), - droppedAttributesCount: 0, - }, + resource: createResource(resourceMetrics.resource), schemaUrl: undefined, scopeMetrics: toScopeMetrics(resourceMetrics.scopeMetrics, encoder), }; @@ -58,10 +56,7 @@ export function toScopeMetrics( ): IScopeMetrics[] { return Array.from( scopeMetrics.map(metrics => ({ - scope: { - name: metrics.scope.name, - version: metrics.scope.version, - }, + scope: createInstrumentationScope(metrics.scope), metrics: metrics.metrics.map(metricData => toMetric(metricData, encoder)), schemaUrl: metrics.scope.schemaUrl, })) diff --git a/experimental/packages/otlp-transformer/src/resource/internal.ts b/experimental/packages/otlp-transformer/src/resource/internal.ts new file mode 100644 index 0000000000..93b6964508 --- /dev/null +++ b/experimental/packages/otlp-transformer/src/resource/internal.ts @@ -0,0 +1,25 @@ +/* + * Copyright The OpenTelemetry Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import { IResource as ISdkResource } from '@opentelemetry/resources'; +import { toAttributes } from '../common/internal'; +import { IResource } from './types'; + +export function createResource(resource: ISdkResource): IResource { + return { + attributes: toAttributes(resource.attributes), + droppedAttributesCount: 0, + }; +} diff --git a/experimental/packages/otlp-transformer/src/trace/index.ts b/experimental/packages/otlp-transformer/src/trace/index.ts index 5db18a082e..9fef398c54 100644 --- a/experimental/packages/otlp-transformer/src/trace/index.ts +++ b/experimental/packages/otlp-transformer/src/trace/index.ts @@ -16,7 +16,6 @@ import type { IResource } from '@opentelemetry/resources'; import type { ReadableSpan } from '@opentelemetry/sdk-trace-base'; import type { OtlpEncodingOptions } from '../common/types'; -import { toAttributes } from '../common/internal'; import { sdkSpanToOtlpSpan } from './internal'; import { IExportTraceServiceRequest, @@ -24,6 +23,8 @@ import { IScopeSpans, } from './types'; import { Encoder, getOtlpEncoder } from '../common'; +import { createInstrumentationScope } from '../common/internal'; +import { createResource } from '../resource/internal'; export function createExportTraceServiceRequest( spans: ReadableSpan[], @@ -79,26 +80,23 @@ function spanRecordsToResourceSpans( while (!ilmEntry.done) { const scopeSpans = ilmEntry.value; if (scopeSpans.length > 0) { - const { name, version, schemaUrl } = - scopeSpans[0].instrumentationLibrary; const spans = scopeSpans.map(readableSpan => sdkSpanToOtlpSpan(readableSpan, encoder) ); scopeResourceSpans.push({ - scope: { name, version }, + scope: createInstrumentationScope( + scopeSpans[0].instrumentationLibrary + ), spans: spans, - schemaUrl: schemaUrl, + schemaUrl: scopeSpans[0].instrumentationLibrary.schemaUrl, }); } ilmEntry = ilmIterator.next(); } // TODO SDK types don't provide resource schema URL at this time const transformedSpans: IResourceSpans = { - resource: { - attributes: toAttributes(resource.attributes), - droppedAttributesCount: 0, - }, + resource: createResource(resource), scopeSpans: scopeResourceSpans, schemaUrl: undefined, }; diff --git a/experimental/packages/otlp-transformer/test/logs.test.ts b/experimental/packages/otlp-transformer/test/logs.test.ts index ea8dd7e82b..278607ae23 100644 --- a/experimental/packages/otlp-transformer/test/logs.test.ts +++ b/experimental/packages/otlp-transformer/test/logs.test.ts @@ -46,7 +46,10 @@ function createExpectedLogJson(useHex: boolean): IExportLogsServiceRequest { schemaUrl: undefined, scopeLogs: [ { - scope: { name: 'scope_name_1', version: '0.1.0' }, + scope: { + name: 'scope_name_1', + version: '0.1.0', + }, logRecords: [ { timeUnixNano: { low: 4132445859, high: 391214506 }, diff --git a/experimental/packages/otlp-transformer/test/trace.test.ts b/experimental/packages/otlp-transformer/test/trace.test.ts index 65b23ddc2d..30aeeec158 100644 --- a/experimental/packages/otlp-transformer/test/trace.test.ts +++ b/experimental/packages/otlp-transformer/test/trace.test.ts @@ -68,7 +68,10 @@ function createExpectedSpanJson(options: OtlpEncodingOptions) { schemaUrl: undefined, scopeSpans: [ { - scope: { name: 'myLib', version: '0.1.0' }, + scope: { + name: 'myLib', + version: '0.1.0', + }, spans: [ { traceId: traceId, From c0468673cb0cfe61d12edf69745fabfdf940d7b0 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Thu, 4 Apr 2024 15:24:53 -0700 Subject: [PATCH 11/17] fix(resources): ensure BrowserDetector does not think Node.js v21 is a browser (#4604) Fixes: #4561 --- CHANGELOG.md | 1 + .../src/detectors/BrowserDetectorSync.ts | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index becf83bc68..0c3d6bfe7a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/ ### :bug: (Bug Fix) * fix(sdk-trace-web): fix invalid timings in span events [#4486](https://github.com/open-telemetry/opentelemetry-js/pull/4486) @Abinet18 +* fix(resources): ensure BrowserDetector does not think Node.js v21 is a browser [#4561](https://github.com/open-telemetry/opentelemetry-js/issues/4561) @trentm ### :books: (Refine Doc) diff --git a/packages/opentelemetry-resources/src/detectors/BrowserDetectorSync.ts b/packages/opentelemetry-resources/src/detectors/BrowserDetectorSync.ts index b58fea94c8..66a4801067 100644 --- a/packages/opentelemetry-resources/src/detectors/BrowserDetectorSync.ts +++ b/packages/opentelemetry-resources/src/detectors/BrowserDetectorSync.ts @@ -24,7 +24,12 @@ import { diag } from '@opentelemetry/api'; */ class BrowserDetectorSync implements DetectorSync { detect(config?: ResourceDetectionConfig): IResource { - const isBrowser = typeof navigator !== 'undefined'; + const isBrowser = + typeof navigator !== 'undefined' && + global.process?.versions?.node === undefined && // Node.js v21 adds `navigator` + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore don't have Bun types + global.Bun?.version === undefined; // Bun (bun.sh) defines `navigator` if (!isBrowser) { return Resource.empty(); } From 0b6463e491a42b10321f75702c61711441d47303 Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Wed, 10 Apr 2024 13:17:42 +0200 Subject: [PATCH 12/17] feat(sdk-trace-base): log resource attributes in ConsoleSpanExporter (#4605) * feat(sdk-trace-base): log resoruce attributes in ConsoleSpanExporter * fixup! feat(sdk-trace-base): log resoruce attributes in ConsoleSpanExporter --- CHANGELOG.md | 2 ++ .../src/export/ConsoleSpanExporter.ts | 3 +++ .../test/common/export/ConsoleSpanExporter.test.ts | 1 + 3 files changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0c3d6bfe7a..8e1ec010f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,8 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/ ### :rocket: (Enhancement) +feat(sdk-trace-base): log resource attributes in ConsoleSpanExporter [#4605](https://github.com/open-telemetry/opentelemetry-js/pull/4605) @pichlermarc + ### :bug: (Bug Fix) * fix(sdk-trace-web): fix invalid timings in span events [#4486](https://github.com/open-telemetry/opentelemetry-js/pull/4486) @Abinet18 diff --git a/packages/opentelemetry-sdk-trace-base/src/export/ConsoleSpanExporter.ts b/packages/opentelemetry-sdk-trace-base/src/export/ConsoleSpanExporter.ts index 596b3cefd3..dcca6d23bf 100644 --- a/packages/opentelemetry-sdk-trace-base/src/export/ConsoleSpanExporter.ts +++ b/packages/opentelemetry-sdk-trace-base/src/export/ConsoleSpanExporter.ts @@ -62,6 +62,9 @@ export class ConsoleSpanExporter implements SpanExporter { */ private _exportInfo(span: ReadableSpan) { return { + resource: { + attributes: span.resource.attributes, + }, traceId: span.spanContext().traceId, parentId: span.parentSpanId, traceState: span.spanContext().traceState?.serialize(), diff --git a/packages/opentelemetry-sdk-trace-base/test/common/export/ConsoleSpanExporter.test.ts b/packages/opentelemetry-sdk-trace-base/test/common/export/ConsoleSpanExporter.test.ts index d005a2f803..ab50d26b57 100644 --- a/packages/opentelemetry-sdk-trace-base/test/common/export/ConsoleSpanExporter.test.ts +++ b/packages/opentelemetry-sdk-trace-base/test/common/export/ConsoleSpanExporter.test.ts @@ -84,6 +84,7 @@ describe('ConsoleSpanExporter', () => { 'links', 'name', 'parentId', + 'resource', 'status', 'timestamp', 'traceId', From 7fb673cc59bffa37710bbeef5b1ce3174b72340e Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Wed, 10 Apr 2024 13:31:24 +0200 Subject: [PATCH 13/17] feat(sdk-node): remove deprecated methods from NodeSDK (#4609) --- experimental/CHANGELOG.md | 7 + .../opentelemetry-sdk-node/src/sdk.ts | 136 ++---------------- .../opentelemetry-sdk-node/test/sdk.test.ts | 101 ------------- 3 files changed, 21 insertions(+), 223 deletions(-) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index c8d631e6c1..3d0f124c9d 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -6,6 +6,13 @@ All notable changes to experimental packages in this project will be documented ### :boom: Breaking Change +* feat(sdk-node)!: remove long deprecated methods in favor of constructor options [#4606](https://github.com/open-telemetry/opentelemetry-js/pull/4606) @pichlermarc + * `NodeSDK.configureTracerProvider()`, please use constructor options instead + * `NodeSDK.configureMeterProvider()`, please use constructor options instead + * `NodeSDK.configureLoggerProvider()`, please use constructor options instead + * `NodeSDK.addResource()`, please use constructor options instead + * `NodeSDK.detectResources()`, this is not necessary anymore, resources are now auto-detected on `NodeSDK.start()` if the constructor option `autoDetectResources` is unset, `undefined` or `true`. + ### :rocket: (Enhancement) * feat(otlp-transformer): consolidate scope/resource creation in transformer [#4600](https://github.com/open-telemetry/opentelemetry-js/pull/4600) diff --git a/experimental/packages/opentelemetry-sdk-node/src/sdk.ts b/experimental/packages/opentelemetry-sdk-node/src/sdk.ts index 5e7cd3676a..c5f38d63a9 100644 --- a/experimental/packages/opentelemetry-sdk-node/src/sdk.ts +++ b/experimental/packages/opentelemetry-sdk-node/src/sdk.ts @@ -161,19 +161,18 @@ export class NodeSDK { const spanProcessors = configuration.spanProcessors ?? [spanProcessor]; - this.configureTracerProvider( - tracerProviderConfig, + this._tracerProviderConfig = { + tracerConfig: tracerProviderConfig, spanProcessors, - configuration.contextManager, - configuration.textMapPropagator - ); + contextManager: configuration.contextManager, + textMapPropagator: configuration.textMapPropagator, + }; } if (configuration.logRecordProcessor) { - const loggerProviderConfig: LoggerProviderConfig = { + this._loggerProviderConfig = { logRecordProcessor: configuration.logRecordProcessor, }; - this.configureLoggerProvider(loggerProviderConfig); } if (configuration.metricReader || configuration.views) { @@ -186,7 +185,7 @@ export class NodeSDK { meterProviderConfig.views = configuration.views; } - this.configureMeterProvider(meterProviderConfig); + this._meterProviderConfig = meterProviderConfig; } let instrumentations: InstrumentationOption[] = []; @@ -196,119 +195,6 @@ export class NodeSDK { this._instrumentations = instrumentations; } - /** - * - * @deprecated Please pass {@code sampler}, {@code generalLimits}, {@code spanLimits}, {@code resource}, - * {@code IdGenerator}, {@code spanProcessor}, {@code contextManager} and {@code textMapPropagator}, - * to the constructor options instead. - * - * Set configurations needed to register a TracerProvider - */ - public configureTracerProvider( - tracerConfig: NodeTracerConfig, - spanProcessors: SpanProcessor[], - contextManager?: ContextManager, - textMapPropagator?: TextMapPropagator - ): void { - this._tracerProviderConfig = { - tracerConfig, - spanProcessors, - contextManager, - textMapPropagator, - }; - } - - /** - * @deprecated Please pass {@code logRecordProcessor} to the constructor options instead. - * - * Set configurations needed to register a LoggerProvider - */ - public configureLoggerProvider(config: LoggerProviderConfig): void { - // nothing is set yet, we can set config and then return - if (this._loggerProviderConfig == null) { - this._loggerProviderConfig = config; - return; - } - - // make sure we do not override existing logRecordProcessor with other logRecordProcessors. - if ( - this._loggerProviderConfig.logRecordProcessor != null && - config.logRecordProcessor != null - ) { - throw new Error( - 'LogRecordProcessor passed but LogRecordProcessor has already been configured.' - ); - } - - // set logRecordProcessor, but make sure we do not override existing logRecordProcessors with null/undefined. - if (config.logRecordProcessor != null) { - this._loggerProviderConfig.logRecordProcessor = config.logRecordProcessor; - } - } - - /** - * @deprecated Please pass {@code views} and {@code reader} to the constructor options instead. - * - * Set configurations needed to register a MeterProvider - */ - public configureMeterProvider(config: MeterProviderConfig): void { - // nothing is set yet, we can set config and return. - if (this._meterProviderConfig == null) { - this._meterProviderConfig = config; - return; - } - - // make sure we do not override existing views with other views. - if (this._meterProviderConfig.views != null && config.views != null) { - throw new Error('Views passed but Views have already been configured.'); - } - - // set views, but make sure we do not override existing views with null/undefined. - if (config.views != null) { - this._meterProviderConfig.views = config.views; - } - - // make sure we do not override existing reader with another reader. - if (this._meterProviderConfig.reader != null && config.reader != null) { - throw new Error( - 'MetricReader passed but MetricReader has already been configured.' - ); - } - - // set reader, but make sure we do not override existing reader with null/undefined. - if (config.reader != null) { - this._meterProviderConfig.reader = config.reader; - } - } - - /** - * @deprecated Resources are detected automatically on {@link NodeSDK.start()}, when the {@code autoDetectResources} - * constructor option is set to {@code true} or left {@code undefined}. - * - * Detect resource attributes - */ - public detectResources(): void { - if (this._disabled) { - return; - } - - const internalConfig: ResourceDetectionConfig = { - detectors: this._resourceDetectors, - }; - - this.addResource(detectResourcesSync(internalConfig)); - } - - /** - * @deprecated Please pre-merge resources and pass them to the constructor - * - * Manually add a Resource - * @param resource - */ - public addResource(resource: IResource): void { - this._resource = this._resource.merge(resource); - } - /** * Call this method to construct SDK components and register them with the OpenTelemetry API. */ @@ -322,7 +208,13 @@ export class NodeSDK { }); if (this._autoDetectResources) { - this.detectResources(); + const internalConfig: ResourceDetectionConfig = { + detectors: this._resourceDetectors, + }; + + this._resource = this._resource.merge( + detectResourcesSync(internalConfig) + ); } this._resource = diff --git a/experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts b/experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts index b2d7bdb909..d76534450f 100644 --- a/experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts +++ b/experimental/packages/opentelemetry-sdk-node/test/sdk.test.ts @@ -409,107 +409,6 @@ describe('Node SDK', () => { delete env.OTEL_TRACES_EXPORTER; }); - it('should throw error when calling configureMeterProvider when views are already configured', () => { - const exporter = new InMemoryMetricExporter( - AggregationTemporality.CUMULATIVE - ); - const metricReader = new PeriodicExportingMetricReader({ - exporter: exporter, - exportIntervalMillis: 100, - exportTimeoutMillis: 100, - }); - - const sdk = new NodeSDK({ - metricReader: metricReader, - views: [ - new View({ - name: 'test-view', - instrumentName: 'test_counter', - instrumentType: InstrumentType.COUNTER, - }), - ], - autoDetectResources: false, - }); - - assert.throws( - () => { - sdk.configureMeterProvider({ - reader: metricReader, - views: [ - new View({ - name: 'test-view', - instrumentName: 'test_counter', - instrumentType: InstrumentType.COUNTER, - }), - ], - }); - }, - (error: Error) => { - return error.message.includes( - 'Views passed but Views have already been configured' - ); - } - ); - }); - - it('should throw error when calling configureMeterProvider when metricReader is already configured', () => { - const exporter = new InMemoryMetricExporter( - AggregationTemporality.CUMULATIVE - ); - const metricReader = new PeriodicExportingMetricReader({ - exporter: exporter, - exportIntervalMillis: 100, - exportTimeoutMillis: 100, - }); - - const sdk = new NodeSDK({ - metricReader: metricReader, - views: [ - new View({ - name: 'test-view', - instrumentName: 'test_counter', - instrumentType: InstrumentType.COUNTER, - }), - ], - autoDetectResources: false, - }); - - assert.throws( - () => { - sdk.configureMeterProvider({ - reader: metricReader, - }); - }, - (error: Error) => { - return error.message.includes( - 'MetricReader passed but MetricReader has already been configured.' - ); - } - ); - }); - - it('should throw error when calling configureLoggerProvider when logRecordProcessor is already configured', () => { - const logRecordExporter = new InMemoryLogRecordExporter(); - const logRecordProcessor = new SimpleLogRecordProcessor(logRecordExporter); - const sdk = new NodeSDK({ - logRecordProcessor: logRecordProcessor, - autoDetectResources: false, - }); - - assert.throws( - () => { - sdk.configureLoggerProvider({ - logRecordProcessor: logRecordProcessor, - }); - }, - (error: Error) => { - return error.message.includes( - 'LogRecordProcessor passed but LogRecordProcessor has already been configured.' - ); - } - ); - }); - describe('detectResources', async () => { beforeEach(() => { process.env.OTEL_RESOURCE_ATTRIBUTES = From 19660dbc96c912c9205c4ffb342b00315b30eabc Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Wed, 10 Apr 2024 17:40:51 +0200 Subject: [PATCH 14/17] test(expoerter-*-grpc): use RegExp to match Deadline Exceeded error (#4620) --- .../test/OTLPLogExporter.test.ts | 4 +-- .../test/OTLPTraceExporter.test.ts | 4 +-- package-lock.json | 34 ++++++++++++++----- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/experimental/packages/exporter-logs-otlp-grpc/test/OTLPLogExporter.test.ts b/experimental/packages/exporter-logs-otlp-grpc/test/OTLPLogExporter.test.ts index e48a1cef68..e179bd5f85 100644 --- a/experimental/packages/exporter-logs-otlp-grpc/test/OTLPLogExporter.test.ts +++ b/experimental/packages/exporter-logs-otlp-grpc/test/OTLPLogExporter.test.ts @@ -224,9 +224,9 @@ const testCollectorExporter = (params: TestParams) => { setTimeout(() => { const result = responseSpy.args[0][0] as core.ExportResult; assert.strictEqual(result.code, core.ExportResultCode.FAILED); - assert.strictEqual( + assert.match( responseSpy.args[0][0].error.details, - 'Deadline exceeded' + /Deadline exceeded.*/ ); done(); }, 300); diff --git a/experimental/packages/exporter-trace-otlp-grpc/test/OTLPTraceExporter.test.ts b/experimental/packages/exporter-trace-otlp-grpc/test/OTLPTraceExporter.test.ts index 9a3a13ce32..3d8bfdf3fb 100644 --- a/experimental/packages/exporter-trace-otlp-grpc/test/OTLPTraceExporter.test.ts +++ b/experimental/packages/exporter-trace-otlp-grpc/test/OTLPTraceExporter.test.ts @@ -231,9 +231,9 @@ const testCollectorExporter = (params: TestParams) => { setTimeout(() => { const result = responseSpy.args[0][0] as core.ExportResult; assert.strictEqual(result.code, core.ExportResultCode.FAILED); - assert.strictEqual( + assert.match( responseSpy.args[0][0].error.details, - 'Deadline exceeded' + /Deadline exceeded.*/ ); done(); }, 300); diff --git a/package-lock.json b/package-lock.json index 503a0f1523..a8e6bc8423 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "hasInstallScript": true, "license": "Apache-2.0", "workspaces": [ + "api", "packages/*", "experimental/packages/*", "experimental/examples/*", @@ -7485,14 +7486,15 @@ "license": "MIT" }, "node_modules/@grpc/grpc-js": { - "version": "1.8.21", - "license": "Apache-2.0", + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.6.tgz", + "integrity": "sha512-xP58G7wDQ4TCmN/cMUHh00DS7SRDv/+lC+xFLrTkMIN8h55X5NhZMLYbvy7dSELP15qlI6hPhNCRWVMtZMwqLA==", "dependencies": { - "@grpc/proto-loader": "^0.7.0", - "@types/node": ">=12.12.47" + "@grpc/proto-loader": "^0.7.10", + "@js-sdsl/ordered-map": "^4.4.2" }, "engines": { - "node": "^8.13.0 || >=10.10.0" + "node": ">=12.10.0" } }, "node_modules/@grpc/proto-loader": { @@ -7729,6 +7731,15 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@js-sdsl/ordered-map": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, "node_modules/@jsdoc/salty": { "version": "0.2.5", "dev": true, @@ -38535,10 +38546,12 @@ "dev": true }, "@grpc/grpc-js": { - "version": "1.8.21", + "version": "1.10.6", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.10.6.tgz", + "integrity": "sha512-xP58G7wDQ4TCmN/cMUHh00DS7SRDv/+lC+xFLrTkMIN8h55X5NhZMLYbvy7dSELP15qlI6hPhNCRWVMtZMwqLA==", "requires": { - "@grpc/proto-loader": "^0.7.0", - "@types/node": ">=12.12.47" + "@grpc/proto-loader": "^0.7.10", + "@js-sdsl/ordered-map": "^4.4.2" } }, "@grpc/proto-loader": { @@ -38685,6 +38698,11 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "@js-sdsl/ordered-map": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz", + "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==" + }, "@jsdoc/salty": { "version": "0.2.5", "dev": true, From 7a5db08f758e92a3c6287dac858ea419e9328d09 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Thu, 11 Apr 2024 01:07:24 -0700 Subject: [PATCH 15/17] doc(instr-fetch): mention instr-undici for Node.js fetch() (#4624) Now that instrumentation-undici exists, point to it for users that want instrumentation of Node.js' fetch(). --- .../packages/opentelemetry-instrumentation-fetch/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experimental/packages/opentelemetry-instrumentation-fetch/README.md b/experimental/packages/opentelemetry-instrumentation-fetch/README.md index 367d5c9ef1..b12c0f1163 100644 --- a/experimental/packages/opentelemetry-instrumentation-fetch/README.md +++ b/experimental/packages/opentelemetry-instrumentation-fetch/README.md @@ -6,7 +6,7 @@ **Note: This is an experimental package under active development. New releases may include breaking changes.** This module provides auto instrumentation for web using [fetch](https://developer.mozilla.org/en-US/docs/Web/API/fetch). -(Note: This instrumentation does **not** instrument [Node.js' fetch](https://nodejs.org/api/globals.html#fetch). See [this issue](https://github.com/open-telemetry/opentelemetry-js/issues/4333).) +(Note: This instrumentation does **not** instrument [Node.js' fetch](https://nodejs.org/api/globals.html#fetch). See [`@opentelemetry/instrumentation-undici`](https://github.com/open-telemetry/opentelemetry-js-contrib/tree/main/plugins/node/instrumentation-undici/) for that.) ## Installation From b067aed8bab73e30cb96d6ea4c61fa877b89b60c Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Thu, 11 Apr 2024 01:07:50 -0700 Subject: [PATCH 16/17] chore(instrumentation): remove accidental devDep on api-logs (#4627) This package accidentally got a dep and devDep on api-logs, at different versions. The result was it being pinned at the older version in package-lock. Co-authored-by: Marc Pichler --- .../package.json | 1 - package-lock.json | 24 +------------------ 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/experimental/packages/opentelemetry-instrumentation/package.json b/experimental/packages/opentelemetry-instrumentation/package.json index 7580b0cdb0..c52de02c23 100644 --- a/experimental/packages/opentelemetry-instrumentation/package.json +++ b/experimental/packages/opentelemetry-instrumentation/package.json @@ -85,7 +85,6 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.47.0", "@opentelemetry/sdk-metrics": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", diff --git a/package-lock.json b/package-lock.json index a8e6bc8423..bbae633a5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3119,7 +3119,6 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.47.0", "@opentelemetry/sdk-metrics": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -3877,18 +3876,6 @@ "node": ">= 8" } }, - "experimental/packages/opentelemetry-instrumentation/node_modules/@opentelemetry/api-logs": { - "version": "0.47.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.47.0.tgz", - "integrity": "sha512-AR6UOVcWZkuibLR/7/OecYJasncAf6VstNV/KT5qHq1HShVFmJetcgim0KMog/ON23yHZQjT9GPVTwB0FEhPQA==", - "dev": true, - "dependencies": { - "@opentelemetry/api": "^1.0.0" - }, - "engines": { - "node": ">=14" - } - }, "experimental/packages/opentelemetry-instrumentation/node_modules/@webpack-cli/configtest": { "version": "2.1.1", "dev": true, @@ -41888,7 +41875,7 @@ "@babel/core": "7.23.6", "@babel/preset-env": "7.22.20", "@opentelemetry/api": "1.8.0", - "@opentelemetry/api-logs": "0.47.0", + "@opentelemetry/api-logs": "0.50.0", "@opentelemetry/sdk-metrics": "1.23.0", "@types/mocha": "10.0.6", "@types/node": "18.6.5", @@ -41923,15 +41910,6 @@ "webpack-merge": "5.10.0" }, "dependencies": { - "@opentelemetry/api-logs": { - "version": "0.47.0", - "resolved": "https://registry.npmjs.org/@opentelemetry/api-logs/-/api-logs-0.47.0.tgz", - "integrity": "sha512-AR6UOVcWZkuibLR/7/OecYJasncAf6VstNV/KT5qHq1HShVFmJetcgim0KMog/ON23yHZQjT9GPVTwB0FEhPQA==", - "dev": true, - "requires": { - "@opentelemetry/api": "^1.0.0" - } - }, "@webpack-cli/configtest": { "version": "2.1.1", "dev": true, From 34387774caaa15307e8586206f1ca2e6df96605f Mon Sep 17 00:00:00 2001 From: Marc Pichler Date: Thu, 11 Apr 2024 15:48:27 +0200 Subject: [PATCH 17/17] fix(otlp-grpc-exporter-base): avoid TypeError on exporter shutdown (#4612) * fix(otlp-grpc-exporter-base): avoid TypeError on exporter shutdown * chore: update changelog * fix: use gRPC Client type over any * fixup! fix: use gRPC Client type over any * fix: use ts-lint/ts-ignore --- experimental/CHANGELOG.md | 2 + .../src/grpc-exporter-transport.ts | 13 ++++-- .../test/grpc-exporter-transport.test.ts | 44 ++++++++++++------- 3 files changed, 40 insertions(+), 19 deletions(-) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 3d0f124c9d..48dc912ca2 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -19,6 +19,8 @@ All notable changes to experimental packages in this project will be documented ### :bug: (Bug Fix) +* fix(otlp-grpc-exporter-base): avoid TypeError on exporter shutdown [#4612](https://github.com/open-telemetry/opentelemetry-js/pull/4612) + ### :books: (Refine Doc) ### :house: (Internal) diff --git a/experimental/packages/otlp-grpc-exporter-base/src/grpc-exporter-transport.ts b/experimental/packages/otlp-grpc-exporter-base/src/grpc-exporter-transport.ts index 77038648ce..81e7ff4c4d 100644 --- a/experimental/packages/otlp-grpc-exporter-base/src/grpc-exporter-transport.ts +++ b/experimental/packages/otlp-grpc-exporter-base/src/grpc-exporter-transport.ts @@ -16,7 +16,12 @@ // NOTE: do not change these type imports to actual imports. Doing so WILL break `@opentelemetry/instrumentation-http`, // as they'd be imported before the http/https modules can be wrapped. -import type { Metadata, ServiceError, ChannelCredentials } from '@grpc/grpc-js'; +import type { + Metadata, + ServiceError, + ChannelCredentials, + Client, +} from '@grpc/grpc-js'; import { ExportResponse } from './export-response'; import { IExporterTransport } from './exporter-transport'; @@ -85,13 +90,13 @@ export interface GrpcExporterTransportParameters { } export class GrpcExporterTransport implements IExporterTransport { - private _client?: any; + private _client?: Client; private _metadata?: Metadata; constructor(private _parameters: GrpcExporterTransportParameters) {} shutdown() { - this._client?.shutdown(); + this._client?.close(); } send(data: Uint8Array): Promise { @@ -150,6 +155,8 @@ export class GrpcExporterTransport implements IExporterTransport { }); } + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore The gRPC client constructor is created on runtime, so we don't have any types for the resulting client. this._client.export( buffer, this._metadata, diff --git a/experimental/packages/otlp-grpc-exporter-base/test/grpc-exporter-transport.test.ts b/experimental/packages/otlp-grpc-exporter-base/test/grpc-exporter-transport.test.ts index 965c01607c..f7e9769f45 100644 --- a/experimental/packages/otlp-grpc-exporter-base/test/grpc-exporter-transport.test.ts +++ b/experimental/packages/otlp-grpc-exporter-base/test/grpc-exporter-transport.test.ts @@ -136,9 +136,30 @@ describe('GrpcExporterTransport', function () { }); }); describe('shutdown', function () { + let shutdownHandle: () => void | undefined; + const serverTestContext: ServerTestContext = { + requests: [], + serverResponseProvider: () => { + return { error: null, buffer: Buffer.from([]) }; + }, + }; + + beforeEach(async function () { + shutdownHandle = await startServer(serverTestContext); + }); + afterEach(function () { + shutdownHandle(); + + // clear context + serverTestContext.requests = []; + serverTestContext.serverResponseProvider = () => { + return { error: null, buffer: Buffer.from([]) }; + }; + sinon.restore(); }); + it('before send() does not error', function () { const transport = new GrpcExporterTransport(simpleClientConfig); transport.shutdown(); @@ -146,27 +167,18 @@ describe('GrpcExporterTransport', function () { // no assertions, just checking that it does not throw any errors. }); - it('calls client shutdown if client is defined', function () { - // arrange - const transport = new GrpcExporterTransport({ - metadata: createEmptyMetadata, - timeoutMillis: 100, - grpcPath: 'path', - grpcName: 'name', - credentials: createInsecureCredentials, - compression: 'gzip', - address: 'localhost:1234', - }); - const shutdownStub = sinon.stub(); - transport['_client'] = { - shutdown: shutdownStub, - }; + it('calls _client.close() if client is defined', async function () { + const transport = new GrpcExporterTransport(simpleClientConfig); + // send something so that client is defined + await transport.send(Buffer.from([1, 2, 3])); + assert.ok(transport['_client'], '_client is not defined after send()'); + const closeSpy = sinon.spy(transport['_client'], 'close'); // act transport.shutdown(); // assert - sinon.assert.calledOnce(shutdownStub); + sinon.assert.calledOnce(closeSpy); }); }); describe('send', function () {