An open API service indexing awesome lists of open source software.

https://github.com/alexandrelamarre/otelcol-bpf

Open telemetry collector that integrates eBPF scripts for observability
https://github.com/alexandrelamarre/otelcol-bpf

ebpf observability opentelemetry-collector

Last synced: 2 months ago
JSON representation

Open telemetry collector that integrates eBPF scripts for observability

Awesome Lists containing this project

README

        

# otelcol-bpf

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/alexandreLamarre/otelcol-bpf/ci.yaml)
![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/alexandreLamarre/otelcol-bpf)
![GitHub License](https://img.shields.io/github/license/alexandreLamarre/otelcol-bpf)
![OpenTelemetry Collector version](https://img.shields.io/badge/collector-0.119.0-blue)

An open telemetry collector distribution that focuses on ebpf scripts to gather observability data.

## Extensions

### BPF Logger

| Status | |
| ------------- |-----------|
| Stability | [alpha] |
| Distributions | [bpf] |

[alpha]: https://github.com/open-telemetry/opentelemetry-collector#alpha

This extension enables logging `bpf_printk` directly into the OpenTelemetry Collector's logging.

The default eBPF trace pipe path is `/sys/kernel/debug/tracing/trace_pipe"`, and can be enabled via :
```bash
sudo mount -t debugfs debugfs /sys/kernel/debug
```

the trace pipe path can be overriden via the config:

```yaml
extensions:
bpf_logger:
bpf_trace_pipe : /foo/pipe
```

## Receivers

### PPROF receiver

Collects pprof profiles from remote pprof endpoints.

| Status | |
| ------------- |-----------|
| Stability | [alpha]: logs |
| Distributions | [bpf] |
| License | Apache 2 |

```yaml
receivers:
pprofreceiver:
endpoints:
- endpoint: "http://localhost:6060"
targets:
profile:
block:
mutex:
goroutine:
heap:
threadcreate:
allocs:
service:
pipelines:
logs:
receivers: [pprofreceiver]
processors: [batch]
exporters: [debug]
```

### BPFStack

Collects CPU profiles from running processes.

| Status | |
| ------------- |-----------|
| Stability | [alpha]: traces, logs |
| Distributions | [bpf] |
| License | AGPL v3 |

```yaml
receivers:
bpfstack:
service:
pipelines:
traces:
receivers: [bpfstack]
processors: [batch]
exporters: [otlp/debug]
```