You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I searched existing issues and didn't find a duplicate
Component(s)
Rust OTAP dataflow (rust/otap-dataflow/)
Is your feature request related to a problem?
Summary
Add a receiver for application telemetry emitted through Linux user_events tracepoints.
This receiver targets telemetry emitted by applications through Linux user_events tracepoints. It is not intended for generic kernel/host event collection or Linux perf/profile ingestion.
Motivation
For applications running on the same Linux host as the collector, user_events provides a native tracepoint-based event path through the Linux tracing/perf stack. Events can be consumed from kernel-managed per-CPU ring buffers via perf_event_open, avoiding the local TCP/UDP/HTTP/gRPC stack. This offers lower-overhead, lower-latency same-host ingestion with bounded in-kernel buffering, but not durable persistence.
This proposal is to add this as part of contrib-nodes crate under feature flag.
Data flow:
flowchart TB
A[Application A threads]
B[Application B threads]
C[Application C threads]
U[Linux user_events tracepoint writes]
A --> U
B --> U
C --> U
R0[CPU 0 perf ring buffer]
R1[CPU 1 perf ring buffer]
R2[CPU 2 perf ring buffer]
RN[CPU N perf ring buffer]
U --> R0
U --> R1
U --> R2
U --> RN
P0[df-engine pipeline 0<br/>pinned to CPU 0<br/>Receiver → Processors → Exporters]
P1[df-engine pipeline 1<br/>pinned to CPU 1<br/>Receiver → Processors → Exporters]
P2[df-engine pipeline 2<br/>pinned to CPU 2<br/>Receiver → Processors → Exporters]
PN[df-engine pipeline N<br/>pinned to CPU N<br/>Receiver → Processors → Exporters]
R0 --> P0
R1 --> P1
R2 --> P2
RN --> PN
Pre-filing checklist
Component(s)
Rust OTAP dataflow (rust/otap-dataflow/)
Is your feature request related to a problem?
Summary
Add a receiver for application telemetry emitted through Linux
user_eventstracepoints.This receiver targets telemetry emitted by applications through Linux
user_eventstracepoints. It is not intended for generic kernel/host event collection or Linux perf/profile ingestion.Motivation
For applications running on the same Linux host as the collector,
user_eventsprovides a nativetracepoint-based event path through the Linux tracing/perf stack. Events can be consumed from kernel-managed per-CPU ring buffers via perf_event_open, avoiding the local TCP/UDP/HTTP/gRPC stack. This offers lower-overhead, lower-latency same-host ingestion with bounded in-kernel buffering, but not durable persistence.Producer compatibility anchor:
opentelemetry-user-events-logsopentelemetry-user_events-exporterOpenTelemetry.Exporter.GenevaRelated decoding surface:
tracepoint_decodeThis proposal is to add this as part of
contrib-nodescrate under feature flag.Data flow:
flowchart TB A[Application A threads] B[Application B threads] C[Application C threads] U[Linux user_events tracepoint writes] A --> U B --> U C --> U R0[CPU 0 perf ring buffer] R1[CPU 1 perf ring buffer] R2[CPU 2 perf ring buffer] RN[CPU N perf ring buffer] U --> R0 U --> R1 U --> R2 U --> RN P0[df-engine pipeline 0<br/>pinned to CPU 0<br/>Receiver → Processors → Exporters] P1[df-engine pipeline 1<br/>pinned to CPU 1<br/>Receiver → Processors → Exporters] P2[df-engine pipeline 2<br/>pinned to CPU 2<br/>Receiver → Processors → Exporters] PN[df-engine pipeline N<br/>pinned to CPU N<br/>Receiver → Processors → Exporters] R0 --> P0 R1 --> P1 R2 --> P2 RN --> PNProposed Solution
Alternatives Considered
Additional Context