* Support CPU request override for containerized deployments
Media processing pods intentionally omit CPU limits to avoid CFS throttling on real-time media workloads. Without a limit, NumCPU() falls back to runtime.NumCPU() which returns the full node CPU count. This could inflate the admission budget — on a 64-core node with a 15-CPU request, the monitor thinks it has 64 CPUs available and accepts too many jobs. Goruntime GOMAXPROC env variable will also be set to too high value which could affect go runtime goroutine scheduling (frequent context switches).
CPU requests are a scheduler-level concept with no cgroup representation, so cgroup-based approaches (automaxprocs, Go 1.25 container awareness) can't help. The Kubernetes Downward API can expose requests.cpu as an env var, which this change reads.
EffectiveCPURequest() in cpu.go reads the env var once at startup and NumCPU() returns it when set, falling back to platform detection otherwise — monitorProcesses picks this up automatically. A new maxprocs package caps GOMAXPROCS down to ceil(request) via init(), never increasing it beyond the current value so explicit settings and cgroup quotas are respected.
* Adjust memory usage for inactive file.
Inactive file can be reclaimed if necessary. But, croup
memory.usage_in_bytes shows a high value if the memory has grown and
does not need to be reclaimed. So, using that inflates the actual memory
usage.
Adjust usage by discounting reclaimable inactive file memory.
* generated protobuf
* clean up
* fix stupid mistakes, thank you @milos-lk
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Data tracks initial protocol definition.
Just cutting and pasting protocol changes in this PR
(https://github.com/livekit/protocol/pull/1229) from @ladvoc. As
merging/generating code has been a challenge, just copying over protocol
changes and re-building.
* Create fair-candles-repeat.md
* generated protobuf
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Utility to clone a proto with redaction.
Would be nice to set size of redacted field back into the message, but
that does not work for all types.
* generated protobuf
* Recursive proto redact.
* generated protobuf
* remove redact_format from TrackInfo name
* generated protobuf
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Adding utilities for phonenumber functionality
1. DB prefixes
2. Helper utilities for area code and number type
* Adding changeset
* Adding enum for phone number type
* generated protobuf
---------
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>