Add cgroup.cpuacct percentages#25057
Merged
fearful-symmetry merged 5 commits intoelastic:masterfrom Apr 14, 2021
Merged
Conversation
Contributor
|
Pinging @elastic/integrations (Team:Integrations) |
Contributor
💚 Build Succeeded
Expand to view the summary
Build stats
Test stats 🧪
Trends 🧪💚 Flaky test reportTests succeeded. Expand to view the summary
Test stats 🧪
|
jsoriano
reviewed
Apr 14, 2021
Contributor
Author
|
@jsoriano some good suggestions, thanks! |
jsoriano
approved these changes
Apr 14, 2021
Member
jsoriano
left a comment
There was a problem hiding this comment.
A possible leftover and some nitpicking, for the rest it LGTM 👍
jsoriano
approved these changes
Apr 14, 2021
6 tasks
fearful-symmetry
added a commit
to fearful-symmetry/beats
that referenced
this pull request
Apr 14, 2021
* initial commit of cgroup cpuacct percentages * add in percpu flag * fix up pct function * formatting, name cleanup * remove old code (cherry picked from commit b2f22fa)
v1v
added a commit
to v1v/beats
that referenced
this pull request
Apr 15, 2021
* upstream/master: packer cache support for the 7.x and 7.latestMinor branches (elastic#25091) Remove EventFetcher and EventsFetcher interface (elastic#25093) Update go-structform to 0.0.8 (elastic#25051) Update copy_fields.asciidoc (elastic#25053) [elastic-agent] ensure container is backwards compatible (elastic#25092) Add --fleet-server-service-token. Rename --fleet-server to --fleet-server-es. (elastic#25083) Add cgroup.cpuacct percentages (elastic#25057) Add tests for truncated and symlinked files in filestream input (elastic#24425) Fix panic when Hearbeat monitor initialization fails twice (elastic#25073) [Filebeat][httpjson] Change append transform to initiate new fields as a slice (elastic#25074) Osquerybeat: Result values type translation (elastic#25012) Update Osquerybeat spec to get it downloading from the correct artifactory path (elastic#25076) Fix changelog (elastic#25079) Strip Azure EventHub connection string in debug logs (elastic#25066) Change googlecloud to gcp in field names (elastic#25038) Bump stack version to 7.12.0 for testing (elastic#24957) packer-cache: cache the existing docker images on ARM and some more (elastic#25068) Disable logstash TestFetch flaky test (elastic#25044)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
This PR addresses #23391 and adds percentage values to the
cpuacctcgroup. Although that change is fairly straightforward, I felt the need to do some refactoring to make it nice--right now, the process metricset tends to divide work between the metricset itself and libbeat in a way that doesn't seem consistent, as libbeat does almost all the heavy lifting for regular process metrics, and then for cgroup data we do all the work in the metricset.In order to emulate how process calculates regular cpu percentages, I just had libbeat manage cgroup data the way in manages all the other process data, so we just need to add the bits that deals with cgroup logic, and everything else is handled by the existing process process code. As a result of this, most of the cgroup logic has now been moved to libbeat, since I felt it made organizational sense to not flip-flop between doing the
MapStrmanipulation between two different libraries.Why is it important?
People are asking for the enhancement in #23391
Checklist
CHANGELOG.next.asciidocorCHANGELOG-developer.next.asciidoc.How to test this PR locally
system/processon a host with cgroups, and cgroup processes running.system.process.cgroups.cpuacct, make sure the values are there, and that they make sense.Related issues