Sign inSign up

lpoclin/upf-agent

By lpoclin

Updated 6 months ago

Hybrid per-slice UPF autoscaling — sidecar telemetry agent with eBPF/XDP dataplane instrumentation

Image
Networking
0

155

lpoclin/upf-agent repository overview

UPF Agent — Sidecar Telemetry Agent for Hybrid Per-Slice UPF Autoscaling

Lightweight sidecar designed to run alongside UPF instances in 5G standalone core deployments on Kubernetes, collecting and exporting dataplane telemetry to feed the hybrid autoscaling controller and Prometheus observability stack. Four concurrent goroutines handle collection and export independently.

Collection subsystems

SubsystemSourceMetrics
TrafficCollectorLinux sysfs /sys/class/net/<iface>/statistics/upf_throughput_mbps, upf_drop_rate_pct
LatencyCollectorActive ICMP probing on N3upf_latency_p95_ms, upf_latency_jitter_ms
EbpfCollectoreBPF/XDP hook UDP/2152 BPF_MAP_TYPE_PERCPU_ARRAYupf_gtpu_pps
DispatcherGauge snapshot every 5s — HTTP POST 2s timeoutControllerPayload {slice, dnn, pod, iface, pps, throughput, drop_rate, latency_p95, jitter}

All metrics carry labels {slice, dnn, pod, iface} on both export channels.

Export channels

ChannelEndpointProtocol
Push/api/v1/upf-metrics → controller :8080HTTP POST
Pull/metrics :9102Prometheus scraping

Startup resilience

Exponential backoff (1s → 10s) against /healthz before activating the push loop, preventing delivery to unavailable targets.

Exposed ports

9102 HTTP — Prometheus /metrics

Build

Multi-stage — golang:1.24-alpine (build) + alpine:3.20 (runtime) — eBPF object at /ebpf/gtpu.o

Source

UPF Agent repository: github.com/5gc-hybrid-upf-autoscaling-system/upf-agent
Full project: github.com/5gc-hybrid-upf-autoscaling-system

Tag summary

Content type

Image

Digest

sha256:0f3a06ca7

Size

17.5 MB

Last updated

6 months ago

docker pull lpoclin/upf-agent:v1