34 lines
988 B
PHP
34 lines
988 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace OpenTelemetry\Contrib\Otlp;
|
|
|
|
use OpenTelemetry\SDK\Common\Export\Http\PsrTransport;
|
|
use OpenTelemetry\SDK\Common\Export\Http\PsrTransportFactory;
|
|
use OpenTelemetry\SDK\Common\Export\TransportFactoryInterface;
|
|
|
|
class OtlpHttpTransportFactory implements TransportFactoryInterface
|
|
{
|
|
private const DEFAULT_COMPRESSION = 'none';
|
|
|
|
public function create(
|
|
string $endpoint,
|
|
string $contentType,
|
|
array $headers = [],
|
|
$compression = null,
|
|
float $timeout = 10.,
|
|
int $retryDelay = 100,
|
|
int $maxRetries = 3,
|
|
?string $cacert = null,
|
|
?string $cert = null,
|
|
?string $key = null
|
|
): PsrTransport {
|
|
if ($compression === self::DEFAULT_COMPRESSION) {
|
|
$compression = null;
|
|
}
|
|
|
|
return PsrTransportFactory::discover()->create($endpoint, $contentType, $headers, $compression, $timeout, $retryDelay, $maxRetries, $cacert, $cert, $key);
|
|
}
|
|
}
|