mirror of
https://github.com/nicolargo/glances.git
synced 2024-08-16 16:00:27 +03:00
chg: plugin(percpu) - show times based on host OS
This commit is contained in:
parent
46abd4b4c9
commit
6af2340c5c
@ -38,6 +38,8 @@ class PerCpuPercentInfo(TypedDict):
|
|||||||
steal: Optional[float]
|
steal: Optional[float]
|
||||||
guest: Optional[float]
|
guest: Optional[float]
|
||||||
guest_nice: Optional[float]
|
guest_nice: Optional[float]
|
||||||
|
dpc: Optional[float]
|
||||||
|
interrupt: Optional[float]
|
||||||
|
|
||||||
|
|
||||||
class CpuPercent:
|
class CpuPercent:
|
||||||
@ -146,6 +148,8 @@ class CpuPercent:
|
|||||||
'steal': cpu_times.steal if hasattr(cpu_times, 'steal') else None,
|
'steal': cpu_times.steal if hasattr(cpu_times, 'steal') else None,
|
||||||
'guest': cpu_times.guest if hasattr(cpu_times, 'guest') else None,
|
'guest': cpu_times.guest if hasattr(cpu_times, 'guest') else None,
|
||||||
'guest_nice': cpu_times.steal if hasattr(cpu_times, 'guest_nice') else None,
|
'guest_nice': cpu_times.steal if hasattr(cpu_times, 'guest_nice') else None,
|
||||||
|
'dpc': cpu_times.dpc if hasattr(cpu_times, 'dpc') else None,
|
||||||
|
'interrupt': cpu_times.interrupt if hasattr(cpu_times, 'interrupt') else None,
|
||||||
}
|
}
|
||||||
for cpu_number, cpu_times in psutil_percpu
|
for cpu_number, cpu_times in psutil_percpu
|
||||||
]
|
]
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
"""Per-CPU plugin."""
|
"""Per-CPU plugin."""
|
||||||
|
|
||||||
from glances.cpu_percent import cpu_percent
|
from glances.cpu_percent import cpu_percent
|
||||||
|
from glances.globals import BSD, LINUX, MACOS, WINDOWS
|
||||||
from glances.plugins.plugin.model import GlancesPluginModel
|
from glances.plugins.plugin.model import GlancesPluginModel
|
||||||
|
|
||||||
# Fields description
|
# Fields description
|
||||||
@ -76,6 +77,14 @@ guest operating systems under the control of the Linux kernel.',
|
|||||||
'description': '*(Linux)*: percent of time spent handling software interrupts.',
|
'description': '*(Linux)*: percent of time spent handling software interrupts.',
|
||||||
'unit': 'percent',
|
'unit': 'percent',
|
||||||
},
|
},
|
||||||
|
'dpc': {
|
||||||
|
'description': '*(Windows)*: percent of time spent handling deferred procedure calls.',
|
||||||
|
'unit': 'percent',
|
||||||
|
},
|
||||||
|
'interrupt': {
|
||||||
|
'description': '*(Windows)*: percent of time spent handling software interrupts.',
|
||||||
|
'unit': 'percent',
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
# Define the history items list
|
# Define the history items list
|
||||||
@ -140,11 +149,17 @@ class PluginModel(GlancesPluginModel):
|
|||||||
if not self.stats or not self.args.percpu or self.is_disabled():
|
if not self.stats or not self.args.percpu or self.is_disabled():
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
# Define the default header
|
# Define the headers based on OS
|
||||||
all_headers = ['user', 'system', 'idle', 'iowait', 'steal']
|
header = ['user', 'system']
|
||||||
|
|
||||||
# Determine applicable headers
|
if LINUX:
|
||||||
header = [h for h in all_headers if self.stats[0].get(h) is not None]
|
header.extend(['iowait', 'idle', 'irq', 'nice', 'steal', 'guest'])
|
||||||
|
elif MACOS:
|
||||||
|
header.extend(['idle', 'nice'])
|
||||||
|
elif BSD:
|
||||||
|
header.extend(['idle', 'irq', 'nice'])
|
||||||
|
elif WINDOWS:
|
||||||
|
header.extend(['dpc', 'interrupt'])
|
||||||
|
|
||||||
# Build the string message
|
# Build the string message
|
||||||
if self.is_disabled('quicklook'):
|
if self.is_disabled('quicklook'):
|
||||||
|
Loading…
Reference in New Issue
Block a user