Skip to content

Commit

Permalink
Added supported technologies docs, updated limitations (#148) (#164)
Browse files Browse the repository at this point in the history
  • Loading branch information
intuibase authored Feb 10, 2025
1 parent 700f460 commit 8d6fcc3
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 9 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
7 changes: 3 additions & 4 deletions docs/get-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -98,9 +99,7 @@ export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer P....l"

### Run EDOT PHP

<!-- Do you have to do something after configuring it to make it run? -->

<!-- Anything else? -->
: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.

<!-- ✅ What success looks like -->
## Confirm that EDOT PHP is working
Expand Down
18 changes: 13 additions & 5 deletions docs/limitations.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
<!--
Goal of this doc:
The user is aware of EDOT PHP limitations
-->

# 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
Expand All @@ -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.
34 changes: 34 additions & 0 deletions docs/supported-technologies.md
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 8d6fcc3

Please sign in to comment.