diff --git a/src/SDK/Sdk.php b/src/SDK/Sdk.php index 3b63eb93a..d9dfcf96d 100644 --- a/src/SDK/Sdk.php +++ b/src/SDK/Sdk.php @@ -13,6 +13,8 @@ class Sdk { + private const OTEL_PHP_DISABLED_INSTRUMENTATIONS_ALL = 'all'; + private TracerProviderInterface $tracerProvider; private MeterProviderInterface $meterProvider; private LoggerProviderInterface $loggerProvider; @@ -40,7 +42,9 @@ public static function isDisabled(): bool */ public static function isInstrumentationDisabled(string $name): bool { - return in_array($name, Configuration::getList(Variables::OTEL_PHP_DISABLED_INSTRUMENTATIONS)); + $disabledInstrumentations = Configuration::getList(Variables::OTEL_PHP_DISABLED_INSTRUMENTATIONS); + + return [self::OTEL_PHP_DISABLED_INSTRUMENTATIONS_ALL] === $disabledInstrumentations || in_array($name, $disabledInstrumentations); } public static function builder(): SdkBuilder diff --git a/tests/Unit/SDK/SdkTest.php b/tests/Unit/SDK/SdkTest.php index a862efe41..4eff6943f 100644 --- a/tests/Unit/SDK/SdkTest.php +++ b/tests/Unit/SDK/SdkTest.php @@ -65,6 +65,9 @@ public static function instrumentationDisabledProvider(): array ['foo,bar', 'bar', true], ['', 'foo', false], ['foo', 'foo', true], + ['all', 'foo', true], + ['all,bar', 'foo', false], + ['all,foo', 'foo', true], ]; }