Problem/Motivation
After drush pm:enable opentelemetry
:
[warning] Fallback OpenTelemetry endpoint http://localhost:4318 is not available. Please set the custom endpoint in the module settings. Parent exception: Export failure: Export retry limit exceeded in line 97 of /app/vendor/open-telemetry/sdk/Common/Export/Http/PsrTransport.php (previous exception message: cURL error 7: Failed to connect to localhost port 4318: Connection refused (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for http://localhost:4318/v1/traces). <pre>#0 /app/vendor/open-telemetry/exporter-otlp/SpanExporter.php(38): OpenTelemetry\SDK\Common\Export\Http\PsrTransport->send('\n\xB7\t\n\xB1\x06\n\e\n\thost....', NULL)
> #1 /app/vendor/open-telemetry/sdk/Trace/SpanProcessor/BatchSpanProcessor.php(247): OpenTelemetry\Contrib\Otlp\SpanExporter->export(Array)
> #2 /app/vendor/open-telemetry/sdk/Trace/SpanProcessor/BatchSpanProcessor.php(179): OpenTelemetry\SDK\Trace\SpanProcessor\BatchSpanProcessor->flush('forceFlush', NULL)
> #3 /app/vendor/open-telemetry/sdk/Trace/TracerProvider.php(57): OpenTelemetry\SDK\Trace\SpanProcessor\BatchSpanProcessor->forceFlush(NULL)
> #4 /app/web/modules/contrib/opentelemetry/src/OpentelemetryService.php(375): OpenTelemetry\SDK\Trace\TracerProvider->forceFlush()
> #5 /app/web/modules/contrib/opentelemetry/src/OpentelemetryService.php(362): Drupal\opentelemetry\OpentelemetryService->finalize()
> #6 /app/web/modules/contrib/tracer/src/EventDispatcher/TraceableEventDispatcher.php(97): Drupal\opentelemetry\OpentelemetryService->onTerminate(Object(Symfony\Component\HttpKernel\Event\TerminateEvent), 'kernel.terminat...', Object(Drupal\tracer\EventDispatcher\TraceableEventDispatcher))
> #7 /app/vendor/symfony/http-kernel/HttpKernel.php(115): Drupal\tracer\EventDispatcher\TraceableEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\TerminateEvent), 'kernel.terminat...')
> #8 /app/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(66): Symfony\Component\HttpKernel\HttpKernel->terminate(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Render\HtmlResponse))
> #9 /app/web/core/lib/Drupal/Core/DrupalKernel.php(715): Drupal\Core\StackMiddleware\StackedHttpKernel->terminate(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Render\HtmlResponse))
> #10 /app/vendor/drush/drush/src/Boot/DrupalBoot8.php(308): Drupal\Core\DrupalKernel->terminate(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Render\HtmlResponse))
> #11 [internal function]: Drush\Boot\DrupalBoot8->terminate()
> #12 {main}</pre>
[success] Successfully enabled: opentelemetry
Also, if I visit /admin/config/development/opentelemetry
:
The website encountered an unexpected error. Try again later.
Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\ServiceCircularReferenceException: Circular reference detected for service "Drupal\opentelemetry\EventSubscriber\DatabaseStatementTraceEventSubscriber", path: "Drupal\opentelemetry\EventSubscriber\DatabaseStatementTraceEventSubscriber -> opentelemetry -> opentelemetry.tracer_provider -> opentelemetry.span_processor -> opentelemetry.span.exporter -> opentelemetry.span.exporter.factory -> opentelemetry.traces.transport.factory -> opentelemetry.transport.factory.provider". in /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php:149 Stack trace: #0 /app/web/modules/contrib/tracer/src/EventDispatcher/TraceableEventDispatcher.php(88): Drupal\Component\DependencyInjection\Container->get('Drupal\\opentele...') #1 /app/web/core/lib/Drupal/Core/Database/Connection.php(2150): Drupal\tracer\EventDispatcher\TraceableEventDispatcher->dispatch(Object(Drupal\Core\Database\Event\StatementExecutionStartEvent), NULL) #2 /app/web/core/lib/Drupal/Core/Database/StatementWrapperIterator.php(109): Drupal\Core\Database\Connection->dispatchEvent(Object(Drupal\Core\Database\Event\StatementExecutionStartEvent)) #3 /app/web/core/lib/Drupal/Core/Database/Connection.php(851): Drupal\Core\Database\StatementWrapperIterator->execute(Array, Array) #4 /app/web/core/lib/Drupal/Core/Database/Schema.php(178): Drupal\Core\Database\Connection->query('SELECT 1 FROM i...', Array) #5 /app/web/core/lib/Drupal/Core/Config/DatabaseStorage.php(121): Drupal\Core\Database\Schema->tableExists('config') #6 /app/web/core/lib/Drupal/Core/Config/CachedStorage.php(95): Drupal\Core\Config\DatabaseStorage->readMultiple(Array) #7 /app/web/core/lib/Drupal/Core/Config/ConfigFactory.php(165): Drupal\Core\Config\CachedStorage->readMultiple(Array) #8 /app/web/core/lib/Drupal/Core/Config/ConfigFactory.php(104): Drupal\Core\Config\ConfigFactory->doLoadMultiple(Array, true) #9 /app/web/core/lib/Drupal/Core/Config/ConfigFactory.php(89): Drupal\Core\Config\ConfigFactory->doGet('opentelemetry.s...') #10 /app/web/modules/contrib/webprofiler/src/Config/ConfigFactoryWrapper.php(26): Drupal\Core\Config\ConfigFactory->get('opentelemetry.s...') #11 /app/web/modules/contrib/opentelemetry/src/OpentelemetryTransportFactoryProvider.php(104): Drupal\webprofiler\Config\ConfigFactoryWrapper->get('opentelemetry.s...') #12 /app/web/modules/contrib/opentelemetry/src/OpentelemetryTransportFactoryProvider.php(75): Drupal\opentelemetry\OpentelemetryTransportFactoryProvider->applyConfiguration() #13 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(261): Drupal\opentelemetry\OpentelemetryTransportFactoryProvider->__construct(Object(Drupal\webprofiler\Config\ConfigFactoryWrapper), Object(Drupal\Core\Messenger\Messenger)) #14 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(179): Drupal\Component\DependencyInjection\Container->createService(Array, 'opentelemetry.t...') #15 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(438): Drupal\Component\DependencyInjection\Container->get('opentelemetry.t...', 1) #16 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(251): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #17 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(179): Drupal\Component\DependencyInjection\Container->createService(Array, 'opentelemetry.t...') #18 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(438): Drupal\Component\DependencyInjection\Container->get('opentelemetry.t...', 1) #19 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(239): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #20 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(179): Drupal\Component\DependencyInjection\Container->createService(Array, 'opentelemetry.s...') #21 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(438): Drupal\Component\DependencyInjection\Container->get('opentelemetry.s...', 1) #22 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(251): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #23 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(179): Drupal\Component\DependencyInjection\Container->createService(Array, 'opentelemetry.s...') #24 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(438): Drupal\Component\DependencyInjection\Container->get('opentelemetry.s...', 1) #25 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(239): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #26 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(179): Drupal\Component\DependencyInjection\Container->createService(Array, 'opentelemetry.s...') #27 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(438): Drupal\Component\DependencyInjection\Container->get('opentelemetry.s...', 1) #28 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(479): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #29 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(239): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #30 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(179): Drupal\Component\DependencyInjection\Container->createService(Array, 'opentelemetry.t...') #31 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(438): Drupal\Component\DependencyInjection\Container->get('opentelemetry.t...', 1) #32 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(239): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #33 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(179): Drupal\Component\DependencyInjection\Container->createService(Array, 'opentelemetry') #34 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(438): Drupal\Component\DependencyInjection\Container->get('opentelemetry', 1) #35 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(239): Drupal\Component\DependencyInjection\Container->resolveServicesAndParameters(Array) #36 /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php(179): Drupal\Component\DependencyInjection\Container->createService(Array, 'Drupal\\opentele...') #37 /app/web/modules/contrib/tracer/src/EventDispatcher/TraceableEventDispatcher.php(88): Drupal\Component\DependencyInjection\Container->get('Drupal\\opentele...') #38 /app/web/core/lib/Drupal/Core/Database/Connection.php(2150): Drupal\tracer\EventDispatcher\TraceableEventDispatcher->dispatch(Object(Drupal\Core\Database\Event\StatementExecutionStartEvent), NULL) #39 /app/web/core/lib/Drupal/Core/Database/StatementWrapperIterator.php(109): Drupal\Core\Database\Connection->dispatchEvent(Object(Drupal\Core\Database\Event\StatementExecutionStartEvent)) #40 /app/web/core/lib/Drupal/Core/Database/Connection.php(851): Drupal\Core\Database\StatementWrapperIterator->execute(Array, Array) #41 /app/web/core/lib/Drupal/Core/Database/Query/Select.php(524): Drupal\Core\Database\Connection->query('SELECT 1 AS "ex...', Array, Array) #42 /app/web/core/lib/Drupal/Core/Database/Query/Merge.php(379): Drupal\Core\Database\Query\Select->execute() #43 /app/web/core/lib/Drupal/Core/Session/SessionHandler.php(95): Drupal\Core\Database\Query\Merge->execute() #44 /app/web/core/lib/Drupal/Core/Session/SessionHandler.php(97): Drupal\Core\Session\SessionHandler->Drupal\Core\Session\{closure}() #45 /app/web/core/lib/Drupal/Core/Session/WriteSafeSessionHandler.php(95): Drupal\Core\Session\SessionHandler->write(Object(SensitiveParameterValue), '_sf2_attributes...') #46 /app/vendor/symfony/http-foundation/Session/Storage/Proxy/SessionHandlerProxy.php(54): Drupal\Core\Session\WriteSafeSessionHandler->write('vq6clh8AjpAnRz1...', '_sf2_attributes...') #47 [internal function]: Symfony\Component\HttpFoundation\Session\Storage\Proxy\SessionHandlerProxy->write(Object(SensitiveParameterValue), '_sf2_attributes...') #48 [internal function]: session_write_close() #49 {main} thrown in /app/web/core/lib/Drupal/Component/DependencyInjection/Container.php on line 149
Running PHP 8.3.14, Drupal 10.4.1, module_opentelemetry 1.1.0