summaryrefslogtreecommitdiff
path: root/scripts/profiling/backends_cpu_usage/log_cpu_usage.py
diff options
context:
space:
mode:
authordrebs <drebs@leap.se>2014-06-06 16:48:52 -0300
committerdrebs <drebs@leap.se>2014-06-06 16:48:52 -0300
commita371d0cf47589c7a429074543e5c930c30481ebe (patch)
treeda12dce58b0e1c7e38caccfc41e8fe29a92d1039 /scripts/profiling/backends_cpu_usage/log_cpu_usage.py
parent16dbfbc3f14296587ebef9a65e69d7bf1b9dcb0e (diff)
parent5cb40a959af827e4eadde1c047664c4f4c0ae01d (diff)
Merge tag '0.5.1' into deb-0.5.2
Tag leap.soledad.version 0.5.1
Diffstat (limited to 'scripts/profiling/backends_cpu_usage/log_cpu_usage.py')
-rwxr-xr-xscripts/profiling/backends_cpu_usage/log_cpu_usage.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/scripts/profiling/backends_cpu_usage/log_cpu_usage.py b/scripts/profiling/backends_cpu_usage/log_cpu_usage.py
new file mode 100755
index 00000000..2674e1ff
--- /dev/null
+++ b/scripts/profiling/backends_cpu_usage/log_cpu_usage.py
@@ -0,0 +1,46 @@
+#!/usr/bin/python
+
+
+# Get the CPU usage and print to file.
+
+
+import psutil
+import time
+import argparse
+import os
+import threading
+
+
+class LogCpuUsage(threading.Thread):
+
+ def __init__(self, fname):
+ threading.Thread.__init__(self)
+ self._stopped = True
+ self._fname = fname
+
+ def run(self):
+ self._stopped = False
+ with open(self._fname, 'w') as f:
+ start = time.time()
+ while self._stopped is False:
+ now = time.time()
+ f.write("%f %f\n" % ((now - start), psutil.cpu_percent()))
+ time.sleep(0.01)
+
+ def stop(self):
+ self._stopped = True
+
+
+if __name__ == '__main__':
+ parser = argparse.ArgumentParser()
+ parser.add_argument('file', help='where to save output')
+ args = parser.parse_args()
+
+ if os.path.isfile(args.file):
+ replace = raw_input('File %s exists, replace it (y/N)? ' % args.file)
+ if replace.lower() != 'y':
+ print 'Bailing out.'
+ exit(1)
+
+ log_cpu = LogCpuUsage(args.file)
+ log_cpu.run()