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
File
-
vendor/
open-telemetry/ sdk/ Resource/ ResourceInfoFactory.php, line 16
Namespace
OpenTelemetry\SDK\ResourceView 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 |