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

Breadcrumb

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

function Sdk::getResource

Overrides ResourceDetectorInterface::getResource

File

vendor/open-telemetry/sdk/Resource/Detectors/Sdk.php, line 24

Class

Sdk

Namespace

OpenTelemetry\SDK\Resource\Detectors

Code

public function getResource() : ResourceInfo {
    $attributes = [
        ResourceAttributes::TELEMETRY_SDK_NAME => 'opentelemetry',
        ResourceAttributes::TELEMETRY_SDK_LANGUAGE => 'php',
    ];
    if (class_exists(InstalledVersions::class)) {
        foreach (self::PACKAGES as $package) {
            if (!InstalledVersions::isInstalled($package)) {
                continue;
            }
            if (($version = InstalledVersions::getPrettyVersion($package)) === null) {
                continue;
            }
            $attributes[ResourceAttributes::TELEMETRY_SDK_VERSION] = $version;
            break;
        }
    }
    if (extension_loaded('opentelemetry')) {
        $attributes[ResourceAttributes::TELEMETRY_DISTRO_NAME] = 'opentelemetry-php-instrumentation';
        $attributes[ResourceAttributes::TELEMETRY_DISTRO_VERSION] = phpversion('opentelemetry');
    }
    return ResourceInfo::create(Attributes::create($attributes), ResourceAttributes::SCHEMA_URL);
}
RSS feed
Powered by Drupal