# ✅ Pro Tip: Why CPU throttling, CPU limits, and CPU requests may show no data in Kubernetes workloads

**URL:** <https://community.dynatrace.com/t/pro-tip-why-cpu-throttling-cpu-limits-and-cpu-requests-may-show-no-data-in-kubernetes-workloads/52888>\
**Category:** Dynatrace Tips\
**Tags:** tips-and-tricks, kubernetes, infrastructure-monitoring\
**Created:** [August 11, 2025, 7:10am UTC](https://community.dynatrace.com/t/pro-tip-why-cpu-throttling-cpu-limits-and-cpu-requests-may-show-no-data-in-kubernetes-workloads/52888 "2025-08-11T07:10:49Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![theharithsa](https://dub1.discourse-cdn.com/dynatrace/user_avatar/community.dynatrace.com/theharithsa/32/16236_2.png) [@theharithsa](https://community.dynatrace.com/u/theharithsa)\
**Post date:** [August 11, 2025, 7:10am UTC](https://community.dynatrace.com/t/pro-tip-why-cpu-throttling-cpu-limits-and-cpu-requests-may-show-no-data-in-kubernetes-workloads/52888/1 "2025-08-11T07:10:49Z")

</div>

When viewing Kubernetes workload metrics in most observability tools, you might sometimes notice that **CPU throttling** , **CPU limits** , and **CPU requests** appear blank or show no data for certain workloads — while other workloads display them fine.

This behavior is generally expected and can be explained by how these metrics are collected in Kubernetes environments.

* * *

### **1. Pod activity and metric reporting**

- CPU throttling data comes from Kubernetes cgroup metrics (container\_cpu\_cfs\_throttled\_periods\_total vs. container\_cpu\_cfs\_periods\_total) exposed via **kubelet/cAdvisor**.
- If a pod is idle (no incoming requests, no CPU usage), the throttled periods remain 0. In such cases, CPU throttling charts will be empty because there’s nothing to report.
- Many observability agents optimize collection by marking inactive pods and reducing metric polling until activity resumes.

* * *

### **2. CPU limits and CPU requests not defined**

- These values are pulled from the Kubernetes API based on the container spec.
- If resources.requests.cpu and resources.limits.cpu are not defined in the pod/deployment YAML, the fields will remain blank in your observability tool.

* * *

### **3. It’s not always a connectivity issue**

- If an observability agent was unable to connect to the node or kubelet, you’d typically see an explicit alert for that in the platform.
- If there’s no such alert, missing CPU throttling data is usually due to lack of CPU activity or undefined resource requests/limits — not a failed connection.

* * *

### **4. How to verify**

1. Inspect the pod spec:

2. Send synthetic load to the pod and re-check CPU throttling metrics.

3. Ensure kubelet/cAdvisor endpoints are reachable from your observability agents.

* * *

**Takeaway:**  
If CPU throttling shows no data and CPU limits/requests are blank:

- **Idle pod** → no throttling data to display.
- **No limits/requests defined** → blank fields in your observability UI.
- This is expected behavior across most Kubernetes observability tools.
