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])
Esempio n. 2
0
    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()





Esempio n. 3
0
#!/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)

Esempio n. 4
0
#!/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)