[opensuse-factory] new package: irqstat
Hello everyone, There's a new package in server:monitoring called `irqstat`, which I'd like to get into Factory: https://build.opensuse.org/package/show/server:monitoring/irqstat It's a rather simple, but yet quite effective, python script for both online monitoring and offline parsing of the content of the special file /proc/interrupts. In fact, especially on large servers, where that file may have something like 550 lines and 224 columns (this is a real example, I'm not making numbers up :-) ), it may be very annoying to tell, e.g., how many IRQs a particular source is sending toward which CPUs using only the usual tools. And this is exactly where irqstat helps. There is more that can be done, and in fact, I'm also involved with upstream development (yes, for the ones that I've seen the other thread, I eventually did manage to get in touch with the maintainer!) and have some plans. E.g., improving the documentation is quite high in my TODO list for the project. I'd be interested in any feedback, comment, question, whatever. :-) Regards -- Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <<This happens because _I_ choose it to happen!>> (Raistlin Majere)
On Wed, 2020-09-30 at 10:55 +0000, Dario Faggioli wrote:
Hello everyone,
There's a new package in server:monitoring called `irqstat`, which I'd like to get into Factory:
https://build.opensuse.org/package/show/server:monitoring/irqstat
It's a rather simple, but yet quite effective, python script for both online monitoring and offline parsing of the content of the special file /proc/interrupts.
In fact, especially on large servers, where that file may have something like 550 lines and 224 columns (this is a real example, I'm not making numbers up :-) ), it may be very annoying to tell, e.g., how many IRQs a particular source is sending toward which CPUs using only the usual tools. And this is exactly where irqstat helps.
There is more that can be done, and in fact, I'm also involved with upstream development (yes, for the ones that I've seen the other thread, I eventually did manage to get in touch with the maintainer!) and have some plans. E.g., improving the documentation is quite high in my TODO list for the project.
I'd be interested in any feedback, comment, question, whatever. :-)
Regards Hi
Is my understanding that this is python2 only tool correct? Not sure if there was some official decision/communication about new packages, but general trend is to get rid of py2, not to push new packages that need it to factory. Cheers Martin P.S "-n irqstat-%{version}" in setup is rather redundant, unless specified else %setup assumes "-n %{name}-%{version}"
Hi, Am Mittwoch, 30. September 2020, 13:02:16 CEST schrieb Martin Pluskal:
On Wed, 2020-09-30 at 10:55 +0000, Dario Faggioli wrote:
There's a new package in server:monitoring called `irqstat`, which I'd like to get into Factory:
https://build.opensuse.org/package/show/server:monitoring/irqstat
<snip>
I'd be interested in any feedback, comment, question, whatever. :-)
Is my understanding that this is python2 only tool correct? Not sure if there was some official decision/communication about new packages, but general trend is to get rid of py2, not to push new packages that need it to factory.
Correct - only the python2.7 runtime is left in Tumbleweed - all packages should be python3 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Wed, 2020-09-30 at 13:02 +0200, Martin Pluskal wrote:
On Wed, 2020-09-30 at 10:55 +0000, Dario Faggioli wrote:
I'd be interested in any feedback, comment, question, whatever. :-)
Regards
Hi
Hi!
Is my understanding that this is python2 only tool correct?
Yeah, well, I think that, most of everything, it's old (apart from the new development I've done on it recently), yes, it currently is.
Not sure if there was some official decision/communication about new packages, but general trend is to get rid of py2, not to push new packages that need it to factory.
Ok, makes sense. I don't think it's too difficult to port it to python3. I'll see about doing that (upstream, of course) and I'll make a new request when it works without errors.
P.S "-n irqstat-%{version}" in setup is rather redundant, unless specified else %setup assumes "-n %{name}-%{version}"
Ok, thanks, I'll get rid of it. Regards -- Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <<This happens because _I_ choose it to happen!>> (Raistlin Majere)
So, this was on hold (for quite a while, as I could not really work on it) because it was still python2. Now it works with python3, so I'm proposing this again. See: https://build.opensuse.org/request/show/880775 Regards On Wed, 2020-09-30 at 10:55 +0000, Dario Faggioli wrote:
Hello everyone,
There's a new package in server:monitoring called `irqstat`, which I'd like to get into Factory:
https://build.opensuse.org/package/show/server:monitoring/irqstat
It's a rather simple, but yet quite effective, python script for both online monitoring and offline parsing of the content of the special file /proc/interrupts.
In fact, especially on large servers, where that file may have something like 550 lines and 224 columns (this is a real example, I'm not making numbers up :-) ), it may be very annoying to tell, e.g., how many IRQs a particular source is sending toward which CPUs using only the usual tools. And this is exactly where irqstat helps.
There is more that can be done, and in fact, I'm also involved with upstream development (yes, for the ones that I've seen the other thread, I eventually did manage to get in touch with the maintainer!) and have some plans. E.g., improving the documentation is quite high in my TODO list for the project.
I'd be interested in any feedback, comment, question, whatever. :-)
Regards
-- Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <<This happens because _I_ choose it to happen!>> (Raistlin Majere)
On 2021/03/23 10:46, Dario Faggioli wrote:
So, this was on hold (for quite a while, as I could not really work on it) because it was still python2.
Now it works with python3, so I'm proposing this again.
See: https://build.opensuse.org/request/show/880775
Regards
I'd be interested in any feedback, comment, question, whatever. :-)
Regards
Are they similar to these shell scripts... These are a bit on the old side, but wrote these to summarize info ... once I understood it, I pretty much ignored it. Names: set_devint_affinity show_devint_affinity show_interrupt_mappings show_spurious summarize_interrupt_mappings Attaching them in a tar file (irq-sh.txz)...
On Tue, 2021-03-23 at 16:19 -0700, L A Walsh wrote:
On 2021/03/23 10:46, Dario Faggioli wrote:
Now it works with python3, so I'm proposing this again.
See: https://build.opensuse.org/request/show/880775
I'd be interested in any feedback, comment, question, whatever. :-)
Regards
Are they similar to these shell scripts...
Oh, cool, these are really nice! :-)
These are a bit on the old side, but wrote these to summarize info ... once I understood it, I pretty much ignored it.
Yeah, well, irqstat is really (really!) similar to irqtop. What it does that irqtop doesn't (AFAIK, at least) is the aggregation of the count of interrupt received on each NUMA node. This has been very useful to me, when looking at large boxes, with more than one hundred CPUs, as looking at /proc/interrupts is a nightmare there. In fact, the original plan was to extend irqtop. And it still kind of is, but at the same time I thought it was worth to make irqstat easier to consume, for both me and everyone interested. :-)
Names: set_devint_affinity show_devint_affinity show_interrupt_mappings show_spurious summarize_interrupt_mappings
These seems to be focusing on understanding the "IRQ layout" of the system, and working with affinities, which are also really interesting and useful things indeed. Regards -- Dario Faggioli, Ph.D http://about.me/dario.faggioli Virtualization Software Engineer SUSE Labs, SUSE https://www.suse.com/ ------------------------------------------------------------------- <<This happens because _I_ choose it to happen!>> (Raistlin Majere)
On 2021/03/24 01:09, Dario Faggioli wrote:
This has been very useful to me, when looking at large boxes, with more than one hundred CPUs, as looking at /proc/interrupts is a nightmare there. ... These seems to be focusing on understanding the "IRQ layout" of the system, and working with affinities, which are also really interesting and useful things indeed.
Bingo -- I had no clue what was coming in where, and needed something to summarize what I was seeing -- that and was trying to optimize interrupt servicing for 10-20Gb ethernet. Conversely, the most cpu's on a box I have is 12 -- so less need for something that can aggregate 100. The box w/12 has 6/NumaNode (actual cores, not threads), so at least tying devs to 1 node or the other can give small benefits, but best improvement on my network are 9k packets (v 1.5k) and using internal-lines that don't need encryption, yielding 350-650MB/s on reads and about 360MB/s on writes. Programming things like that in shell can be nice when it works, as those are ~9 years old since last touched. Cheers! -l
participants (4)
-
Axel Braun
-
Dario Faggioli
-
L A Walsh
-
Martin Pluskal