Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
gaelreyrol committed Jan 31, 2024
1 parent 8b7d614 commit 84cc807
Show file tree
Hide file tree
Showing 30 changed files with 73 additions and 327 deletions.
2 changes: 1 addition & 1 deletion src/DependencyInjection/OpenTelemetryLogsExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ private function loadLogProvider(string $name, array $provider): void
)
->setFactory([new Reference(sprintf('open_telemetry.logs.provider_factory.%s', $provider['type'])), 'createProvider'])
->setArguments([
new Reference($provider['processor']),
new Reference($provider['processor'] ?? ''),
]);
}

Expand Down
2 changes: 1 addition & 1 deletion src/DependencyInjection/OpenTelemetryMetricsExtension.php
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ private function loadMetricProvider(string $name, array $provider): void
)
->setFactory([new Reference(sprintf('open_telemetry.metrics.provider_factory.%s', $provider['type'])), 'createProvider'])
->setArguments([
new Reference($provider['exporter'], ContainerBuilder::NULL_ON_INVALID_REFERENCE),
new Reference($provider['exporter'] ?? '', ContainerBuilder::NULL_ON_INVALID_REFERENCE),
$filter,
]);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

abstract class AbstractLogProcessorFactory implements LogProcessorFactoryInterface
{
/** @phpstan-ignore-next-line */
public function __construct(private ?LoggerInterface $logger = null)
{
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

abstract class AbstractSpanProcessorFactory implements SpanProcessorFactoryInterface
{
/** @phpstan-ignore-next-line */
public function __construct(private ?LoggerInterface $logger = null)
{
}
Expand Down
1 change: 1 addition & 0 deletions src/OpenTelemetry/Transport/AbstractTransportFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

abstract readonly class AbstractTransportFactory implements TransportFactoryInterface
{
/** @phpstan-ignore-next-line */
public function __construct(private ?LoggerInterface $logger = null)
{
}
Expand Down
5 changes: 2 additions & 3 deletions tests/Unit/DependencyInjection/ConfigurationTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -276,9 +276,8 @@ public function testReferenceConfiguration(): void
provider:
type: default # One of "default"; "noop", Required
sampler:
type: always_on # One of "always_off"; "always_on"; "parent_based"; "trace_id_ratio", Required
ratio: ~
parent: ~
type: always_on # One of "always_off"; "always_on"; "parent_based_always_off"; "parent_based_always_on"; "parent_based_trace_id_ratio"; "trace_id_ratio", Required
probability: ~
processors: []
processors:
Expand Down
9 changes: 0 additions & 9 deletions tests/Unit/DependencyInjection/DependencyInjectionTest.php

This file was deleted.

266 changes: 0 additions & 266 deletions tests/Unit/DependencyInjection/FixtureOpenTelemetryExtensionTest.php

This file was deleted.

16 changes: 0 additions & 16 deletions tests/Unit/DependencyInjection/YamlOpenTelemetryExtensionTest.php

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterDsn;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterOptionsInterface;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\ConsoleLogExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\GrpcTransportFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\OtlpHttpTransportFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\PsrHttpTransportFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\StreamTransportFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use OpenTelemetry\SDK\Common\Export\Stream\StreamTransport;
use PHPUnit\Framework\TestCase;

Expand All @@ -23,7 +28,12 @@ public function testCreateExporter(string $dsn, ExporterOptionsInterface $option
self::expectExceptionObject($exception);
}

$exporter = ConsoleLogExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
$exporter = (new ConsoleLogExporterFactory(new TransportFactory([
new GrpcTransportFactory(),
new OtlpHttpTransportFactory(),
new PsrHttpTransportFactory(),
new StreamTransportFactory(),
])))->createExporter(ExporterDsn::fromString($dsn), $options);

$reflection = new \ReflectionObject($exporter);
$transport = $reflection->getProperty('transport');
Expand Down Expand Up @@ -58,7 +68,7 @@ public function exporterProvider(): \Generator
yield [
'in-memory://default',
new EmptyExporterOptions(),
new \InvalidArgumentException('Unsupported exporter endpoint or options for this transport.'),
new \InvalidArgumentException('No transport supports the given endpoint.'),
];

yield [
Expand All @@ -76,7 +86,7 @@ public function exporterProvider(): \Generator
yield [
'noop://default',
new EmptyExporterOptions(),
new \InvalidArgumentException('Unsupported exporter endpoint or options for this transport.'),
new \InvalidArgumentException('No transport supports the given endpoint.'),
];
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterDsn;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterOptionsInterface;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\InMemoryLogExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use PHPUnit\Framework\TestCase;

/**
Expand All @@ -24,7 +25,7 @@ public function testCreateExporter(string $dsn, ExporterOptionsInterface $option

$this->expectNotToPerformAssertions();

InMemoryLogExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
(new InMemoryLogExporterFactory(new TransportFactory([])))->createExporter(ExporterDsn::fromString($dsn), $options);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterDsn;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterOptionsInterface;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\NoopLogExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use PHPUnit\Framework\TestCase;

/**
Expand All @@ -24,7 +25,7 @@ public function testCreateExporter(string $dsn, ExporterOptionsInterface $option

$this->expectNotToPerformAssertions();

NoopLogExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
(new NoopLogExporterFactory(new TransportFactory([])))->createExporter(ExporterDsn::fromString($dsn), $options);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterOptionsInterface;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\OtlpExporterOptions;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\OtlpLogExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use OpenTelemetry\Contrib\Grpc\GrpcTransport;
use OpenTelemetry\SDK\Common\Export\Http\PsrTransport;
use OpenTelemetry\SDK\Common\Export\TransportInterface;
Expand All @@ -31,7 +32,8 @@ public function testCreateExporter(
self::expectExceptionObject($exception);
}

$exporter = OtlpLogExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
$exporter = (new OtlpLogExporterFactory(new TransportFactory([])))
->createExporter(ExporterDsn::fromString($dsn), $options);

$reflection = new \ReflectionObject($exporter);
$transport = $reflection->getProperty('transport');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@

namespace FriendsOfOpenTelemetry\OpenTelemetryBundle\Tests\Unit\OpenTelemetry\Log\LogProcessor;

use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\EmptyExporterOptions;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterDsn;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogExporter\NoopLogExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Log\LogProcessor\SimpleLogProcessorFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use PHPUnit\Framework\TestCase;

/**
Expand All @@ -13,7 +16,14 @@ class SimpleLogProcessorFactoryTest extends TestCase
{
public function testCreateProcessor(): void
{
SimpleLogProcessorFactory::createProcessor(exporter: NoopLogExporterFactory::createExporter());
SimpleLogProcessorFactory::createProcessor(
[],
(new NoopLogExporterFactory(new TransportFactory([])))
->createExporter(
ExporterDsn::fromString('null://default'),
EmptyExporterOptions::fromConfiguration([]),
),
);

self::expectExceptionObject(new \InvalidArgumentException('Exporter is null'));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ public function testCreateProvider(): void
{
self::expectNotToPerformAssertions();

DefaultLoggerProviderFactory::createProvider(new NoopLogRecordProcessor());
(new DefaultLoggerProviderFactory())->createProvider(new NoopLogRecordProcessor());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,6 @@ public function testCreateProvider(): void
{
self::expectNotToPerformAssertions();

NoopLoggerProviderFactory::createProvider(new NoopLogRecordProcessor());
(new NoopLoggerProviderFactory())->createProvider(new NoopLogRecordProcessor());
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

namespace FriendsOfOpenTelemetry\OpenTelemetryBundle\Tests\Unit\OpenTelemetry\Metric\MeterProvider;

use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\EmptyExporterOptions;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterDsn;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Metric\MeterProvider\DefaultMeterProviderFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Metric\MetricExporter\NoopMetricExporterFactory;
use OpenTelemetry\SDK\Metrics\Exemplar\ExemplarFilter\NoneExemplarFilter;
Expand All @@ -17,7 +19,10 @@ public function testCreateProvider(): void
self::expectNotToPerformAssertions();

DefaultMeterProviderFactory::createProvider(
NoopMetricExporterFactory::createExporter(),
(new NoopMetricExporterFactory())->createExporter(
ExporterDsn::fromString('null://default'),
EmptyExporterOptions::fromConfiguration([]),
),
new NoneExemplarFilter(),
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public function testCreateExporter(string $dsn, ExporterOptionsInterface $option
self::expectExceptionObject($exception);
}

$exporter = ConsoleMetricExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
$exporter = (new ConsoleMetricExporterFactory())->createExporter(ExporterDsn::fromString($dsn), $options);

$reflection = new \ReflectionObject($exporter);
$reflectedTemporality = $reflection->getProperty('temporality');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public function testCreateExporter(string $dsn, ExporterOptionsInterface $option
self::expectExceptionObject($exception);
}

$exporter = InMemoryMetricExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
$exporter = (new InMemoryMetricExporterFactory())->createExporter(ExporterDsn::fromString($dsn), $options);

$reflection = new \ReflectionObject($exporter);
$reflectedTemporality = $reflection->getProperty('temporality');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ public function testCreateExporter(string $dsn, ExporterOptionsInterface $option
self::expectNotToPerformAssertions();
}

NoopMetricExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
(new NoopMetricExporterFactory())->createExporter(ExporterDsn::fromString($dsn), $options);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterOptionsInterface;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Metric\MetricExporter\OtlpMetricExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Metric\MetricExporterOptions;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use OpenTelemetry\SDK\Metrics\Data\Temporality;
use PHPUnit\Framework\TestCase;

Expand All @@ -23,7 +24,7 @@ public function testCreateExporter(string $dsn, ExporterOptionsInterface $option
self::expectExceptionObject($exception);
}

$exporter = OtlpMetricExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
$exporter = (new OtlpMetricExporterFactory(new TransportFactory([])))->createExporter(ExporterDsn::fromString($dsn), $options);

$reflection = new \ReflectionObject($exporter);
$reflectedTemporality = $reflection->getProperty('temporality');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterDsn;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterOptionsInterface;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\ConsoleSpanExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use OpenTelemetry\SDK\Common\Export\Stream\StreamTransport;
use PHPUnit\Framework\TestCase;

Expand All @@ -23,7 +24,7 @@ public function testCreateExporter(string $dsn, ExporterOptionsInterface $option
self::expectExceptionObject($exception);
}

$exporter = ConsoleSpanExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
$exporter = (new ConsoleSpanExporterFactory(new TransportFactory([])))->createExporter(ExporterDsn::fromString($dsn), $options);

$reflection = new \ReflectionObject($exporter);
$transport = $reflection->getProperty('transport');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterDsn;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterOptionsInterface;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\InMemorySpanExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use PHPUnit\Framework\TestCase;

/**
Expand All @@ -24,7 +25,7 @@ public function testCreateExporter(string $dsn, ExporterOptionsInterface $option

$this->expectNotToPerformAssertions();

InMemorySpanExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
(new InMemorySpanExporterFactory(new TransportFactory([])))->createExporter(ExporterDsn::fromString($dsn), $options);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterOptionsInterface;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\OtlpExporterOptions;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\OtlpSpanExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use OpenTelemetry\Contrib\Grpc\GrpcTransport;
use OpenTelemetry\SDK\Common\Export\Http\PsrTransport;
use OpenTelemetry\SDK\Common\Export\TransportInterface;
Expand All @@ -31,7 +32,7 @@ public function testCreateExporter(
self::expectExceptionObject($exception);
}

$exporter = OtlpSpanExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
$exporter = (new OtlpSpanExporterFactory(new TransportFactory([])))->createExporter(ExporterDsn::fromString($dsn), $options);

$reflection = new \ReflectionObject($exporter);
$transport = $reflection->getProperty('transport');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterOptionsInterface;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\OtlpExporterOptions;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\ZipkinSpanExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use OpenTelemetry\SDK\Common\Export\Http\PsrTransport;
use OpenTelemetry\SDK\Common\Export\TransportInterface;
use PHPUnit\Framework\TestCase;
Expand All @@ -30,7 +31,7 @@ public function testCreateExporter(
self::expectExceptionObject($exception);
}

$exporter = ZipkinSpanExporterFactory::createExporter(ExporterDsn::fromString($dsn), $options);
$exporter = (new ZipkinSpanExporterFactory(new TransportFactory([])))->createExporter(ExporterDsn::fromString($dsn), $options);

$reflection = new \ReflectionObject($exporter);
$transport = $reflection->getProperty('transport');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@

namespace FriendsOfOpenTelemetry\OpenTelemetryBundle\Tests\Unit\OpenTelemetry\Trace\SpanProcessor;

use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\EmptyExporterOptions;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Exporter\ExporterDsn;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\InMemorySpanExporterFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanProcessor\SimpleSpanProcessorFactory;
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Transport\TransportFactory;
use PHPUnit\Framework\TestCase;

/**
Expand All @@ -13,7 +16,13 @@ class SimpleSpanProcessorFactoryTest extends TestCase
{
public function testCreateProcessor(): void
{
SimpleSpanProcessorFactory::createProcessor(exporter: InMemorySpanExporterFactory::createExporter());
SimpleSpanProcessorFactory::createProcessor(
[],
(new InMemorySpanExporterFactory(new TransportFactory([])))
->createExporter(
ExporterDsn::fromString('null://default'),
EmptyExporterOptions::fromConfiguration([]),
));

self::expectExceptionObject(new \InvalidArgumentException('Exporter is null'));

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,7 @@ public function testCreateTransportFromExporter(
$this->expectNotToPerformAssertions();
}

$factory = GrpcTransportFactory::fromExporter($endpoint, $options);

$factory->createTransport();
(new GrpcTransportFactory())->createTransport($endpoint, $options);
}

/**
Expand Down
Loading

0 comments on commit 84cc807

Please sign in to comment.