summaryrefslogtreecommitdiff
path: root/vendor/open-telemetry/api/Metrics/MeterProviderInterface.php
blob: f8fa07a2e1ab95bb968c2908882c05dc6fe3d0b1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php

declare(strict_types=1);

namespace OpenTelemetry\API\Metrics;

interface MeterProviderInterface
{

    /**
     * Returns a `Meter` for the given instrumentation scope.
     *
     * @param string $name name of the instrumentation scope
     * @param string|null $version version of the instrumentation scope
     * @param string|null $schemaUrl schema url to record in the emitted telemetry
     * @param iterable<non-empty-string, string|bool|float|int|array|null> $attributes
     *        instrumentation scope attributes
     * @return MeterInterface meter instance for the instrumentation scope
     *
     * @see https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/api.md#get-a-meter
     */
    public function getMeter(
        string $name,
        ?string $version = null,
        ?string $schemaUrl = null,
        iterable $attributes = []
    ): MeterInterface;
}