Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. ResourceInfoFactory.php

class ResourceInfoFactory

Hierarchy

  • class \OpenTelemetry\SDK\Resource\ResourceInfoFactory uses \OpenTelemetry\API\Behavior\LogsMessagesTrait

Expanded class hierarchy of ResourceInfoFactory

7 files declare their use of ResourceInfoFactory
Composer.php in vendor/open-telemetry/sdk/Resource/Detectors/Composer.php
Composite.php in vendor/open-telemetry/sdk/Resource/Detectors/Composite.php
LoggerProvider.php in vendor/open-telemetry/sdk/Logs/LoggerProvider.php
MeterProviderBuilder.php in vendor/open-telemetry/sdk/Metrics/MeterProviderBuilder.php
MeterProviderFactory.php in vendor/open-telemetry/sdk/Metrics/MeterProviderFactory.php

... See full list

File

vendor/open-telemetry/sdk/Resource/ResourceInfoFactory.php, line 16

Namespace

OpenTelemetry\SDK\Resource
View source
class ResourceInfoFactory {
    use LogsMessagesTrait;
    private static ?ResourceInfo $emptyResource = null;
    public static function defaultResource() : ResourceInfo {
        $detectors = Configuration::getList(Env::OTEL_PHP_DETECTORS);
        if (in_array(Values::VALUE_ALL, $detectors)) {
            // ascending priority: keys from later detectors will overwrite earlier
            return (new Detectors\Composite([
                new Detectors\Host(),
                new Detectors\OperatingSystem(),
                new Detectors\Process(),
                new Detectors\ProcessRuntime(),
                new Detectors\Sdk(),
                new Detectors\SdkProvided(),
                new Detectors\Composer(),
                Registry::resourceDetectors(),
                new Detectors\Environment(),
            ]))->getResource();
        }
        $resourceDetectors = [];
        foreach ($detectors as $detector) {
            switch ($detector) {
                case Values::VALUE_DETECTORS_SERVICE:
                    $resourceDetectors[] = new Detectors\Service();
                    break;
                case Values::VALUE_DETECTORS_ENVIRONMENT:
                    $resourceDetectors[] = new Detectors\Environment();
                    break;
                case Values::VALUE_DETECTORS_HOST:
                    $resourceDetectors[] = new Detectors\Host();
                    break;
                case Values::VALUE_DETECTORS_OS:
                    $resourceDetectors[] = new Detectors\OperatingSystem();
                    break;
                case Values::VALUE_DETECTORS_PROCESS:
                    $resourceDetectors[] = new Detectors\Process();
                    break;
                case Values::VALUE_DETECTORS_PROCESS_RUNTIME:
                    $resourceDetectors[] = new Detectors\ProcessRuntime();
                    break;
                case Values::VALUE_DETECTORS_SDK:
                    $resourceDetectors[] = new Detectors\Sdk();
                    break;
                case Values::VALUE_DETECTORS_SDK_PROVIDED:
                    $resourceDetectors[] = new Detectors\SdkProvided();
                    break;
                case Values::VALUE_DETECTORS_COMPOSER:
                    $resourceDetectors[] = new Detectors\Composer();
                    break;
                case Values::VALUE_NONE:
                    break;
                default:
                    try {
                        $resourceDetectors[] = Registry::resourceDetector($detector);
                    } catch (RuntimeException $e) {
                        self::logWarning($e->getMessage());
                    }
            }
        }
        return (new Detectors\Composite($resourceDetectors))->getResource();
    }
    public static function emptyResource() : ResourceInfo {
        if (null === self::$emptyResource) {
            self::$emptyResource = ResourceInfo::create(Attributes::create([]));
        }
        return self::$emptyResource;
    }

}

Members

Title Sort descending Modifiers Object type Summary
LogsMessagesTrait::doLog private static function
LogsMessagesTrait::logDebug protected static function
LogsMessagesTrait::logError protected static function
LogsMessagesTrait::logInfo protected static function
LogsMessagesTrait::logNotice protected static function
LogsMessagesTrait::logWarning protected static function
LogsMessagesTrait::shouldLog private static function
ResourceInfoFactory::$emptyResource private static property
ResourceInfoFactory::defaultResource public static function
ResourceInfoFactory::emptyResource public static function
RSS feed
Powered by Drupal