Environment.php
Same filename in this branch
Namespace
OpenTelemetry\SDK\Resource\DetectorsFile
-
vendor/
open-telemetry/ sdk/ Resource/ Detectors/ Environment.php
View source
<?php
declare (strict_types=1);
namespace OpenTelemetry\SDK\Resource\Detectors;
use OpenTelemetry\SDK\Common\Attribute\Attributes;
use OpenTelemetry\SDK\Common\Configuration\Configuration;
use OpenTelemetry\SDK\Common\Configuration\Variables;
use OpenTelemetry\SDK\Resource\ResourceDetectorInterface;
use OpenTelemetry\SDK\Resource\ResourceInfo;
use OpenTelemetry\SemConv\ResourceAttributes;
/**
* @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/resource/sdk.md#specifying-resource-information-via-an-environment-variable
*/
final class Environment implements ResourceDetectorInterface {
public function getResource() : ResourceInfo {
$attributes = Configuration::has(Variables::OTEL_RESOURCE_ATTRIBUTES) ? self::decode(Configuration::getMap(Variables::OTEL_RESOURCE_ATTRIBUTES, [])) : [];
//@see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/configuration/sdk-environment-variables.md#general-sdk-configuration
$serviceName = Configuration::has(Variables::OTEL_SERVICE_NAME) ? Configuration::getString(Variables::OTEL_SERVICE_NAME) : null;
if ($serviceName) {
$attributes[ResourceAttributes::SERVICE_NAME] = $serviceName;
}
return ResourceInfo::create(Attributes::create($attributes), ResourceAttributes::SCHEMA_URL);
}
private static function decode(array $attributes) : array {
return array_map('urldecode', $attributes);
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
Environment |