- Issue created by @sudhanjs
- 🇦🇲Armenia murz Yerevan, Armenia
Seems this is because your composer is configured to restrict unstable versions (like alpha), try to do this:
composer config minimum-stability dev composer config prefer-stable true
and repeat the installation, hope it should help.
Hi Murz, Thanks for the quick response, We have tried with the commands provided and still the same error persist.
Root composer.json requires drupal/opentelemetry 1.0@alpha, found drupal/opentelemetry[dev-1.0.x, 1.0.0-alpha1,
..., 1.0.x-dev (alias of dev-1.0.x)] but it does not match the constraint.Currently im trying to use the module in version DRUPAL 9.5.10 and PHP 8.1
Is there any other constrains that restrict or block the module from download ?
Also please let me know after installing the module where the data that are tracked by opentelemetry will be getting saved. Will it be inside our Drupal site DB or telemetry backend services like Jaeger, Zipkin, Prometheus, etc.
- Status changed to Postponed: needs info
over 1 year ago 5:07am 2 August 2023 - 🇦🇲Armenia murz Yerevan, Armenia
I've tested on DRUPAL 9.5.10 and PHP 8.1 and for me it installs well, here are the commands:
$ composer create-project drupal/recommended-project:9.5.10 my_site_name_dir $ cd my_site_name_dir/ $ composer config minimum-stability dev $ composer config prefer-stable true $ composer require 'drupal/opentelemetry:^1.0@alpha'
So seems there is a problem on your setup.
Also please let me know after installing the module where the data that are tracked by opentelemetry will be getting saved. Will it be inside our Drupal site DB or telemetry backend services like Jaeger, Zipkin, Prometheus, etc.
You have to have an OpenTelemetry collector instance to get the telemetry traces, like Grafana Tempo, Jaeger Zipkin.
You can try to use ddev project with my Grafana extension: https://github.com/MurzNN/ddev-grafana - see "Local configuration quick start" chapter here https://git.drupalcode.org/project/opentelemetry/-/blob/1.0.x/README.md
Hi @Murz,
While enabling the module i am facing the below error, Any solution for resolving it?
Uncaught PHP Exception Error: "Class "OpenTelemetry\\API\\Common\\Log\\LoggerHolder" not found" at /opt/drupal/web/modules/contrib/opentelemetry/src/OpentelemetryTracerService.php line 122.
- 🇦🇲Armenia murz Yerevan, Armenia
@sudhanjs Seems that the opentelemetry base package is not installed.
Please check that the https://packagist.org/packages/open-telemetry/api package is installed in your project.
It should be installed automatically withcomposer require 'drupal/opentelemetry:^1.0@alpha'
If not, try to install it (and others) manually:composer require google/protobuf open-telemetry/sdk open-telemetry/exporter-otlp open-telemetry/opentelemetry-propagation-traceresponse
Hi @Murz
While installing i can able to witness that the following packages are getting installed properly:
- Installing php-http/discovery (1.19.1): Extracting archive
- Installing symfony/polyfill-php82 (v1.28.0): Extracting archive
- Installing open-telemetry/sem-conv (1.0.0beta4): Extracting archive
- Installing open-telemetry/context (1.0.0beta5): Extracting archive
- Installing open-telemetry/api (1.0.0beta12): Extracting archive
- Installing open-telemetry/sdk (1.0.0beta16): Extracting archive
- Installing open-telemetry/opentelemetry-propagation-traceresponse (0.0.1): Extracting archive
- Installing google/protobuf (v3.24.2): Extracting archive
- Installing open-telemetry/gen-otlp-protobuf (1.0.0beta6): Extracting archive
- Installing open-telemetry/exporter-otlp (1.0.0beta13): Extracting archive
- Installing drupal/opentelemetry (1.0.0-alpha6): Extracting archiveBut when i try to enable the module facing the below issue :
Uncaught PHP Exception Error: "Class "OpenTelemetry\\API\\Common\\Log\\LoggerHolder" not found" at /opt/drupal/web/modules/contrib/opentelemetry/src/OpentelemetryTracerService.php line 122Is there any other check i should do while installing or enabling? or any solution?
Hi @Murz,
I have installed the opentelemetry module and when i try to enable the module with export protocol as grpc i am receiving the error below:
Uncaught PHP Exception RuntimeException: "Transport factory not defined for protocol: grpc" at /opt/drupal/vendor/open-telemetry/sdk/Registry.php line 162, referer: http://localhost:81/admin/config/development/opentelemetry
[Fri Sep 01 09:22:55.014327 2023] [php:notice] [pid 45] [client 172.21.0.1:52326] RuntimeException: Transport factory not defined for protocol: grpc in /opt/drupal/vendor/open-telemetry/sdk/Registry.php on line 162 #0 /opt/drupal/vendor/open-telemetry/exporter-otlp/SpanExporterFactory.php(53): OpenTelemetry\\SDK\\Registry::transportFactory('grpc')\n#1 /opt/drupal/vendor/open-telemetry/exporter-otlp/SpanExporterFactory.php(36): OpenTelemetry\\Contrib\\Otlp\\SpanExporterFactory->buildTransport()\n#2 /opt/drupal/web/modules/contrib/opentelemetry/src/OpenTelemetrySpanExporterFactory.php(67): OpenTelemetry\\Contrib\\Otlp\\SpanExporterFactory->create()\n#3 [internal function]: Drupal\\opentelemetry\\OpenTelemetrySpanExporterFactory->create()\n#4 /opt/drupal/web/core/lib/Drupal/Component/DependencyInjection/Container.php(255): call_user_func_array(Array, Array)\n#5 /opt/drupal/web/core/lib/Drupal/Component/DependencyInjection/Container.php(177): Drupal\\Component\\DependencyInjection\\Container->createService(Array, 'OpenTelemetry\\\\C...')\n#6 /opt/drupal/web/core/lib/Drupal/Component/DependencyInjection/Container.php(440): Drupal\\Component\\DependencyInjection\\Container->get('OpenTelemetry\\\\C...', 1)\n#7 /opt/drupal/web/core/lib/Drupal/Component/DependencyInjection/Container.php(237):Any solution or fix for this issue?
- 🇦🇲Armenia murz Yerevan, Armenia
For GRPC you should have the "ext-grpc" PHP extension enabled, and install the transport via:
composer require open-telemetry/transport-grpc
It should resolve the issue.
If this is not possible, try to use the HTTP endpoint.
I will provide a separate submodule to handle this dependency in next versions.
- 🇦🇲Armenia murz Yerevan, Armenia
I found out the source of the error: "Class "OpenTelemetry\\API\\Common\\Log\\LoggerHolder" not found" - it's because opentelemetry-php in the 1.0.0beta10 release made a breaking change. More details and the fix are in the issue 📌 Upgrade opentelemetry-php dependencies to 1.0.0RC1 Fixed .
- Status changed to Closed: duplicate
about 1 year ago 5:55am 10 October 2023