def plot_results(dataset, label): data = [] total_times = [] if "responses" in dataset: for resp in dataset['responses']: if "total_time" in resp: total_times.append(float(resp["total_time"][:-5]) / 1000.00) #to seconds data.append(total_times) violin.violin_plot(data, bp=True, scale=True, labels=[label])
totalResponses += 1 totalTime += t times.append(t) print 'total itineraries %d, total time %0.3f, avg time per itinerary %0.3f' % (totalItin, totalTime, totalTime / totalItin) print 'itineraries per second:', float(totalResponses) / totalTime xbar = mean(times) param = 1/xbar print 'mean', xbar print 'maximum likelihood parameter for exponential distribution:', param times.sort() q = 0 # plot empirical and parametric distribution for i in range(0, 20) : empirical = quantile(times, q, presorted = True) parametric = expdist_cumulative(param, empirical) print empirical, q, parametric, expdist_density(param, empirical) q += 0.05 pos = range(4) data = [times for i in pos] fig = plot.figure() ax = fig.add_subplot(111) violin_plot(ax,data,pos,bp=True) plot.show()
#!/usr/bin/python import psycopg2, psycopg2.extras, violin # depends on peer authentication try: conn = psycopg2.connect("dbname='otpprofiler'") cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) except: print "Unable to connect to the database. Exiting." exit(-1) cur.execute("SELECT * FROM runs ORDER BY run_began DESC LIMIT 4") runs = cur.fetchall() run_ids = [run['run_id'] for run in runs] labels = [run['git_sha1'][:8] for run in runs] data = [] # AND avg_time > '1 second'::interval for run_id in run_ids : cur.execute("""SELECT avg_time FROM responses, requests WHERE responses.request_id = requests.request_id AND run_id = %s AND avg_time IS NOT NULL AND requests.mode LIKE '%%,TRANSIT'; """, (run_id,) ) times = [row[0].total_seconds() for row in cur] # convert datetime.timedelta to fractional seconds data.append(times) violin.violin_plot(data, bp=True, scale=True, labels=labels)
#!/usr/bin/python import psycopg2, psycopg2.extras, violin # depends on peer authentication try: conn = psycopg2.connect("dbname='otpprofiler'") cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) except: print "Unable to connect to the database. Exiting." exit(-1) cur.execute("SELECT * FROM runs ORDER BY run_began DESC LIMIT 4") runs = cur.fetchall() run_ids = [run['run_id'] for run in runs] labels = [run['git_sha1'][:8] for run in runs] data = [] # AND avg_time > '1 second'::interval for run_id in run_ids : cur.execute("""SELECT avg_time FROM responses, requests WHERE responses.request_id = requests.request_id AND run_id = %s AND avg_time IS NOT NULL AND requests.mode LIKE '%%,TRANSIT'; """, (run_id,) ) times = [row[0].total_seconds() for row in cur] # convert datetime.timedelta to fractional seconds data.append(times) print data violin.violin_plot(data, bp=True, scale=True, labels=labels)