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

[Metricbeat][System module] psi: pressure stall information #27223

Closed
b-deam opened this issue Aug 4, 2021 · 8 comments · Fixed by #27355
Closed

[Metricbeat][System module] psi: pressure stall information #27223

b-deam opened this issue Aug 4, 2021 · 8 comments · Fixed by #27355
Labels
enhancement Metricbeat Metricbeat Team:Elastic-Agent Label for the Agent team Team:Integrations Label for the Integrations team

Comments

@b-deam
Copy link
Member

b-deam commented Aug 4, 2021

Describe the enhancement:

Since 4.2, Linux exposes contention metrics for CPU, Memory, and IO in procfs under the /proc/pressure path for a system as a whole, or for cgroup2 the subdirectory for each cgroup controller in the cgroupfs mount point contains cpu.pressure, memory.pressure, and io.pressure files.

An extra system metricset (perhaps called psi?) that collects these metrics on a defined interval would be extremely useful, both for specific cgroups and for systems as a whole.

Further Reading:

@botelastic botelastic bot added the needs_team Indicates that the issue/PR needs a Team:* label label Aug 4, 2021
@ruflin ruflin added the Team:Elastic-Agent Label for the Agent team label Aug 4, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/agent (Team:Agent)

@botelastic botelastic bot removed the needs_team Indicates that the issue/PR needs a Team:* label label Aug 4, 2021
@ruflin ruflin added the Team:Integrations Label for the Integrations team label Aug 10, 2021
@elasticmachine
Copy link
Collaborator

Pinging @elastic/integrations (Team:Integrations)

@ruflin
Copy link
Member

ruflin commented Aug 10, 2021

@exekias @fearful-symmetry Would be great to get your take on this.

@exekias
Copy link
Contributor

exekias commented Aug 10, 2021

Thanks for bringing this up! Actually @fearful-symmetry have been working cgroups v2 support here: #27242, I see Pressure is actually retrieved.

Would you see this information useful if attached to the process documents?

@b-deam
Copy link
Member Author

b-deam commented Aug 10, 2021

Not so much process documents - but rather the system as a whole (reading directly from /proc/pressure, kind of like system load averages are for the system as a whole.

I gave the PR a quick skim, but couldn't tell if that implementation will also allow collection at the host level if no cgroups are in use? Is that correct?

@exekias
Copy link
Contributor

exekias commented Aug 10, 2021

That's correct!, @fearful-symmetry would love your thoughts on this

@fearful-symmetry
Copy link
Contributor

Considering we're already adding this in cgroups, I don't see any reason why we couldn't add global pressure stats as well. I'm not sure where this would go, though. Maybe just a new linux/pressure metricset?

@b-deam
Copy link
Member Author

b-deam commented Aug 11, 2021

I agree, linux/pressure makes more sense than system IMO - I also noticed (if you weren't already aware) that the existing prometheus/profcs package already includes a method to retrieve these.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Metricbeat Metricbeat Team:Elastic-Agent Label for the Agent team Team:Integrations Label for the Integrations team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants