FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

proc.plugin: add pressure stall information by hexchain · Pull Request #7209 · netdata/netdata · GitHub

proc.plugin: add pressure stall information - #7209

Merged
thiagoftsm merged 15 commits into
netdata:masterfrom
hexchain:proc-plugin-psi
Dec 2, 2019
Merged

proc.plugin: add pressure stall information#7209
thiagoftsm merged 15 commits into
netdata:masterfrom
hexchain:proc-plugin-psi

Conversation

hexchain commented Oct 28, 2019
edited
Loading

Copy link
Copy Markdown
Contributor
Summary

Add PSI monitoring to proc.plugin. Fixes #5901.

Component Name

collectors/proc.plugin

Additional Information

This is WIP because:

  • Explanation text on the dashboard is currently missing
  • CGroup2 PSI monitoring is currently missing

Things I'd like to make sure before continuing:

  • Currently, it resides under "System", and has 5 graphs. Does it deserve its own section?
  • Is there a better way to arrange them?
  • The "total" fields are not graphed. Do we need them?
  • Do we need a switch for each graph (like in proc_loadavg)?
  • The procfile_lines returns 2 for /proc/pressure/cpu, which should only have 1 line, for example:
    % python                   
    Python 3.7.4 (default, Oct  4 2019, 06:57:26) 
    [GCC 9.2.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> open('/proc/pressure/cpu', 'rb').read()
    b'some avg10=3.22 avg60=4.15 avg300=4.07 total=11747246754\n'
    
    Is this intended or is it a bug? Currently, I'm using lines > 2 to workaround this behavior. What would be a better way to handle this?
Screenshot

squash-labs Bot commented Oct 28, 2019

Copy link
Copy Markdown

Manage this branch in Squash

Test this branch here: https://hexchainproc-plugin-psi-w3rzz.squash.io

CLAassistant commented Oct 28, 2019
edited
Loading

Copy link
Copy Markdown


All committers have signed the CLA.

knatsakis previously approved these changes Oct 28, 2019

knatsakis left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Approving changes to the files for which I am the code owner.

Copy link
Copy Markdown
Contributor

Currently, it resides under "System", and has 5 graphs. Does it deserve its own section?

Yes

Is there a better way to arrange them?

I don't know if it's a better way, but you can put the cpu and memory charts under the relevant first-level menu sections. Personally, I'm OK with the way it is.

The "total" fields are not graphed. Do we need them?

The total absolute stall time is a different metric from what the ratios show. I think we need separate charts for the totals.

Do we need a switch for each graph (like in proc_loadavg)?

Do you mean enable/disable configuration options? Yes, we need them.

The procfile_lines returns 2 for /proc/pressure/cpu, which should only have 1 line... Is this intended or is it a bug?

I think it is a bug, but I suggest to stick with the workaround for now.

netdatabot added the area/collectors Everything related to data collection label Oct 29, 2019

Copy link
Copy Markdown
Contributor Author

Updated to add a "pressure" section (no dashboard changes yet) and a configuration toggle for every graph.

ilyam8 commented Oct 29, 2019

Copy link
Copy Markdown
Member

@hexchain please avoid force-pushes

#7059 (comment)

Copy link
Copy Markdown
Contributor Author

@ilyam8 Sure, sorry for that.

joelhans left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Just a few small fixes and the docs will be ready.

Comment thread web/gui/dashboard_info.js Outdated
Comment thread web/gui/dashboard_info.js Outdated
hexchain changed the title [WIP] proc.plugin: add pressure stall information proc.plugin: add pressure stall information Nov 14, 2019

Ferroin commented Nov 27, 2019

Copy link
Copy Markdown
Member

I would tend to agree with @ilyam8 on this one. Conceptually, PSI is supposed to be a better replacement for the load average metrics, so I'd suggest at least putting it in the System Overview section like the load average is.

In an ideal situation, I'd expect to see the CPU PSI info directly below the main CPU chart (where Load Average is right now), the IO PSI info directly below the main Disk IO charts (though that might be a bit misleading, as the IO tracking is all IO, not just disk IO), and the Memory PSI info directly below the main RAM and Swap charts.

ilyam8 commented Nov 27, 2019

Copy link
Copy Markdown
Member

Ok, i read the article

https://lwn.net/Articles/759658/

And i agree with @Ferroin ideal situation

Copy link
Copy Markdown
Contributor

I can implement this but that would be another 5 more charts

I don't see any problems with five more charts since they are useful. If you wish, you can implement them in a different PR.

Copy link
Copy Markdown
Contributor Author

I can implement this but that would be another 5 more charts

I don't see any problems with five more charts since they are useful. If you wish, you can implement them in a different PR.

Fine, I'll defer that to another PR.

Ferroin commented Nov 28, 2019

Copy link
Copy Markdown
Member

I can implement this but that would be another 5 more charts

I don't see any problems with five more charts since they are useful. If you wish, you can implement them in a different PR.

Fine, I'll defer that to another PR.

Just a quick thought, but might it make sense to have the total absolute time charts be optional? Some people may not be interested in them and if there are a lot of cgroups on the system they may want to reduce Netdata's resource usage (RAM and disk space) by turning them off without losing the other charts.

Now that I think of it, it may make sense to do similarly for each type of chart (CPU/Memory/IO).

Copy link
Copy Markdown
Contributor Author

Now that I think of it, it may make sense to do similarly for each type of chart (CPU/Memory/IO).

Currently, all charts are optional and can be turned off individually.

Copy link
Copy Markdown
Contributor

@hexchain please finish with the menu sections so we could merge the PR.

Copy link
Copy Markdown
Contributor Author

In an ideal situation, I'd expect to see the CPU PSI info directly below the main CPU chart (where Load Average is right now), the IO PSI info directly below the main Disk IO charts (though that might be a bit misleading, as the IO tracking is all IO, not just disk IO), and the Memory PSI info directly below the main RAM and Swap charts.

The charts are now arranged in this way, but I'm kinda unsure about the description texts.

vlvkobal previously approved these changes Nov 29, 2019
ilyam8 requested a review from stelfrag November 29, 2019 09:09

Ferroin commented Nov 29, 2019

Copy link
Copy Markdown
Member

In an ideal situation, I'd expect to see the CPU PSI info directly below the main CPU chart (where Load Average is right now), the IO PSI info directly below the main Disk IO charts (though that might be a bit misleading, as the IO tracking is all IO, not just disk IO), and the Memory PSI info directly below the main RAM and Swap charts.

The charts are now arranged in this way, but I'm kinda unsure about the description texts.

I think what you've got right now is good actually, it's concise but still conveys the most important information and includes a link to more details, though I'd suggest replacing 'on a given resource' with a reference to the particular resource (CPU/Memory/IO).

Copy link
Copy Markdown
Contributor Author

@Ferroin

I'd suggest replacing 'on a given resource' with a reference to the particular resource (CPU/Memory/IO).

Done.

joelhans left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

For some reason I can't see my previous requested changes, but at this point the .md and dashboard_info.js content LGTM.

thiagoftsm merged commit 8a70725 into netdata:master Dec 2, 2019

ilyam8 commented Dec 2, 2019

Copy link
Copy Markdown
Member

@hexchain thanks! good work 👍

hexchain deleted the proc-plugin-psi branch December 2, 2019 21:28
jackyhuang85 pushed a commit to jackyhuang85/netdata that referenced this pull request Jan 1, 2020
* proc.plugin: add pressure stall information

* dashboard_info: add "Pressure" section

* proc.plugin: mention PSI collector in doc

* dashboard_info: fix grammar in PSI section

* proc_pressure: fix wrong line name for "full" metrics

* proc_pressure: fix copypasta

* proc_pressure: refactor to prepare for cgroup changes

* cgroups.plugin: add pressure monitoring

* add proc_pressure.h to targets

* Makefile.am: fix indentation

* cgroups.plugin: remove a useless comment

* cgroups.plugin: fix pressure config name

* proc.plugin: arrange pressure charts under corresponding sections

* dashboard_info: rearrange pressure chart descriptions

* dashboard_info: reword PSI descriptions
Saruspete pushed a commit to Saruspete/netdata that referenced this pull request May 21, 2020
* proc.plugin: add pressure stall information

* dashboard_info: add "Pressure" section

* proc.plugin: mention PSI collector in doc

* dashboard_info: fix grammar in PSI section

* proc_pressure: fix wrong line name for "full" metrics

* proc_pressure: fix copypasta

* proc_pressure: refactor to prepare for cgroup changes

* cgroups.plugin: add pressure monitoring

* add proc_pressure.h to targets

* Makefile.am: fix indentation

* cgroups.plugin: remove a useless comment

* cgroups.plugin: fix pressure config name

* proc.plugin: arrange pressure charts under corresponding sections

* dashboard_info: rearrange pressure chart descriptions

* dashboard_info: reword PSI descriptions
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

Labels

area/collectors Everything related to data collection area/docs area/web

Projects

None yet

Development

Successfully merging this pull request may close these issues.

PSI (Pressure Stall Information)

10 participants


Back | FazBrowse Home | New Git URL