diff options
author | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-01-08 17:06:59 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@localhost.localdomain> | 2007-01-08 17:06:59 (GMT) |
commit | cae78d70415923c0deabd518f23dc534f11cfacd (patch) | |
tree | 482c96ed3f959b8f8f3d135d9ec1d905db6a541f /services/console/interface/memphis/plugins/cpu/info.py | |
parent | 764eee81e57aa637c7d6c95d3d75f94d9f29d650 (diff) |
Rework the console to use autoactivation, move it in services/
Diffstat (limited to 'services/console/interface/memphis/plugins/cpu/info.py')
-rw-r--r-- | services/console/interface/memphis/plugins/cpu/info.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/services/console/interface/memphis/plugins/cpu/info.py b/services/console/interface/memphis/plugins/cpu/info.py new file mode 100644 index 0000000..9cb1ad4 --- /dev/null +++ b/services/console/interface/memphis/plugins/cpu/info.py @@ -0,0 +1,48 @@ +########################################################### +# Main function: +# ----------------- +# self: self plugin object +# mself: memphis object / principal class +# pinfo: row with information about current tracing process +############################################################ + +def plg_on_top_data_refresh(self, pinfo): + PI = self.INTERNALS['Plg'].proc + + pid = pinfo['pid'] + + # Get JIFFIES CPU usage + used_jiffies = pinfo['utime'] + pinfo['stime'] + last_ujiffies = get_pid_ujiffies(self, pid) + + cpu_usage = PI.get_CPU_usage(self.cpu_hz, used_jiffies, pinfo['start_time']) + + # Get PERCENT CPU usage + if last_ujiffies == 0.0: + pcpu = 0.0 + set_pid_ujiffies(self, pid, cpu_usage['used_jiffies']) + data = [int(pcpu)] + return data + + used_jiffies = cpu_usage['used_jiffies'] - last_ujiffies + + # Available jiffies are + avail_jiffies = (500/1000.0)*self.cpu_hz # 500 = 0.5 second + pcpu = ((used_jiffies*100)/avail_jiffies) + + set_pid_ujiffies(self, pid, cpu_usage['used_jiffies']) + + data = [int(pcpu)] + return data + +def get_pid_ujiffies(self, pid): + + if pid in self.pids_ujiffies: + return self.pids_ujiffies[pid] + else: + set_pid_ujiffies(self, pid, 0) + return self.pids_ujiffies[pid] + +def set_pid_ujiffies(self, pid, ujiffies): + self.pids_ujiffies[pid] = ujiffies + |