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

Parse /proc/net/protocols #347

Merged
merged 9 commits into from
Jan 11, 2021
Merged

Parse /proc/net/protocols #347

merged 9 commits into from
Jan 11, 2021

Conversation

juancb
Copy link
Contributor

@juancb juancb commented Jan 4, 2021

This patch adds support for extracting system socket metrics found only in /proc/net/protocols. The most interesting metrics found here are per-protocol socket counts along with the total memory in pages used by each. For TCP connections this data can be used to tune/monitor a system against the thresholds set in net.ipv4.tcp_mem. This file also exposes a pressure metric which indicates whether or not a protocol like TCP has entered memory pressure, which again is useful in troubleshooting things like memory pressure induced packet drops on loopback.

Some additional albeit less interesting metrics that come out of this file include the size of each protocol's struct, and the maximum header size the kernel is willing to allocate.

The additional columns enumerate capabilities per-protocol and are encoded as bools.

Signed-off-by: Juan Bran <[email protected]>
Copy link
Member

@discordianfish discordianfish left a comment

Choose a reason for hiding this comment

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

LGTM

@SuperQ SuperQ merged commit adee02f into prometheus:master Jan 11, 2021
remijouannet pushed a commit to remijouannet/procfs that referenced this pull request Oct 20, 2022
This patch adds support for extracting system socket metrics found only in /proc/net/protocols. The most interesting metrics found here are per-protocol socket counts along with the total memory in pages used by each. For TCP connections this data can be used to tune/monitor a system against the thresholds set in net.ipv4.tcp_mem. This file also exposes a pressure metric which indicates whether or not a protocol like TCP has entered memory pressure, which again is useful in troubleshooting things like memory pressure induced packet drops on loopback.

Some additional albeit less interesting metrics that come out of this file include the size of each protocol's struct, and the maximum header size the kernel is willing to allocate.

The additional columns enumerate capabilities per-protocol and are encoded as bools.

Signed-off-by: Juan Bran <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants