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

udp_queues_linux.go: Expose UDP drops via gauge analogous to queue sizes #2993

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

cleeland
Copy link
Contributor

Since a common reason for monitoring UDP queue sizes can be in teasing out performance and QoS issues, it would be convenient to have drops available in the same frames of data. Since the underlying source of the data provides that information, this PR exposes drops modeled as a gauge just as queue sizes are.

@discordianfish @SuperQ

@cleeland cleeland force-pushed the expose-udp-drops branch 2 times, most recently from 084bd27 to b297b22 Compare April 19, 2024 16:45
@cleeland
Copy link
Contributor Author

@discordianfish @SuperQ I'm assuming that the failing circleci tests are because I need to update the fixtures (via make update_fixtures)? I'm having problems doing that running natively on macos. Is updating fixtures something that only reliably works on linux? If so, I'll make that happen in docker or a VM.

cleeland and others added 2 commits April 22, 2024 09:25
Ensure identical build flags embedded in both files.

Signed-off-by: Chris Cleeland <chris.cleeland@gmail.com>
…zes.

Signed-off-by: Chris Cleeland <chris.cleeland@gmail.com>
Update e2e test output to include the drops.

Signed-off-by: Chris Cleeland <chris.cleeland@gmail.com>
@cleeland
Copy link
Contributor Author

I'm not sure why test_docker is failing, and I can't pull the base image to run the test manually. It complains that I am unauthorized. From what I can tell, quay.io does not have a no-cost tier.

Don't use a pointer without checking it first.

Signed-off-by: Chris Cleeland <chris.cleeland@gmail.com>
Copy link
Member

@SuperQ SuperQ left a comment

Choose a reason for hiding this comment

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

Thanks!

Copy link
Member

@SuperQ SuperQ left a comment

Choose a reason for hiding this comment

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

Wait, no, this seems incorrect. Drops appears to be a counter, so this needs to be a new metric, not a label on an existing metric.

@cleeland
Copy link
Contributor Author

Wait, no, this seems incorrect. Drops appears to be a counter, so this needs to be a new metric, not a label on an existing metric.

Drat; you're right. Let me see if I can fix this quickly.

I think it makes sense for "drops" to sit alongside the queue length
gauges in prom stats because they are all neighbors in procfs (source
of these stats).

Moreover, in reading the commit log message for the original creating
work for udp_queues, I think there may have been some misreading or
confusion between the word "state" and the common short-form of
"stats" to mean "statistics".  The original author "chose the name
'udp_queue' instead of 'udpstat' as UDP has no state"; I believe that
'udpstat' might actually be the more appropriate name.

Signed-off-by: Chris Cleeland <chris.cleeland@gmail.com>
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.

None yet

2 participants