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

Breadcrumb

  1. Drupal Core 11.1.x

InstrumentNameCriteria.php

Namespace

OpenTelemetry\SDK\Metrics\View\SelectionCriteria

File

vendor/open-telemetry/sdk/Metrics/View/SelectionCriteria/InstrumentNameCriteria.php

View source
<?php

declare (strict_types=1);
namespace OpenTelemetry\SDK\Metrics\View\SelectionCriteria;

use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeInterface;
use OpenTelemetry\SDK\Metrics\Instrument;
use OpenTelemetry\SDK\Metrics\View\SelectionCriteriaInterface;
use function preg_match;
use function preg_quote;
use function sprintf;
use function strtr;
final class InstrumentNameCriteria implements SelectionCriteriaInterface {
    private readonly string $pattern;
    
    /**
     * @param non-empty-string $name
     */
    public function __construct(string $name) {
        $this->pattern = sprintf('/^%s$/', strtr(preg_quote($name, '/'), [
            '\\?' => '.',
            '\\*' => '.*',
        ]));
    }
    
    /**
     * @psalm-suppress ArgumentTypeCoercion
     */
    public function accepts(Instrument $instrument, InstrumentationScopeInterface $instrumentationScope) : bool {
        return (bool) preg_match($this->pattern, $instrument->name);
    }

}

Classes

Title Deprecated Summary
InstrumentNameCriteria
RSS feed
Powered by Drupal