From fe0dc6578c5a6425c606f6afa769d79471414240 Mon Sep 17 00:00:00 2001 From: Weyert de Boer Date: Sun, 6 Apr 2025 15:24:11 +0100 Subject: [PATCH 1/6] refactor: use `getStringFromEnv` instead of `process.env` Updates the code to user the helper utilities to retrieve environment variable values fixes #5561 Signed-off-by: Weyert de Boer --- .../src/configuration/otlp-http-env-configuration.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts b/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts index 220eb57a1b7..29325f61371 100644 --- a/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts +++ b/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -import { parseKeyPairsIntoRecord } from '@opentelemetry/core'; +import { getStringFromEnv, parseKeyPairsIntoRecord } from '@opentelemetry/core'; import { diag } from '@opentelemetry/api'; import { getSharedConfigurationFromEnvironment } from './shared-env-configuration'; import { OtlpHttpConfiguration } from './otlp-http-configuration'; @@ -23,9 +23,9 @@ function getStaticHeadersFromEnv( signalIdentifier: string ): Record | undefined { const signalSpecificRawHeaders = - process.env[`OTEL_EXPORTER_OTLP_${signalIdentifier}_HEADERS`]?.trim(); + getStringFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_HEADERS`); const nonSignalSpecificRawHeaders = - process.env['OTEL_EXPORTER_OTLP_HEADERS']?.trim(); + getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS'); const signalSpecificHeaders = parseKeyPairsIntoRecord( signalSpecificRawHeaders @@ -98,7 +98,7 @@ function appendResourcePathToUrl( function getNonSpecificUrlFromEnv( signalResourcePath: string ): string | undefined { - const envUrl = process.env.OTEL_EXPORTER_OTLP_ENDPOINT?.trim(); + const envUrl = getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT'); if (envUrl == null || envUrl === '') { return undefined; } @@ -107,7 +107,7 @@ function getNonSpecificUrlFromEnv( function getSpecificUrlFromEnv(signalIdentifier: string): string | undefined { const envUrl = - process.env[`OTEL_EXPORTER_OTLP_${signalIdentifier}_ENDPOINT`]?.trim(); + getStringFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_ENDPOINT`); if (envUrl == null || envUrl === '') { return undefined; } From e60acc0adba9f9a404c86bed72c347208b59389c Mon Sep 17 00:00:00 2001 From: Weyert de Boer Date: Sun, 6 Apr 2025 15:26:48 +0100 Subject: [PATCH 2/6] style: resolve linting issues regarding code format Signed-off-by: Weyert de Boer --- .../configuration/otlp-http-env-configuration.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts b/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts index 29325f61371..7a2c43125e6 100644 --- a/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts +++ b/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts @@ -22,10 +22,12 @@ import { wrapStaticHeadersInFunction } from './shared-configuration'; function getStaticHeadersFromEnv( signalIdentifier: string ): Record | undefined { - const signalSpecificRawHeaders = - getStringFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_HEADERS`); - const nonSignalSpecificRawHeaders = - getStringFromEnv('OTEL_EXPORTER_OTLP_HEADERS'); + const signalSpecificRawHeaders = getStringFromEnv( + `OTEL_EXPORTER_OTLP_${signalIdentifier}_HEADERS` + ); + const nonSignalSpecificRawHeaders = getStringFromEnv( + 'OTEL_EXPORTER_OTLP_HEADERS' + ); const signalSpecificHeaders = parseKeyPairsIntoRecord( signalSpecificRawHeaders @@ -106,8 +108,9 @@ function getNonSpecificUrlFromEnv( } function getSpecificUrlFromEnv(signalIdentifier: string): string | undefined { - const envUrl = - getStringFromEnv(`OTEL_EXPORTER_OTLP_${signalIdentifier}_ENDPOINT`); + const envUrl = getStringFromEnv( + `OTEL_EXPORTER_OTLP_${signalIdentifier}_ENDPOINT` + ); if (envUrl == null || envUrl === '') { return undefined; } From c45bc69443058e56b89082ec287ac833ca31f12f Mon Sep 17 00:00:00 2001 From: Weyert de Boer Date: Sun, 6 Apr 2025 15:29:07 +0100 Subject: [PATCH 3/6] chore: add missing CHANGELOG entry to package Signed-off-by: Weyert de Boer --- experimental/CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 231a8436e7c..6b0a8b98e79 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -16,6 +16,8 @@ For notes on migrating to 2.x / 0.200.x see [the upgrade guide](doc/upgrade-to-2 ### :house: Internal +* refactor: use getStringFromEnv instead of process.env [#5594](https://github.com/open-telemetry/opentelemetry-js/pull/5594) @weyert + ## 0.200.0 ### Summary From ad24bb5c07a33a546bec5a74f1929aae5edbe84a Mon Sep 17 00:00:00 2001 From: Weyert de Boer Date: Mon, 7 Apr 2025 16:42:46 +0100 Subject: [PATCH 4/6] chore: update experimental/CHANGELOG.md Co-authored-by: David Luna --- experimental/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experimental/CHANGELOG.md b/experimental/CHANGELOG.md index 07c38fded10..89d97862772 100644 --- a/experimental/CHANGELOG.md +++ b/experimental/CHANGELOG.md @@ -16,7 +16,7 @@ For notes on migrating to 2.x / 0.200.x see [the upgrade guide](doc/upgrade-to-2 ### :house: Internal -* refactor: use getStringFromEnv instead of process.env [#5594](https://github.com/open-telemetry/opentelemetry-js/pull/5594) @weyert +* refactor(otlp-exporter-base): use getStringFromEnv instead of process.env [#5594](https://github.com/open-telemetry/opentelemetry-js/pull/5594) @weyert * chore(sdk-node): Refactored using `get*FromEnv` utility function instead of `process.env` for NodeSDK's logging setup. [#5563](https://github.com/open-telemetry/opentelemetry-js/issues/5563) @weyert ## 0.200.0 From af259548142a2e97c8fc6168b25d4ef24021e8c0 Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Fri, 22 Aug 2025 14:02:59 -0700 Subject: [PATCH 5/6] simplify test, knowing `undefined` return from getStringFromEnv --- .../src/configuration/otlp-http-env-configuration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts b/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts index 7a2c43125e6..e4a164588de 100644 --- a/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts +++ b/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts @@ -101,7 +101,7 @@ function getNonSpecificUrlFromEnv( signalResourcePath: string ): string | undefined { const envUrl = getStringFromEnv('OTEL_EXPORTER_OTLP_ENDPOINT'); - if (envUrl == null || envUrl === '') { + if (envUrl === undefined) { return undefined; } return appendResourcePathToUrl(envUrl, signalResourcePath); From 321a1be064b50c12070495c7356e774db2edd6eb Mon Sep 17 00:00:00 2001 From: Trent Mick Date: Fri, 22 Aug 2025 14:03:06 -0700 Subject: [PATCH 6/6] simplify test, knowing `undefined` return from getStringFromEnv --- .../src/configuration/otlp-http-env-configuration.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts b/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts index e4a164588de..f8c2c7a3cf8 100644 --- a/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts +++ b/experimental/packages/otlp-exporter-base/src/configuration/otlp-http-env-configuration.ts @@ -111,7 +111,7 @@ function getSpecificUrlFromEnv(signalIdentifier: string): string | undefined { const envUrl = getStringFromEnv( `OTEL_EXPORTER_OTLP_${signalIdentifier}_ENDPOINT` ); - if (envUrl == null || envUrl === '') { + if (envUrl === undefined) { return undefined; } return appendRootPathToUrlIfNeeded(envUrl);