diff --git a/README.md b/README.md index 54d4078..6cefd3f 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ Feel free to delete or edit these items or add new items to this list. ## Read the docs * [Get started](./docs/get-started.md) +* [Supported technologies](./docs/supported-technologies.md) * [Configuration](./docs/configure.md) * [Limitations](./docs/limitations.md) * [Troubleshooting](./docs/troubleshooting.md) \ No newline at end of file diff --git a/docs/get-started.md b/docs/get-started.md index a4d4075..dfb513c 100644 --- a/docs/get-started.md +++ b/docs/get-started.md @@ -40,7 +40,8 @@ Currently only Linux operating system is supported. #### PHP -Supported PHP versions are 8.0-8.3. +Supported PHP versions are 8.1-8.4. +You can find more details in [supported technologies](supported-technologies.md) doc. ### Other limitations See [limitations](./docs/get-limitations.md) about other limitations of EDOT PHP. @@ -98,9 +99,7 @@ export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer P....l" ### Run EDOT PHP - - - +:warning: After completing the configuration, you should restart the PHP process. If you are using PHP as an Apache Webserver module or PHP-FPM, you need to perform a **full** process restart to ensure that the extension with the agent is loaded correctly. ## Confirm that EDOT PHP is working diff --git a/docs/limitations.md b/docs/limitations.md index c77dc1c..e7dcda0 100644 --- a/docs/limitations.md +++ b/docs/limitations.md @@ -1,13 +1,16 @@ - - # Limitations This section describes potential limitations of Elastic Distribution of OpenTelemetry PHP (EDOT PHP) and how you can work around them. +## OpenTelemetry extension and SDK Loaded in parallel with EDOT PHP + +Currently, the Elastic Distribution of OpenTelemetry PHP (EDOT PHP) does not support scenarios where both EDOT and a vanilla OpenTelemetry PHP setup are installed in the application. This includes the `opentelemetry.so` extension and the OpenTelemetry PHP SDK. + +In such cases, a conflict will occur, preventing both solutions from functioning correctly. To resolve this, you should disable the OpenTelemetry components in your application's `composer.json` and update the project accordingly. + +We are actively working on an automated solution to address this issue. + ## `open_basedir` PHP configuration option Please be aware that if the `open_basedir`option @@ -17,3 +20,8 @@ the installation directory of EDOT PHP (by default `/opt/elastic/apm-agent-php`) must be located within a path included in the `open_basedir` option value. Otherwise, EDOT PHP will not be loaded correctly. + + +## `Xdebug` stability and memory issues + +We strongly advise against running the agent alongside the xdebug extension. Using both extensions simultaneously can lead to stability issues in the instrumented application, such as memory leaks. It is highly recommended to disable xdebug, preferably by preventing it from loading in the `php.ini` configuration file. \ No newline at end of file diff --git a/docs/supported-technologies.md b/docs/supported-technologies.md new file mode 100644 index 0000000..6492d2f --- /dev/null +++ b/docs/supported-technologies.md @@ -0,0 +1,34 @@ + + +# The Elastic Distribution of OpenTelemetry PHP supports the following technologies + +## PHP Versions +- PHP 8.1 - 8.4 + +## Supported PHP SAPI's +- php-cli +- php-fpm +- php-cgi/fcgi +- mod_php (prefork) + +## Supported Operating Systems +- **Linux** + - Architectures: **x86_64** and **ARM64** + - **glibc-based systems**: Packages available as **DEB** and **RPM** + - **musl libc-based systems (Alpine Linux)**: Packages available as **APK** + +## Instrumented Frameworks +- Laravel +- Slim + +## Instrumented Libraries +- Curl +- HTTP Async +- MySQLi +- PDO + +## Additional Features +- Automatic Root/Transaction Span +- Root/Transaction Span URL Grouping +- Inferred Spans (preview version) +- Asynchronous data sending