forked from outlyerapp/plugins
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwindows.processes.py
More file actions
executable file
·52 lines (46 loc) · 2.27 KB
/
Copy pathwindows.processes.py
File metadata and controls
executable file
·52 lines (46 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/env python
import sys
try:
import wmi
c = wmi.WMI()
except:
print "Plugin Failed!"
process_info = {}
try:
for process in c.Win32_Process():
id = process.ProcessID
for p in c.Win32_PerfFormattedData_PerfProc_Process(IDProcess=id):
name = p.Name.replace('.', '_').lower()
process_info[name + '.elapsed_time'] = p.ElapsedTime
process_info[name + '.handle_count'] = p.HandleCount
process_info[name + '.io_data_bytes_per_sec'] = p.IODataBytesPersec
process_info[name + '.io_data_ops_per_sec'] = p.IODataOperationsPersec
process_info[name + '.io_other_bytes_per_sec'] = p.IOOtherBytesPersec
process_info[name + '.io_other_ops_per_sec'] = p.IOOtherOperationsPersec
process_info[name + '.io_read_bytes_per_sec'] = p.IOReadBytesPersec
process_info[name + '.io_read_ops_per_sec'] = p.IOReadOperationsPersec
process_info[name + '.io_write_bytes_per_sec'] = p.IOWriteBytesPersec
process_info[name + '.io_write_ops_per_sec'] = p.IOWriteOperationsPersec
process_info[name + '.page_faults_per_sec'] = p.PageFaultsPersec
process_info[name + '.page_file_bytes'] = p.PageFileBytes
process_info[name + '.page_file_bytes_peak'] = p.PageFileBytesPeak
process_info[name + '.percent_priv_time'] = p.PercentPrivilegedTime
process_info[name + '.percent_proc_time'] = p.PercentProcessorTime
process_info[name + '.percent_user_time'] = p.PercentUserTime
process_info[name + '.pool_non_paged_bytes'] = p.PoolNonpagedBytes
process_info[name + '.pool_paged_bytes'] = p.PoolPagedBytes
process_info[name + '.priority_base'] = p.PriorityBase
process_info[name + '.private_bytes'] = p.PrivateBytes
process_info[name + '.thread_count'] = p.ThreadCount
process_info[name + '.virtual_bytes'] = p.VirtualBytes
process_info[name + '.virtual_bytes_peak'] = p.VirtualBytesPeak
process_info[name + '.working_set'] = p.WorkingSet
process_info[name + '.working_set_peak'] = p.WorkingSetPeak
process_info[name + '.working_set_priv'] = p.WorkingSetPrivate
except:
print "Plugin Failed!"
output = 'OK | '
for k, v in process_info.iteritems():
output += k + '=' + str(v) + ';;;; '
print output
sys.exit(2)