> ## 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 NodeJS Instrumentation requires a NodeJS runtime version of **14** 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>

## Instrumentation Libraries

The following npm packages will be auto instrumented by Odigos:

### HTTP Frameworks

* [`fastify`](https://www.npmjs.com/package/fastify) versions `>=3.0.0 <5`. http web application framework
* [`http`](https://nodejs.org/api/http.html) `node:http` http server and client modules
* [`https`](https://nodejs.org/api/https.html) `node:https` https server and client modules
* [`@hapi/hapi`](https://www.npmjs.com/package/@hapi/hapi) versions `>=17.0.0 <22`. http web application framework
* [`restify`](https://www.npmjs.com/package/restify) versions `>=4.0.0 <12`. http web application framework
* [`router`](https://www.npmjs.com/package/router) versions `>=1.0.0 <2`. http middleware router

### HTTP Clients

* [`http`](https://nodejs.org/api/http.html) `node:http` http server and client modules
* [`https`](https://nodejs.org/api/https.html) `node:https` https server and client modules

### RPC (Remote Procedure Call)

* [`@grpc/grpc-js`](https://www.npmjs.com/package/@grpc/grpc-js) versions `>=1.0.0 <2`. rpc client and server for gRPC framework
