Module ImportFrom alias alias Import alias Import alias Import alias ImportFrom alias alias Import alias Assign NameStore ListLoad Str Str Str Str Str Str Str Str Str Str Assign NameStore TupleLoad Str Str Str Assign NameStore Str FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Pass decorator_list Exec NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam NameParam defaults body TryExcept body Assign NameStore SubscriptLoad ListComp NameLoad comprehension NameStore Call AttributeLoad Call NameLoad Str attr Call AttributeLoad NameLoad attr Str Index Num Assign NameStore Call AttributeLoad Call AttributeLoad Str attr SubscriptLoad Call AttributeLoad NameLoad attr Str Slice Num attr While CompareIn Str NameLoad body Assign NameStore Call AttributeLoad NameLoad attr Str Str Assign NameStore SubscriptLoad ListComp SubscriptLoad Call AttributeLoad NameLoad attr Str Index Num comprehension NameStore Call AttributeLoad Call NameLoad Str attr Call AttributeLoad NameLoad attr Str Index Num Assign NameStore BinOpMod Str BinOpDiv Call NameLoad NameLoad BinOpMult Num Num handlers ExceptHandler body Assign NameStore NameLoad orelse Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad Assign NameStore BinOpMod Str TupleLoad NameLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Assign NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad Call NameLoad NameLoad NameLoad For NameStore NameLoad body AugAssignAdd NameStore BinOpMod Str TupleLoad NameLoad NameLoad For NameStore NameLoad body AugAssignAdd NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad AugAssignAdd NameStore Str AugAssignAdd NameStore Str AugAssignAdd NameStore Str For NameStore NameLoad body AugAssignAdd NameStore BinOpMod Str TupleLoad NameLoad NameLoad AugAssignAdd NameStore Str For NameStore NameLoad body AugAssignAdd NameStore Str Assign NameStore BinOpDiv Call NameLoad NameLoad Num For TupleStore NameStore NameStore Call NameLoad NameLoad body AugAssignAdd NameStore Str If CompareEq NameLoad NameLoad body AugAssignAdd NameStore BinOpMod Str TupleLoad NameLoad NameLoad NameLoad orelse AugAssignAdd NameStore Str Assign NameStore Call NameLoad NameLoad NameLoad NameLoad Assign NameStore BinOpAdd BinOpAdd BinOpAdd Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad AttributeLoad NameLoad attr Str Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad AugAssignAdd NameStore BinOpMod Str TupleLoad NameLoad NameLoad AugAssignAdd NameStore Str If CompareEq NameLoad NameLoad body AugAssignAdd NameStore Str AugAssignAdd NameStore Str AugAssignAdd NameStore Str AugAssignAdd NameStore Str Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam NameParam defaults NameLoad body Assign NameStore SubscriptLoad NameLoad Slice Assign NameStore Dict Assign NameStore TupleLoad Str Str Str Str Assign NameStore Call NameLoad For NameStore NameLoad body Assign NameStore Dict Assign SubscriptStore NameLoad Index NameLoad NameLoad For NameStore NameLoad body FunctionDef arguments args NameParam defaults body Return SubscriptLoad Call NameLoad NameLoad BinOpAdd NameLoad Str Index NameLoad decorator_list Assign NameStore Dict Assign SubscriptStore NameLoad Index Str Call AttributeLoad NameLoad attr For NameStore SubscriptLoad NameLoad Index Str body TryExcept body Assign TupleStore NameStore NameStore SubscriptLoad NameLoad Index NameLoad Assign NameStore Call NameLoad NameLoad NameLoad handlers ExceptHandler type NameLoad body Continue ExceptHandler body Import alias Expr Call AttributeLoad NameLoad attr Continue orelse Expr Call AttributeLoad NameLoad attr NameLoad If UnaryOpNot CompareIn NameLoad NameLoad body Assign SubscriptStore NameLoad Index NameLoad Dict Assign NameStore SubscriptLoad NameLoad Index NameLoad Assign SubscriptStore NameLoad Index NameLoad TupleLoad NameLoad NameLoad For NameStore NameLoad body If CompareEq Call NameLoad SubscriptLoad NameLoad Index NameLoad Num body Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore BinOpMod Str Dict Str Str Str Str Str AttributeLoad NameLoad attr NameLoad NameLoad Call AttributeLoad NameLoad attr NameLoad keyword Num NameLoad Assign NameStore BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad Call NameLoad NameLoad Str attr NameLoad Expr Call NameLoad BinOpMod Str NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad AttributeLoad NameLoad attr NameLoad Expr Call NameLoad Str Assign NameStore Call NameLoad NameLoad NameLoad NameLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign NameStore BinOpMod Str NameLoad Expr Call AttributeLoad Call NameLoad NameLoad Str attr NameLoad If NameLoad body Expr Call NameLoad Str NameLoad Expr Call NameLoad BinOpMod Str Call NameLoad Expr Call NameLoad decorator_list If CompareEq NameLoad Str body Assign NameStore Str ImportFrom alias Assign NameStore Call NameLoad NameLoad Expr Call NameLoad NameLoad Str NameLoad
N/A __future__ print_function unicode_literals N/A os N/A sys N/A json weblab.admin.bot.misc show_time flush N/A platform N/A METHODS N/A login list_experiments reserve_experiment get_reservation_status logout finished_experiment send_file send_command poll get_user_information N/A CALL_TIMES N/A avg_call_times min_call_times max_call_times N/A GET_FIGURE_FILENAME_CODE def get_figure_filename(protocol, method, date):
    return "figures" + os.sep + "figure_" + date + "_" + protocol + "_" + method + ".png"
 get_figure_filename N/A N/A protocol method date N/A N/A N/A  The exec() after this will rewrite this function. This is only written so as to avoid warnings.  N/A N/A N/A GET_FIGURE_FILENAME_CODE generate_html N/A N/A protocols configuration methods date default_system_info running_configuration N/A N/A N/A N/A N/A model_name N/A N/A line N/A line N/A N/A N/A open /proc/cpuinfo readlines N/A N/A line startswith model name N/A 0 N/A model_name N/A N/A N/A N/A : join N/A N/A N/A model_name split :  N/A 1 strip N/A N/A model_name N/A N/A model_name N/A N/A model_name replace N/A ram N/A N/A N/A N/A N/A line split N/A -2 N/A line N/A N/A N/A open /proc/meminfo readlines N/A N/A line startswith MemTotal: N/A 0 N/A memory N/A %.2fGB N/A N/A int ram N/A 1024.0 1024.0 N/A N/A N/A N/A system_info default_system_info N/A N/A system_info N/A %s %s N/A model_name memory N/A all_system_info N/A %s; %s; Python %s N/A system_info N/A N/A platform platform N/A N/A platform python_version N/A page N/A <html><head><title>Bot stats as of %s</title></head><body>
    <h1>Bot stats as of %s</h1>
    <h2>Stats information</h2>
    Configuration: %s %s<br/>
    System: %s<br/>
    <a name="index"><h2>Index</h2></a>
    <ul>
     N/A date date running_configuration N/A str configuration all_system_info N/A protocol protocols N/A N/A page N/A 	<li><a href="#%s">%s</a>: <ul> N/A protocol protocol N/A method methods N/A N/A page N/A 		<li><a href="#%s_%s">%s</a></li>
 N/A protocol method method N/A page 	</ul></li>
 N/A page </ul><h2>Results</h2>
 N/A page <center><table border="0"><tr> N/A protocol protocols N/A N/A page N/A <th><a name="%s"><h3>%s</h3></a><center></th>
 N/A protocol protocol N/A page </tr> N/A method methods N/A N/A page <tr> N/A central_pos N/A N/A len protocols 2 N/A N/A pos protocol N/A enumerate protocols N/A N/A page <td><center> N/A N/A pos central_pos N/A N/A page N/A <a name="%s_%s"><h4>%s</h4></a><br/>
 N/A protocol method method N/A N/A page <br/><br/> N/A fname N/A get_figure_filename protocol method date N/A real_fname N/A N/A N/A N/A N/A N/A os path dirname fname N/A os sep without_bounds_ N/A N/A N/A os path basename fname N/A page N/A <a href="%s"><img width="400" src="%s"/></a>
 N/A real_fname fname N/A page <br/>
 N/A N/A pos central_pos N/A N/A page <a href="#index">Back to index</a> N/A page </center></td> N/A page </tr> N/A page </table></center></body></html> N/A page N/A print_results N/A N/A raw_information configuration date cfg verbose N/A True N/A N/A working_methods N/A METHODS N/A N/A all_data N/A N/A LINES N/A std max min avg N/A protocols N/A set N/A method METHODS N/A N/A method_data N/A N/A N/A all_data N/A method method_data N/A line LINES N/A func_on_results N/A N/A results N/A N/A N/A N/A N/A getattr results N/A line _call_times N/A method N/A N/A data N/A N/A N/A data N/A protocols N/A N/A raw_information keys N/A protocol N/A data N/A protocols N/A N/A N/A N/A N/A x y N/A raw_information N/A protocol N/A y N/A map func_on_results y N/A N/A N/A KeyError N/A N/A N/A N/A N/A traceback N/A N/A N/A traceback print_exc N/A N/A N/A N/A N/A protocols add protocol N/A N/A N/A protocol method_data N/A N/A N/A method_data N/A protocol N/A N/A protocol_data N/A method_data N/A protocol N/A N/A protocol_data N/A line N/A x y N/A method METHODS N/A N/A N/A N/A len N/A all_data N/A method 0 N/A N/A N/A N/A working_methods remove method N/A CODE N/A #!/usr/bin/env python
import os
import math
import matplotlib
if %(backend)r != '':
    matplotlib.use(%(backend)r)
import matplotlib.pyplot as plt

%(get_figure_filename)s

def print_figures():
    
    date            = %(date)r
    working_methods = %(working_methods)r
    all_data        = %(all_data)s

    sorter = lambda (x1, y1), (x2, y2): cmp(x1, x2)

    for method in working_methods:
        method_data = all_data[method]

        max_ys = []
        for protocol in method_data:
            protocol_data = method_data[protocol]
            _,  max_y  = zip(*sorted(zip(*protocol_data['max']), sorter))
            max_ys.append(max(max_y))

        ylim = (0, math.ceil(max(max_ys) + 0.1))

        for protocol in method_data:
            for with_bounds in True, False:
                protocol_data = method_data[protocol]
                fig = plt.figure()
                ax = fig.add_subplot(111)
                ax.set_xlabel("Users")
                ax.set_ylabel("Time (sec)")


                max_x,  max_y  = zip(*sorted(zip(*protocol_data['max']), sorter))
                mean_x, mean_y = zip(*sorted(zip(*protocol_data['avg']), sorter))
                std_x,  std_y  = zip(*sorted(zip(*protocol_data['std']), sorter))
                min_x,  min_y  = zip(*sorted(zip(*protocol_data['min']), sorter))

                ax.plot(max_x, max_y, 'r-')
                ax.errorbar(mean_x, mean_y, yerr=std_y, fmt='g-')
                ax.plot(min_x, min_y, 'b-')

                fname = get_figure_filename(protocol, method, date)
                if with_bounds:
                    ax.set_ybound(*ylim)
                else:
                    current_bounds = list(ax.get_ybound())
                    current_bounds[0] = 0
                    ax.set_ybound(*current_bounds)
                    fname = os.path.dirname(fname) + os.sep + "without_bounds_" + os.path.basename(fname)

                plt.savefig(fname)

if __name__ == '__main__':
    print_figures()
     N/A backend get_figure_filename working_methods all_data date N/A cfg MATPLOTLIB_BACKEND GET_FIGURE_FILENAME_CODE working_methods N/A N/A json dumps all_data indent 4 date N/A generate_figures_script N/A figures%sgenerate_figures_%s.py N/A N/A os sep date N/A N/A N/A N/A open generate_figures_script w write CODE N/A N/A print N/A Executing %s... generate_figures_script N/A N/A N/A os system N/A %s %s N/A N/A sys executable generate_figures_script N/A N/A print [done] N/A html N/A generate_html protocols configuration working_methods date N/A cfg SYSTEM N/A cfg RUNNING_CONFIGURATION N/A html_filename N/A botclient_%s.html date N/A N/A N/A N/A open html_filename w write html N/A verbose N/A N/A N/A print HTML file available in html_filename N/A N/A print N/A Finished plotting; %s N/A show_time N/A N/A flush N/A N/A N/A __name__ __main__ N/A N/A DATE D_2012_04_12_T_09_53_03 weblab.admin.bot.information_retriever get_raw_information N/A raw_information N/A get_raw_information DATE N/A N/A print_results raw_information configuration... DATE