Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about the meaning of container.cpu.utilization from kubeletstats receiver #26463

Closed
chenlujjj opened this issue Sep 5, 2023 · 10 comments
Labels
needs triage New item requiring triage receiver/kubeletstats

Comments

@chenlujjj
Copy link
Contributor

chenlujjj commented Sep 5, 2023

Component(s)

receiver/kubeletstats

Describe the issue you're reporting

Hi Team,
We are trying to use the kubeletstats receiver, but don't understand the container.cpu.utilization metric very well.

  1. From the documentation, its type is gauge and unit is 1, but the plot of the metric indicates it is more like a counter and has a unit of seconds.
    image

Note: we are using signalfx to store and visualize metrics.

  1. I apply a rate function to the raw metric and scale it with a factor of 0.01, then the metric value is consistent with another metric container/cpu/core_usage_time from GCP (you can find the metric description here). I'm confused why we need the 0.01 scale factor, does it mean the metric is a percent in fact?

image

image

@chenlujjj chenlujjj added the needs triage New item requiring triage label Sep 5, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Sep 5, 2023

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@TylerHelmuth
Copy link
Member

@chenlujjj you're correct that the name isn't quite right. We are discussing this as part of #24905. I am going to close this issue since I believe it is being handled by #24905, please ping me if you disagree.

@chenlujjj
Copy link
Contributor Author

@TylerHelmuth Thanks. How about the 2nd question ? Do we need to scale it with 0.01 to get the accurate cpu usage ?

@TylerHelmuth
Copy link
Member

The cpu usage being reported is in "CPU core-nanoseconds per second". Scaling it with 0.01 changes it from nanoseconds to milliseconds I think.

@chenlujjj
Copy link
Contributor Author

@TylerHelmuth I think it is normalized to second unit here. I'm wondering if you have some real-life examples using this metric, and could you please share it out ?

@TylerHelmuth
Copy link
Member

@chenlujjj you're right, we do normalize it to seconds. Maybe @dmitryax from Splunk can answer the question.

@jinja2
Copy link
Contributor

jinja2 commented Sep 7, 2023

@chenlujjj are you by any chance also sending in data from the signalfx-agent's kubelet-metrics monitor? Specifically the metric container_cpu_utilization

@dmitryax
Copy link
Member

dmitryax commented Sep 7, 2023

Hi @chenlujjj, there are some query time mappings on the Splunk Observability backend that causing this confusion. We are going to resolve it. Can you please submit a Splunk support ticket and we will engage there?

@chenlujjj
Copy link
Contributor Author

@jinja2 Not sure how to use signalfx-agent, it has reached End of Support. We are using splunk-otel-collector to collect metrics/logs/traces.

@chenlujjj
Copy link
Contributor Author

@dmitryax ok, I'll raise a ticket there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs triage New item requiring triage receiver/kubeletstats
Projects
None yet
Development

No branches or pull requests

4 participants