-
Notifications
You must be signed in to change notification settings - Fork 0
/
Visualization.py
79 lines (68 loc) · 4.04 KB
/
Visualization.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
import pandas as pd
import matplotlib.pyplot as plt
import datetime
import matplotlib.ticker as ticker
class Visualization:
def dbReadResultPlot(self):
influxReadResults = pd.read_csv('read_influx.csv', usecols=[3, 5])
influxResponseTime = influxReadResults.requestStartTime
influxTimeDiff = influxReadResults.totalResponseDuration
postgresTimeDiff= pd.read_csv('read_postgres.csv', usecols=[5])
mongoTimeDiff = pd.read_csv('read_mongo.csv', usecols=[5])
cassandraTimeDiff = pd.read_csv('read_cassandra.csv', usecols=[5])
x_axis = [datetime.datetime.fromtimestamp(responseTime).strftime('%Y-%m-%d %H:%M:%S.%f') for responseTime in influxResponseTime]
tick_spacing = 30
fig, ax = plt.subplots(figsize=(20, 10))
fig.suptitle('Database Select Query Evaluation', fontsize=20)
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
plt.plot(x_axis, cassandraTimeDiff, 'b-', color='green', label='Cassandra Db')
plt.plot(x_axis, postgresTimeDiff, 'b-', color='blue', label='Postgres Db')
plt.plot(x_axis, mongoTimeDiff, 'b-', color='red', label='Mongo Db')
plt.plot(x_axis, influxTimeDiff, 'b-', color='yellow', label='Influx Db')
plt.legend(loc='best')
plt.ylabel('Response Time', fontsize=18)
plt.xlabel('Time', fontsize=16)
plt.xticks(rotation=90)
plt.show()
def dbWriteResultPlot(self):
influxReadResults = pd.read_csv('write_influx.csv', usecols=[3, 5])
influxResponseTime = influxReadResults.requestStartTime
influxTimeDiff = influxReadResults.totalResponseDuration
postgresTimeDiff= pd.read_csv('write_postgres.csv', usecols=[5])
mongoTimeDiff = pd.read_csv('write_mongo.csv', usecols=[5])
cassandraTimeDiff = pd.read_csv('write_cassandra.csv', usecols=[5])
x_axis = [datetime.datetime.fromtimestamp(responseTime).strftime('%Y-%m-%d %H:%M:%S.%f') for responseTime in influxResponseTime]
tick_spacing = 30
fig, ax = plt.subplots(figsize=(20, 10))
fig.suptitle('Database Write Query Evaluation', fontsize=20)
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
plt.plot(x_axis, cassandraTimeDiff, 'b-', color='green', label='Cassandra Db')
plt.plot(x_axis, postgresTimeDiff, 'b-', color='blue', label='Postgres Db')
plt.plot(x_axis, mongoTimeDiff, 'b-', color='red', label='Mongo Db')
plt.plot(x_axis, influxTimeDiff, 'b-', color='yellow', label='Influx Db')
plt.legend(loc='best')
plt.ylabel('Response Time', fontsize=18)
plt.xlabel('Time', fontsize=16)
plt.xticks(rotation=90)
plt.show()
def dbReadWithConditionResultPlot(self):
influxReadResults = pd.read_csv('read_with_condition_influx.csv', usecols=[3, 5])
influxResponseTime = influxReadResults.requestStartTime
influxTimeDiff = influxReadResults.totalResponseDuration
postgresTimeDiff= pd.read_csv('read_with_condition_postgres.csv', usecols=[5])
mongoTimeDiff = pd.read_csv('read_with_condition_mongo.csv', usecols=[5])
cassandraTimeDiff = pd.read_csv('read_with_condition_cassandra.csv', usecols=[5])
x_axis = [datetime.datetime.fromtimestamp(responseTime).strftime('%Y-%m-%d %H:%M:%S.%f') for responseTime in influxResponseTime]
tick_spacing = 30
fig, ax = plt.subplots(figsize=(20, 10))
fig.suptitle('Database Read with condition Evaluation', fontsize=20)
ax.xaxis.set_major_locator(ticker.MultipleLocator(tick_spacing))
plt.plot(x_axis, cassandraTimeDiff, 'b-', color='green', label='Cassandra Db')
plt.plot(x_axis, postgresTimeDiff, 'b-', color='blue', label='Postgres Db')
plt.plot(x_axis, mongoTimeDiff, 'b-', color='red', label='Mongo Db')
plt.plot(x_axis, influxTimeDiff, 'b-', color='yellow', label='Influx Db')
plt.legend(loc='best')
plt.ylabel('Response Time', fontsize=18)
plt.xlabel('Time', fontsize=16)
plt.xticks(rotation=90)
plt.show()