def backtest(session_id): obj = Littlefield('group6', 'coronado91', session_id) th_dict = {'queue_th': 100, 'util_th': 0.99} _orders = [] _average_order = [] _average_sum = 0 ords = obj.completed_jobs.count() ord = obj.orders.job_arrivals() for ind in range(len(ords[0][2])): calculate_station1_R(obj, ind, th_dict) calculate_station2_R(obj, ind, th_dict) calculate_station3_R(obj, ind, th_dict) print("Order at time ", ind, " is ", ord[ind]) _orders.append(ord[ind][1]) print("#####################################################") for ind, val in enumerate(_orders): print(ind, " ,", val) if ind <= len(ords[0][2]) - 5: _average_order.append(sum(_orders[ind:ind + 5]) / 5) print("order 5 day average:") print(_average_order) # export to a csv file import csv with open('average_demand.csv', 'w+') as csvfile: csv_writer = csv.writer(csvfile, delimiter=',') csv_writer.writerow(_average_order)
def backtest_throughput_rate(session_id): obj = Littlefield('group6', 'coronado91', session_id) th_dict = {'queue_th': 100, 'util_th': 0.90} ord = obj.orders.job_arrivals() rev = obj.completed_jobs.revenues() jobs = obj.completed_jobs.count() ave_demand = 0 for ind in range(len(ord) - 5, len(ord)): calculate_station1_R(obj, ind, th_dict) calculate_station2_R(obj, ind, th_dict) calculate_station3_R(obj, ind, th_dict) print("Order at time ", ind, " is ", ord[ind]) #print(jobs) print("Contract 1 completed jobs for ", ind, " is ", jobs[0][2][ind]) print("Contract 2 completed jobs for ", ind, " is ", jobs[1][2][ind]) print("Contract 3 completed jobs for ", ind, " is ", jobs[2][2][ind]) print("Contract 1 Rev at time ", ind, " is ", rev[0][2][ind]) print("Contract 2 Rev at time ", ind, " is ", rev[1][2][ind]) print("Contract 3 Rev at time ", ind, " is ", rev[2][2][ind]) ave_demand = ave_demand + ord[ind][1] print("#####################################################") print("Average Demand = ", ave_demand / 5)
from raven import Client raven = Client(os.getenv("LITTLEFIELD_RAVEN_DSN")) try: from littlefield import Littlefield def avg(data, size): return sum(data[((size*-1)-1):-1])/size config = False if len(sys.argv) > 1: if sys.argv[1] == "config": config = True if config: print("""graph_title Station Utilitization graph_info Shows the utilitization of each station graph_category littlefield graph_scale no graph_args --upper-limit 100 -l 0 graph_vlabel %""") for station in range(1, 4): if config: print("station%s.label Station %s" % (station, station)) print("station%s.warning 10:80" % station) else: littlefield = Littlefield(os.getenv("LITTLEFIELD_USER"), os.getenv("LITTLEFIELD_PW")) util = littlefield.get_data("S%sUTIL" % station)['average'] print("station%s.value %s" % (station, util[-1]*100)) except: raven.captureException()
#!/usr/bin/env python from littlefield import Littlefield from configparser import ConfigParser from bokeh.plotting import figure, output_server, show, gridplot config = ConfigParser() config.read(['littlefield.ini']) littlefield = Littlefield(config['littlefield']['user'], config['littlefield']['password']) output_server("littlefield") datatypes = [ "JOBIN", # Number of jobs accepted per day "JOBQ", # Number of jobs waiting "INV", # Inventory levels "JOBOUT", # Number of completed jobs "JOBT", # Lead times "JOBREV", # Revenue "S1Q", # Number of kits queued for station 1 "S1UTIL", # Station 1 utilitization by day "S2Q", # number of kits queued for station 2 "S2UTIL", # Station 2 utilitization by day "S3Q", # number of kits queued for station 3 "S3UTIL" # Station 3 utilitization by day ] plots = [] for datatype in datatypes: print(datatype) data = littlefield.get_data(datatype)