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

Breadcrumb

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

function ResourceInfoFactory::defaultResource

5 calls to ResourceInfoFactory::defaultResource()
LoggerProvider::__construct in vendor/open-telemetry/sdk/Logs/LoggerProvider.php
MeterProviderFactory::create in vendor/open-telemetry/sdk/Metrics/MeterProviderFactory.php
@todo https://github.com/open-telemetry/opentelemetry-specification/blob/main…
ResourceInfo::defaultResource in vendor/open-telemetry/sdk/Resource/ResourceInfo.php
@codeCoverageIgnore
SdkAutoloader::environmentBasedInitializer in vendor/open-telemetry/sdk/SdkAutoloader.php
TracerProvider::__construct in vendor/open-telemetry/sdk/Trace/TracerProvider.php

File

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

Class

ResourceInfoFactory

Namespace

OpenTelemetry\SDK\Resource

Code

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();
}
RSS feed
Powered by Drupal