use log scale
This commit is contained in:
parent
e58514884c
commit
5d5398e265
|
@ -0,0 +1,21 @@
|
|||
import math
|
||||
|
||||
# https://www.geeksforgeeks.org/python-intensity-transformation-operations-on-images/
|
||||
|
||||
max = 1.0
|
||||
c = max/(math.log(1.0 + max))
|
||||
|
||||
|
||||
# def log_scale(x):
|
||||
# y = c * math.log(1.0 + x, base)
|
||||
# return y
|
||||
|
||||
|
||||
def invlog_scale(x):
|
||||
m=10
|
||||
return (pow(2,x * m)-1)/(pow(2,m)-1)
|
||||
|
||||
if __name__=="__main__":
|
||||
print("c=", c)
|
||||
x = invlog_scale(.98)
|
||||
print("x=", x)
|
|
@ -2,7 +2,12 @@ import math
|
|||
from typing import Union, Any
|
||||
|
||||
import pg8000.native
|
||||
import log_scale
|
||||
|
||||
# x: 0..1
|
||||
# out: "80%"
|
||||
def format_width(x):
|
||||
return format(100.0 * x, "#.1f") + '%'
|
||||
|
||||
def calc_bars(row):
|
||||
successful_transactions = row['successful_transactions']
|
||||
|
@ -11,9 +16,20 @@ def calc_bars(row):
|
|||
total = processed_transactions + banking_stage_errors
|
||||
if total > 0:
|
||||
row['hide_bar'] = False
|
||||
row['bar_success'] = format(100.0 * successful_transactions / total, '#.1f') + '%'
|
||||
row['bar_txerror'] = format(100.0 * (processed_transactions - successful_transactions) / total, '#.1f') + '%'
|
||||
row['bar_bankingerror'] = format(100.0 * banking_stage_errors / total, '#.1f') + '%'
|
||||
a = successful_transactions / total
|
||||
b = processed_transactions / total
|
||||
c = (processed_transactions + banking_stage_errors) / total # effectively 1.0
|
||||
|
||||
print("a=", a, "b=", b, "c=", c)
|
||||
la = log_scale.invlog_scale(a)
|
||||
lb = log_scale.invlog_scale(b)
|
||||
lc = log_scale.invlog_scale(c)
|
||||
print("la=", la, "lb=", lb, "lc=", lc)
|
||||
|
||||
row['bar_success'] = format_width(la)
|
||||
row['bar_txerror'] = format_width(lb - la)
|
||||
row['bar_bankingerror'] = format_width(lc - lb)
|
||||
print(row['bar_success'], row['bar_txerror'], row['bar_bankingerror'])
|
||||
else:
|
||||
row['hide_bar'] = True
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th class="text-muted">Slot #</th>
|
||||
<th class="text-muted">Block content</th>
|
||||
<th class="text-muted">Block content (log scale)</th>
|
||||
<th class="text-muted text-end">Tx errors/total</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
@ -11,17 +11,15 @@
|
|||
<tr>
|
||||
<td><span class="text-primary"> {{ block.slot }} </span></td>
|
||||
<td>
|
||||
<div style="width:10em">
|
||||
<div style="width:20em">
|
||||
|
||||
{% if not block.hide_bar %}
|
||||
<div class="progress">
|
||||
<div class="progress-bar bg-info" role="progressbar" style="width:{{ block.bar_success }}"></div>
|
||||
<div class="progress-bar bg-warning" role="progressbar" style="width:{{ block.bar_txerror }}"></div>
|
||||
<div class="progress-bar bg-danger" role="progressbar" style="width:{{ block.bar_bankingerror }}"></div>
|
||||
</div>
|
||||
<div>
|
||||
{{ block.bar_success }} / {{ block.bar_txerror }} / {{ block.bar_bankingerror }}
|
||||
<div class="progress-bar bg-info" role="progressbar" style="width:{{ block.bar_success }}">{{ block.bar_success }}</div>
|
||||
<div class="progress-bar bg-warning" role="progressbar" style="width:{{ block.bar_txerror }}">{{ block.bar_txerror }}</div>
|
||||
<div class="progress-bar bg-danger" role="progressbar" style="width:{{ block.bar_bankingerror }}">{{ block.bar_bankingerror }}</div>
|
||||
</div>
|
||||
<!-- {{ block.bar_success }} / {{ block.bar_txerror }} / {{ block.bar_bankingerror }} -->
|
||||
{% else %}
|
||||
<div class="progress">
|
||||
<div class="progress-bar" role="progressbar" style="width: 0%"></div>
|
||||
|
|
Loading…
Reference in New Issue