> ## 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 |
| OpenJDK | 21 |
| OpenJDK | 25 |
| Azul Zulu | 8 |
| Azul Zulu | 11 |
| Azul Zulu | 17 |
| Azul Zulu | 21 |
| Azul Zulu | 25 |

## Instrumentation Libraries

The following packages will be auto instrumented by Odigos:

### HTTP Frameworks

* [`Akka HTTP`](https://doc.akka.io/docs/akka-http/current/) versions `10.0.15 - 10.5.3`. HTTP server and client toolkit for Akka
* [`Grizzly HTTP Server`](https://javaee.github.io/grizzly/) versions `2.3.35 - 4.0.2`. NIO HTTP server framework
* [`http4s Blaze`](https://http4s.org/) version `0.23.18`. HTTP server and client for Scala (Blaze backend)
* [`http4s Ember`](https://http4s.org/) version `0.23.36`. HTTP server and client for Scala (Ember backend)
* [`Jetty (via Dropwizard)`](https://jetty.org/) versions `4.0.14 - 5.0.2`. HTTP server via Dropwizard
* [`Netty HTTP`](https://netty.io/) versions `4.1.121.Final - 4.2.17.Final`. asynchronous event-driven network framework
* [`Spring Boot`](https://spring.io/projects/spring-boot) versions `2.5.15 - 4.1.1`. server side applications framework
* [`Spring Async Server`](https://docs.spring.io/spring-framework/reference/web/webmvc-concurrency.html) versions `3.2.12 - 4.1.1`. asynchronous Spring MVC server support

### HTTP Clients

* [`Apache HttpClient 4`](https://hc.apache.org/httpcomponents-client-4.5.x/) versions `4.0.3 - 4.5.14`. HTTP client library
* [`Apache HttpClient 5`](https://hc.apache.org/httpcomponents-client-5.5.x/) versions `5.0.4 - 5.6.4`. HTTP client library
* [`AsyncHttpClient`](https://github.com/AsyncHttpClient/async-http-client) versions `2.1.2 - 3.0.13`. asynchronous HTTP client
* [`OkHttp`](https://square.github.io/okhttp/) versions `3.4.2 - 4.12.0`. HTTP client for Java and Kotlin
* [`Reactor Netty HTTP Client`](https://projectreactor.io/docs/netty/release/reference/index.html) versions `1.0.48 - 1.3.7`. reactive HTTP client
* [`Retrofit 2`](https://square.github.io/retrofit/) versions `2.0.2 - 3.0.0`. type-safe HTTP client for Android and Java
* [`Spring REST Client`](https://docs.spring.io/spring-framework/reference/integration/rest-clients.html) versions `2.5.15 - 3.5.16`. rest client library for Spring

### RPC (Remote Procedure Call)

* [`gRPC`](https://grpc.io/docs/languages/java/) versions `1.6.1 - 1.83.1`. RPC client and server for gRPC
* [`GraphQL Java`](https://www.graphql-java.com/) versions `24.3 - 26.1`. GraphQL server implementation for Java

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

* [`Apache Derby`](https://db.apache.org/derby/) versions `10.14.2.0 - 10.16.1.1`. embedded relational database
* [`Azure Cosmos DB Java SDK`](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/cosmos/azure-cosmos) versions `4.0.1 - 4.82.0`. database client library for Azure Cosmos DB
* [`Cassandra (DataStax Driver)`](https://docs.datastax.com/en/developer/java-driver/) versions `4.0.1 - 4.17.0`. database client library for Apache Cassandra
* [`Cassandra (Driver 3.x)`](https://docs.datastax.com/en/developer/java-driver/3.11/) versions `3.0.8 - 3.11.5`. legacy DataStax Cassandra driver
* [`Elasticsearch (REST Client)`](https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/index.html) versions `8.9.2 - 8.19.20`. Elasticsearch low-level REST client
* [`H2 Database`](https://www.h2database.com/) versions `2.0.206 - 2.4.240`. embedded relational database
* [`Hibernate ORM`](https://hibernate.org/orm/) versions `3.0.13 - 4.1.1`. object-relational mapping framework (via Spring Data JPA)
* [`HikariCP`](https://github.com/brettwooldridge/HikariCP) versions `3.0.0 - 7.1.0`. JDBC connection pool
* [`HSQLDB`](https://hsqldb.org/) versions `2.0.0 - 2.7.4`. embedded relational database
* [`IBM Informix JDBC`](https://www.ibm.com/docs/en/informix-servers) versions `4.50.14 - 15.0.1.4`. JDBC driver for IBM Informix
* [`MariaDB JDBC`](https://mariadb.com/kb/en/about-mariadb-connector-j/) versions `3.0.11 - 3.5.10`. JDBC driver for MariaDB
* [`MongoDB (Sync Driver)`](https://www.mongodb.com/docs/drivers/java/sync/current/) versions `5.4.0 - 5.11.0`. synchronous MongoDB driver
* [`MySQL JDBC`](https://dev.mysql.com/doc/connector-j/en/) versions `8.0.33 - 26.7.0`. JDBC driver for MySQL
* [`Oracle JDBC`](https://www.oracle.com/database/technologies/appdev/jdbc.html) versions `19.3.0.0 - 23.26.3.0.0`. JDBC driver for Oracle Database
* [`PostgreSQL JDBC`](https://jdbc.postgresql.org/) versions `42.2.29 - 42.7.13`. JDBC driver for PostgreSQL
* [`R2DBC H2`](https://github.com/r2dbc/r2dbc-h2) versions `1.0.1.RELEASE - 1.1.0.RELEASE`. reactive H2 driver
* [`R2DBC MySQL`](https://github.com/asyncer-io/r2dbc-mysql) version `1.4.3`. reactive MySQL driver
* [`R2DBC PostgreSQL`](https://github.com/pgjdbc/r2dbc-postgresql) versions `1.0.9.RELEASE - 1.1.2.RELEASE`. reactive PostgreSQL driver
* [`Redis (Jedis)`](https://github.com/redis/jedis) versions `2.7.3 - 8.0.1`. Redis client for Java
* [`Redis (Lettuce)`](https://github.com/redis/lettuce) versions `5.1.8.RELEASE`, `6.4.2.RELEASE - 7.2.3.RELEASE`. advanced Redis client for Java
* [`SQLite JDBC`](https://github.com/xerial/sqlite-jdbc) versions `3.30.1 - 3.53.4.0`. JDBC driver for SQLite
* [`Spymemcached`](https://github.com/couchbase/spymemcached) versions `2.9.1 - 2.12.3`. Memcached client for Java
* [`Sybase JDBC (jTDS)`](https://sourceforge.net/projects/jtds/) versions `1.2.8 - 1.3.1`. JDBC driver for Sybase / SQL Server
* [`WildFly JDBC`](https://www.wildfly.org/) versions `26.0.1.Final - 41.0.1.Final`. JDBC instrumentation for WildFly (dynamic attach and premain)

### Messaging Systems Clients

* [`ActiveMQ Artemis`](https://activemq.apache.org/components/artemis/) versions `2.30.0 - 2.43.0`. messaging client for ActiveMQ Artemis
* [`ActiveMQ V5`](https://activemq.apache.org/) versions `5.17.7 - 5.19.1`. messaging client for ActiveMQ 5.x
* [`ActiveMQ V6`](https://activemq.apache.org/) versions `6.0.1 - 6.1.8`. messaging client for ActiveMQ 6.x
* [`Apache Kafka`](https://kafka.apache.org/) versions `2.5.1 - 4.3.1`. messaging client for Apache Kafka. Includes both producer and consumer clients
* [`Apache Pulsar`](https://pulsar.apache.org/) versions `3.0.17 - 4.2.4`. messaging client for Apache Pulsar
* [`Google Cloud Pub/Sub`](https://cloud.google.com/pubsub/docs/reference/libraries) versions `1.116.4 - 1.154.0`. messaging client for Google Cloud Pub/Sub
* [`RabbitMQ`](https://www.rabbitmq.com/client-libraries/java-api-guide) versions `2.7.1 - 5.35.0`. messaging client for RabbitMQ
* [`Spring Integration`](https://spring.io/projects/spring-integration) versions `3.0.13 - 4.1.1`. enterprise integration patterns for Spring

### Scheduling and Batch

* [`Quartz Scheduler`](https://www.quartz-scheduler.org/) versions `2.0.2 - 2.5.2`. job scheduling library
* [`Spring Batch`](https://spring.io/projects/spring-batch) versions `3.0.13 - 3.5.16`. batch processing framework
* [`Spring Scheduling`](https://docs.spring.io/spring-framework/reference/integration/scheduling.html) versions `2.7.18 - 4.1.1`. Spring task scheduling support

### Concurrency Libraries

* [`Reactor Core`](https://projectreactor.io/) versions `3.3.22.RELEASE - 3.8.7`. reactive streams library
* [`Reactor Netty`](https://projectreactor.io/docs/netty/release/reference/index.html) versions `1.0.48 - 1.3.7`. reactive network application framework
* [`Resilience4j`](https://resilience4j.readme.io/) versions `2.0.2 - 2.4.0`. fault tolerance library (CircuitBreaker and Retry)
* [`RxJava`](https://github.com/ReactiveX/RxJava) versions `3.0.13 - 3.1.12`. 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

### Other

* [`Apache Karaf OSGi`](https://karaf.apache.org/) versions `4.4.10 - 4.4.11`. OSGi runtime (dynamic attach)
* [`Context Propagation`](https://docs.spring.io/spring-framework/reference/integration/observability.html) versions `3.2.12 - 4.1.1`. distributed context propagation for Spring applications


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.