diff --git a/expetator/monitoring_csv.py b/expetator/monitoring_csv.py index a0f2507868f5b41ba0d2e046c6793714397f48a7..30e757e1f09e1ead047c78dc9486358b3837e540 100644 --- a/expetator/monitoring_csv.py +++ b/expetator/monitoring_csv.py @@ -1,5 +1,7 @@ import os import pandas as pd +import matplotlib.pyplot as plt +import sys def read_host_csv(prefix, hostname, startTime, basename, fullname, archive_fid=None): fullpath= '%s_%s/%s_%s_%s' % (basename, prefix, hostname, fullname, startTime) @@ -39,3 +41,20 @@ def write_run_csv(prefix, hostname, startTime, basename, fullname, hostlist, dat def write_bundle_csv(prefix, bundle, data, target_directory): for index, row in bundle.iterrows(): write_run_csv(prefix, row.hostname, row.startTime, row.basename, row.fullname, row.hostlist, data[index], target_directory) + +def show_csv(filename, norm=False): + filename = sys.argv[-1] + + a = pd.read_csv(filename, sep = " ") + a['#timestamp'] = a['#timestamp']-a['#timestamp'][0] + if norm: + tmp = (a/a.max()) + tmp['#timestamp'] = a['#timestamp'] + a = tmp + a.plot(x='#timestamp') + plt.show(block=True) + +def show_csv_main(): + filename = sys.argv[-1] + norm = len(sys.argv) == 3 + show_csv(filename, norm) diff --git a/expetator/monitoring_list.py b/expetator/monitoring_list.py index 4f98d31696649a4ebb285f542d154b35f7d60011..6325dfaffba872ac8da3c6a4f2f2cd6189d39312 100644 --- a/expetator/monitoring_list.py +++ b/expetator/monitoring_list.py @@ -1,6 +1,8 @@ import os +import sys import json import pandas as pd +import matplotlib.pyplot as plt ## Power def read_run_list(prefix, hostname, startTime, basename, fullname, hostlist=None, archive_fid=None): @@ -55,3 +57,20 @@ def write_bundle_list(prefix, bundle, data, target_directory): for index, row in bundle.iterrows(): write_run_list(prefix, row.hostname, row.startTime, row.basename, row.fullname, row.hostlist, data[index], target_directory) + +def show_list(filename): + with open(filename) as f_id: + data = json.load(f_id) + + for name, timestamps, power in data: + plt.plot([t-timestamps[0] for t in timestamps], + power, label=name) + + plt.legend() + plt.show(block=True) + + + +def show_list_main(): + filename = sys.argv[-1] + show_list(filename) diff --git a/setup.py b/setup.py index a302eab1b49ef155e6f9f890687042845f685b10..ecb626b8a4fb6fd8974c83580408099eb27b6593 100644 --- a/setup.py +++ b/setup.py @@ -27,6 +27,8 @@ setuptools.setup( entry_points={ 'console_scripts': [ 'remove_watermark = expetator.remove_watermark:main', + 'csv_plot = expetator.monitoring_csv:show_csv_main', + 'list_plot = expetator.monitoring_list:show_list_main', ] }