From c24cca191dcb02c0514023f494946f1257c4a1ab Mon Sep 17 00:00:00 2001 From: Alessio Sergi Date: Thu, 10 Nov 2016 17:01:55 +0100 Subject: [PATCH] Handle no-permission when checking IRQs on Alpine Linux (#962) --- glances/plugins/glances_irq.py | 43 ++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/glances/plugins/glances_irq.py b/glances/plugins/glances_irq.py index 26b4ae70..300122bb 100644 --- a/glances/plugins/glances_irq.py +++ b/glances/plugins/glances_irq.py @@ -194,25 +194,28 @@ class GlancesIRQ(object): # Correct issue #947: IRQ file do not exist on OpenVZ container return self.stats - with open(self.IRQ_FILE) as irq_proc: - time_since_update = getTimeSinceLastUpdate('irq') - # Read the header - self.__header(irq_proc.readline()) - # Read the rest of the lines (one line per IRQ) - for line in irq_proc.readlines(): - irq_line = self.__humanname(line) - current_irqs = self.__sum(line) - irq_rate = int( - current_irqs - - self.lasts.get(irq_line) if self.lasts.get(irq_line) else 0 // - time_since_update) - irq_current = { - 'irq_line': irq_line, - 'irq_rate': irq_rate, - 'key': self.get_key(), - 'time_since_update': time_since_update - } - self.stats.append(irq_current) - self.lasts[irq_line] = current_irqs + try: + with open(self.IRQ_FILE) as irq_proc: + time_since_update = getTimeSinceLastUpdate('irq') + # Read the header + self.__header(irq_proc.readline()) + # Read the rest of the lines (one line per IRQ) + for line in irq_proc.readlines(): + irq_line = self.__humanname(line) + current_irqs = self.__sum(line) + irq_rate = int( + current_irqs - self.lasts.get(irq_line) + if self.lasts.get(irq_line) + else 0 // time_since_update) + irq_current = { + 'irq_line': irq_line, + 'irq_rate': irq_rate, + 'key': self.get_key(), + 'time_since_update': time_since_update + } + self.stats.append(irq_current) + self.lasts[irq_line] = current_irqs + except (OSError, IOError): + pass return self.stats