• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FriendsOfOpenTelemetry / opentelemetry-bundle / 7738304608

01 Feb 2024 08:26AM UTC coverage: 37.885% (-26.6%) from 64.527%
7738304608

Pull #38

github

gaelreyrol
wip
Pull Request #38: Refactor services injection

100 of 459 new or added lines in 44 files covered. (21.79%)

255 existing lines in 18 files now uncovered.

799 of 2109 relevant lines covered (37.89%)

8.53 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Resources/config/services_traces.php
1
<?php
2

3
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SamplerFactory;
4
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\AbstractSpanExporterFactory;
5
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\ConsoleSpanExporterFactory;
6
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\InMemorySpanExporterFactory;
7
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\OtlpSpanExporterFactory;
8
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\SpanExporterFactory;
9
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanExporter\ZipkinSpanExporterFactory;
10
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanProcessor\AbstractSpanProcessorFactory;
11
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanProcessor\MultiSpanProcessorFactory;
12
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanProcessor\NoopSpanProcessorFactory;
13
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\SpanProcessor\SimpleSpanProcessorFactory;
14
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\TracerProvider\AbstractTracerProviderFactory;
15
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\TracerProvider\DefaultTracerProviderFactory;
16
use FriendsOfOpenTelemetry\OpenTelemetryBundle\OpenTelemetry\Trace\TracerProvider\NoopTracerProviderFactory;
17
use OpenTelemetry\API\Trace\TracerInterface;
18
use OpenTelemetry\SDK\Trace\SpanExporterInterface;
19
use OpenTelemetry\SDK\Trace\SpanProcessorInterface;
20
use OpenTelemetry\SDK\Trace\TracerProviderInterface;
21
use Symfony\Component\DependencyInjection\Loader\Configurator\ContainerConfigurator;
22

23
use function Symfony\Component\DependencyInjection\Loader\Configurator\service;
24
use function Symfony\Component\DependencyInjection\Loader\Configurator\tagged_iterator;
25

NEW
26
return static function (ContainerConfigurator $container): void {
×
NEW
27
    $container->services()
×
NEW
28
        ->defaults()
×
NEW
29
        ->private()
×
30

NEW
31
        ->set('open_telemetry.traces.sampler_factory', SamplerFactory::class)
×
NEW
32
            ->factory([SamplerFactory::class, 'create'])
×
33

NEW
34
        // Exporters
×
NEW
35
        ->set('open_telemetry.traces.exporter_factory.abstract', AbstractSpanExporterFactory::class)
×
NEW
36
            ->abstract()
×
NEW
37
            ->args([
×
NEW
38
                service('open_telemetry.transport_factory'),
×
NEW
39
                service('logger')->ignoreOnInvalid(),
×
NEW
40
            ])
×
NEW
41
            ->tag('monolog.logger', ['channel' => 'open_telemetry'])
×
42

NEW
43
        ->set('open_telemetry.traces.exporter_factory.console', ConsoleSpanExporterFactory::class)
×
NEW
44
            ->parent('open_telemetry.traces.exporter_factory.abstract')
×
NEW
45
            ->tag('open_telemetry.traces.exporter_factory')
×
46

NEW
47
        ->set('open_telemetry.traces.exporter_factory.in-memory', InMemorySpanExporterFactory::class)
×
NEW
48
            ->parent('open_telemetry.traces.exporter_factory.abstract')
×
NEW
49
            ->tag('open_telemetry.traces.exporter_factory')
×
50

NEW
51
        ->set('open_telemetry.traces.exporter_factory.otlp', OtlpSpanExporterFactory::class)
×
NEW
52
            ->parent('open_telemetry.traces.exporter_factory.abstract')
×
NEW
53
            ->tag('open_telemetry.traces.exporter_factory')
×
54

NEW
55
        ->set('open_telemetry.traces.exporter_factory.zipkin', ZipkinSpanExporterFactory::class)
×
NEW
56
            ->parent('open_telemetry.traces.exporter_factory.abstract')
×
NEW
57
            ->tag('open_telemetry.traces.exporter_factory')
×
58

NEW
59
        ->set('open_telemetry.traces.exporter_factory', SpanExporterFactory::class)
×
NEW
60
        ->args([
×
NEW
61
            tagged_iterator('open_telemetry.traces.exporter_factory'),
×
NEW
62
        ])
×
63

NEW
64
        ->set('open_telemetry.traces.exporter_interface', SpanExporterInterface::class)
×
NEW
65
            ->factory([service('open_telemetry.traces.exporter_factory'), 'createExporter'])
×
66

NEW
67
        // Processors
×
NEW
68
        ->set('open_telemetry.traces.processor_factory.abstract', AbstractSpanProcessorFactory::class)
×
NEW
69
            ->abstract()
×
NEW
70
            ->args([
×
NEW
71
                service('logger')->ignoreOnInvalid(),
×
NEW
72
            ])
×
NEW
73
            ->tag('monolog.logger', ['channel' => 'open_telemetry'])
×
74

NEW
75
        ->set('open_telemetry.traces.processor_factory.multi', MultiSpanProcessorFactory::class)
×
NEW
76
            ->parent('open_telemetry.traces.processor_factory.abstract')
×
77

NEW
78
        ->set('open_telemetry.traces.processor_factory.noop', NoopSpanProcessorFactory::class)
×
NEW
79
            ->parent('open_telemetry.traces.processor_factory.abstract')
×
80

NEW
81
        ->set('open_telemetry.traces.processor_factory.simple', SimpleSpanProcessorFactory::class)
×
NEW
82
            ->parent('open_telemetry.traces.processor_factory.abstract')
×
83

NEW
84
        ->set('open_telemetry.traces.processor_interface', SpanProcessorInterface::class)
×
85

NEW
86
        // Providers
×
NEW
87
        ->set('open_telemetry.traces.provider_factory.abstract', AbstractTracerProviderFactory::class)
×
NEW
88
            ->abstract()
×
NEW
89
            ->args([
×
NEW
90
                service('logger')->ignoreOnInvalid(),
×
NEW
91
            ])
×
NEW
92
            ->tag('monolog.logger', ['channel' => 'open_telemetry'])
×
93

NEW
94
        ->set('open_telemetry.traces.provider_factory.noop', NoopTracerProviderFactory::class)
×
NEW
95
            ->parent('open_telemetry.traces.provider_factory.abstract')
×
96

NEW
97
        ->set('open_telemetry.traces.provider_factory.default', DefaultTracerProviderFactory::class)
×
NEW
98
            ->parent('open_telemetry.traces.provider_factory.abstract')
×
99

NEW
100
        ->set('open_telemetry.traces.provider_interface', TracerProviderInterface::class)
×
101

NEW
102
        // Tracer
×
NEW
103
        ->set('open_telemetry.traces.tracer', TracerInterface::class)
×
NEW
104
    ;
×
NEW
105
};
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc