Fixed some issues
This commit is contained in:
parent
2f6610ab3f
commit
5e8a7c3a36
1 changed files with 55 additions and 33 deletions
|
|
@ -134,25 +134,32 @@ def query_requests_by_period(project_id, start_time, end_time, conn=None):
|
|||
|
||||
source_idx = columns.index('source')
|
||||
duration_idx = columns.index('avg_duration')
|
||||
success_idx = columns.index('success_rate')
|
||||
delta_duration = dict()
|
||||
delta_success = dict()
|
||||
# success_idx = columns.index('success_rate')
|
||||
# delta_duration = dict()
|
||||
# delta_success = dict()
|
||||
new_duration_values = dict()
|
||||
duration_values = dict()
|
||||
for n in common_names:
|
||||
d1_tmp = _table_where(table_hh1, source_idx, n)
|
||||
d2_tmp = _table_where(table_hh2, source_idx, n)
|
||||
_duration1 = _mean_table_index(d2_tmp, duration_idx)
|
||||
if _duration1 == 0:
|
||||
old_duration = _mean_table_index(d2_tmp, duration_idx)
|
||||
new_duration = _mean_table_index(d1_tmp, duration_idx)
|
||||
if old_duration == 0:
|
||||
continue
|
||||
delta_duration[n] = (_mean_table_index(d1_tmp, duration_idx) - _duration1) / _duration1
|
||||
delta_success[n] = _mean_table_index(d1_tmp, success_idx) - _mean_table_index(d2_tmp, success_idx)
|
||||
duration_values[n] = new_duration, old_duration, (new_duration-old_duration)/old_duration
|
||||
# delta_duration[n] = (_mean_table_index(d1_tmp, duration_idx) - _duration1) / _duration1
|
||||
# delta_success[n] = _mean_table_index(d1_tmp, success_idx) - _mean_table_index(d2_tmp, success_idx)
|
||||
for n in new_hosts:
|
||||
d1_tmp = _table_where(table_hh1, source_idx, n)
|
||||
new_duration_values[n] = _mean_table_index(d1_tmp, duration_idx)
|
||||
|
||||
#names_idx = columns.index('names')
|
||||
#names_idx = columns.index('names')
|
||||
total = _sum_table_index(table_hh1, duration_idx)
|
||||
d1_tmp = _sort_table_index(table_hh1, duration_idx, reverse=True)
|
||||
_tmp = _table_slice(d1_tmp, duration_idx)
|
||||
_tmp2 = _table_slice(d1_tmp, source_idx)
|
||||
|
||||
increase = sorted(delta_duration.items(), key=lambda k: k[1], reverse=True)
|
||||
increase = sorted(duration_values.items(), key=lambda k: k[1][-1], reverse=True)
|
||||
ratio = sorted(zip(_tmp2, _tmp), key=lambda k: k[1], reverse=True)
|
||||
# names_ = set([k[0] for k in increase[:3]+ratio[:3]]+new_hosts[:3])
|
||||
names_ = set([k[0] for k in increase[:3] + ratio[:3]]) # we took out new hosts since they dont give much info
|
||||
|
|
@ -164,12 +171,15 @@ def query_requests_by_period(project_id, start_time, end_time, conn=None):
|
|||
data_ = {'category': 'network', 'name': n, 'value': None, 'oldValue': None, 'ratio': None, 'change': None, 'isNew': True}
|
||||
for n_, v in ratio:
|
||||
if n == n_:
|
||||
data_['value'] = v
|
||||
if n in new_hosts:
|
||||
data_['value'] = new_duration_values[n]
|
||||
data_['ratio'] = v/total
|
||||
break
|
||||
for n_, v in increase:
|
||||
if n == n_:
|
||||
data_['change'] = v
|
||||
data_['value'] = v[0]
|
||||
data_['oldValue'] = v[1]
|
||||
data_['change'] = v[2]
|
||||
data_['isNew'] = False
|
||||
break
|
||||
results.append(data_)
|
||||
|
|
@ -206,7 +216,6 @@ def query_most_errors_by_period(project_id, start_time, end_time, conn=None):
|
|||
|
||||
table_hh1, table_hh2, columns, this_period_errors, last_period_errors = __get_two_values(res, time_index='hh',
|
||||
name_index='names')
|
||||
print(f'res {res}')
|
||||
del res
|
||||
|
||||
new_errors = [x for x in this_period_errors if x not in last_period_errors]
|
||||
|
|
@ -216,16 +225,21 @@ def query_most_errors_by_period(project_id, start_time, end_time, conn=None):
|
|||
names_idx = columns.index('names')
|
||||
percentage_errors = dict()
|
||||
total = _sum_table_index(table_hh1, sessions_idx)
|
||||
error_increase = dict()
|
||||
# error_increase = dict()
|
||||
new_error_values = dict()
|
||||
error_values = dict()
|
||||
for n in this_period_errors:
|
||||
percentage_errors[n] = _sum_table_index(_table_where(table_hh1, names_idx, n), sessions_idx)
|
||||
new_error_values[n] = _sum_table_index(_table_where(table_hh1, names_idx, n), names_idx)
|
||||
for n in common_errors:
|
||||
errors_ = _sum_table_index(_table_where(table_hh2, names_idx, n), names_idx)
|
||||
if errors_ == 0:
|
||||
old_errors = _sum_table_index(_table_where(table_hh2, names_idx, n), names_idx)
|
||||
if old_errors == 0:
|
||||
continue
|
||||
error_increase[n] = (_sum_table_index(_table_where(table_hh1, names_idx, n), names_idx) - errors_) / errors_
|
||||
new_errors = _sum_table_index(_table_where(table_hh1, names_idx, n), names_idx)
|
||||
# error_increase[n] = (new_errors - old_errors) / old_errors
|
||||
error_values[n] = new_errors, old_errors, (new_errors - old_errors) / old_errors
|
||||
ratio = sorted(percentage_errors.items(), key=lambda k: k[1], reverse=True)
|
||||
increase = sorted(error_increase.items(), key=lambda k: k[1], reverse=True)
|
||||
increase = sorted(error_values.items(), key=lambda k: k[1][-1], reverse=True)
|
||||
names_ = set([k[0] for k in increase[:3] + ratio[:3]] + new_errors[:3])
|
||||
|
||||
results = list()
|
||||
|
|
@ -235,12 +249,15 @@ def query_most_errors_by_period(project_id, start_time, end_time, conn=None):
|
|||
data_ = {'category': 'errors', 'name': n, 'value': None, 'oldValue': None, 'ratio': None, 'change': None, 'isNew': True}
|
||||
for n_, v in ratio:
|
||||
if n == n_:
|
||||
data_['value'] = v
|
||||
if n in new_errors:
|
||||
data_['value'] = new_error_values[n]
|
||||
data_['ratio'] = v/total
|
||||
break
|
||||
for n_, v in increase:
|
||||
if n == n_:
|
||||
data_['change'] = v
|
||||
data_['value'] = v[0]
|
||||
data_['oldValue'] = v[1]
|
||||
data_['change'] = v[2]
|
||||
data_['isNew'] = False
|
||||
break
|
||||
results.append(data_)
|
||||
|
|
@ -321,15 +338,9 @@ def query_click_rage_by_period(project_id, start_time, end_time, conn=None):
|
|||
if conn is None:
|
||||
with ch_client.ClickHouseClient() as conn:
|
||||
query = conn.format(query=query, params=params)
|
||||
print("--------------------")
|
||||
print(query)
|
||||
print("--------------------")
|
||||
res = conn.execute(query=query)
|
||||
else:
|
||||
query = conn.format(query=query, params=params)
|
||||
print("--------------------")
|
||||
print(query)
|
||||
print("--------------------")
|
||||
res = conn.execute(query=query)
|
||||
|
||||
table_hh1, table_hh2, columns, this_period_rage, last_period_rage = __get_two_values(res, time_index='hh',
|
||||
|
|
@ -338,24 +349,32 @@ def query_click_rage_by_period(project_id, start_time, end_time, conn=None):
|
|||
|
||||
new_names = [x for x in this_period_rage if x not in last_period_rage]
|
||||
common_names = [x for x in this_period_rage if x not in new_names]
|
||||
print(f'[res...] {new_names}\n')
|
||||
print(f'[common...] {common_names}\n')
|
||||
|
||||
sessions_idx = columns.index('sessions')
|
||||
names_idx = columns.index('sources')
|
||||
|
||||
raged_increment = dict()
|
||||
# raged_increment = dict()
|
||||
raged_values = dict()
|
||||
new_raged_values = dict()
|
||||
# TODO verify line (188) _tmp = table_hh2[:, sessions_idx][n].sum()
|
||||
for n in common_names:
|
||||
if n is None:
|
||||
continue
|
||||
_tmp = _sum_table_index(_table_where(table_hh2, names_idx, n), sessions_idx)
|
||||
raged_increment[n] = (_sum_table_index(_table_where(table_hh1, names_idx, n), sessions_idx) - _tmp) / _tmp
|
||||
_oldvalue = _sum_table_index(_table_where(table_hh2, names_idx, n), sessions_idx)
|
||||
_newvalue = _sum_table_index(_table_where(table_hh1, names_idx, n), sessions_idx)
|
||||
# raged_increment[n] = (_newvalue - _oldvalue) / _oldvalue
|
||||
raged_values[n] = _newvalue, _oldvalue, (_newvalue - _oldvalue) / _oldvalue
|
||||
|
||||
for n in new_names:
|
||||
if n is None:
|
||||
continue
|
||||
_newvalue = _sum_table_index(_table_where(table_hh1, names_idx, n), sessions_idx)
|
||||
new_raged_values[n] = _newvalue
|
||||
|
||||
total = _sum_table_index(table_hh1, sessions_idx)
|
||||
names, ratio = _table_slice(table_hh1, names_idx), _table_slice(table_hh1, sessions_idx)
|
||||
ratio = sorted(zip(names, ratio), key=lambda k: k[1], reverse=True)
|
||||
increase = sorted(raged_increment.items(), key=lambda k: k[1], reverse=True)
|
||||
increase = sorted(raged_values.items(), key=lambda k: k[1][-1], reverse=True)
|
||||
names_ = set([k[0] for k in increase[:3] + ratio[:3]] + new_names[:3])
|
||||
|
||||
results = list()
|
||||
|
|
@ -365,12 +384,15 @@ def query_click_rage_by_period(project_id, start_time, end_time, conn=None):
|
|||
data_ = {'category': 'rage', 'name': n, 'value': None, 'oldValue': None, 'ratio': None, 'change': None, 'isNew': True}
|
||||
for n_, v in ratio:
|
||||
if n == n_:
|
||||
data_['value'] = v
|
||||
if n in new_names:
|
||||
data_['value'] = new_raged_values[n]
|
||||
data_['ratio'] = v/total
|
||||
break
|
||||
for n_, v in increase:
|
||||
if n == n_:
|
||||
data_['change'] = v
|
||||
data_['value'] = v[0]
|
||||
data_['oldValue'] = v[1]
|
||||
data_['change'] = v[2]
|
||||
data_['isNew'] = False
|
||||
break
|
||||
results.append(data_)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue