> ## Documentation Index
> Fetch the complete documentation index at: https://docs.odigos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# eBPF-Based Instrumentation

## Supported Versions

Odigos eBPF-Based Java Instrumentation requires a Java Virtual Machine runtime version of **8** through **25**.

<Note>
  Odigos eBPF-based data collection requires, at minimum, platforms that have underlying Linux kernel versions of 5.4.0.

  The required Linux capabilities depend on your kernel version:

  * **Kernel 5.4 – 5.7**: requires `CAP_SYS_ADMIN`.
  * **Kernel 5.8 and later**: requires `CAP_BPF` and `CAP_SYS_PTRACE`.

  We recommend running on kernel 5.8 or later when possible, as the more granular capabilities (`CAP_BPF` and `CAP_SYS_PTRACE`) follow the principle of least privilege compared to `CAP_SYS_ADMIN`.
</Note>

The following JVM runtimes are continuously tested and verified:

| JVM Runtime | Version |
| ----------- | ------- |
| OpenJDK     | 8       |
| OpenJDK     | 11      |
| OpenJDK     | 17      |
| Azul Zulu   | 8       |
| Azul Zulu   | 11      |
| Azul Zulu   | 17      |

## Instrumentation Libraries

The following packages will be auto instrumented by Odigos:

### HTTP Frameworks

* [`Spring Boot`](https://spring.io/projects/spring-boot) versions `2.x.x` and `3.x.x`. server side applications framework

### HTTP Clients

* [`Spring REST Client`](https://docs.spring.io/spring-framework/reference/integration/rest-clients.html) same versions as Spring Boot. rest client library for Spring

### Database Clients, ORMs, and data access libraries

* [`Azure Cosmos DB Java SDK`](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/cosmos/azure-cosmos) versions `4.x.x` and above. database client library for Azure Cosmos DB

### Messaging Systems Clients

* [`Kafka Client for Java`](https://kafka.apache.org/) versions `3.x.x` and above. messaging client for Apache Kafka. Includes both producer and consumer clients.

### Concurrency Libraries

* [`RxJava`](https://github.com/ReactiveX/RxJava) versions `3.x.x` and above. library for composing asynchronous and event-based programs using observable sequences
* [`ExecutorService`](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ExecutorService.html) any supported JVM. executor service for managing asynchronous tasks
