42 lines
1.2 KiB
PHP
42 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
namespace OpenTelemetry\SDK\Metrics;
|
||
|
|
||
|
use OpenTelemetry\SDK\Common\Instrumentation\InstrumentationScopeInterface;
|
||
|
use OpenTelemetry\SDK\Metrics\Exemplar\ExemplarFilterInterface;
|
||
|
use OpenTelemetry\SDK\Metrics\MetricRegistry\MetricRegistryInterface;
|
||
|
use OpenTelemetry\SDK\Resource\ResourceInfo;
|
||
|
|
||
|
/**
|
||
|
* @internal
|
||
|
*/
|
||
|
interface MetricFactoryInterface
|
||
|
{
|
||
|
/**
|
||
|
* @param iterable<array{ViewProjection, MetricRegistrationInterface}> $views
|
||
|
*/
|
||
|
public function createAsynchronousObserver(
|
||
|
MetricRegistryInterface $registry,
|
||
|
ResourceInfo $resource,
|
||
|
InstrumentationScopeInterface $instrumentationScope,
|
||
|
Instrument $instrument,
|
||
|
int $timestamp,
|
||
|
iterable $views
|
||
|
): array;
|
||
|
|
||
|
/**
|
||
|
* @param iterable<array{ViewProjection, MetricRegistrationInterface}> $views
|
||
|
*/
|
||
|
public function createSynchronousWriter(
|
||
|
MetricRegistryInterface $registry,
|
||
|
ResourceInfo $resource,
|
||
|
InstrumentationScopeInterface $instrumentationScope,
|
||
|
Instrument $instrument,
|
||
|
int $timestamp,
|
||
|
iterable $views,
|
||
|
?ExemplarFilterInterface $exemplarFilter = null
|
||
|
): array;
|
||
|
}
|