|
@@ -141,7 +141,7 @@ class DataCenter(object):
|
|
print(ex)
|
|
print(ex)
|
|
return []
|
|
return []
|
|
|
|
|
|
- def paths(self,time_stamp):
|
|
|
|
|
|
+ def paths(self, time_stamp):
|
|
try:
|
|
try:
|
|
day_stamp = self.day_stamp(time_stamp)
|
|
day_stamp = self.day_stamp(time_stamp)
|
|
hfive = h5py.File(self._file_name, 'r')
|
|
hfive = h5py.File(self._file_name, 'r')
|
|
@@ -184,10 +184,10 @@ class DataCenter(object):
|
|
for path, data in self.read_data(hfive, paths):
|
|
for path, data in self.read_data(hfive, paths):
|
|
data = np.array(data)
|
|
data = np.array(data)
|
|
predata = predata + data
|
|
predata = predata + data
|
|
- self._draw_plot(ax, x, day_stamp, start_pos,end_pos, data, interval, path)
|
|
|
|
|
|
+ self._draw_plot(ax, x, day_stamp, start_pos, end_pos, data, interval, path)
|
|
logger.info("path=%s", path)
|
|
logger.info("path=%s", path)
|
|
|
|
|
|
- self._draw_plot(ax, x, day_stamp, start_pos,end_pos, predata, interval, filer_text)
|
|
|
|
|
|
+ self._draw_plot(ax, x, day_stamp, start_pos, end_pos, predata, interval, filer_text)
|
|
|
|
|
|
ax.legend()
|
|
ax.legend()
|
|
ax.grid()
|
|
ax.grid()
|
|
@@ -208,8 +208,6 @@ class DataCenter(object):
|
|
for path in paths:
|
|
for path in paths:
|
|
yield path, hfive[path]
|
|
yield path, hfive[path]
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
def datasets(self, hfive, start_time, **kwargs):
|
|
def datasets(self, hfive, start_time, **kwargs):
|
|
logger = logging.getLogger('app')
|
|
logger = logging.getLogger('app')
|
|
|
|
|
|
@@ -269,7 +267,7 @@ class DataCenter(object):
|
|
|
|
|
|
return filer_text, paths
|
|
return filer_text, paths
|
|
|
|
|
|
- def _draw_plot(self, ax, x, day_stamp, start_pos,end_pos, data, interval=300, path=''):
|
|
|
|
|
|
+ def _draw_plot(self, ax, x, day_stamp, start_pos, end_pos, data, interval=300, path=''):
|
|
import matplotlib.dates as mdate
|
|
import matplotlib.dates as mdate
|
|
# 'commit-succ': 0, 'commit-fail': 1, 'notify-succ': 2, 'notify-fail': 3, 'user_succ': 4
|
|
# 'commit-succ': 0, 'commit-fail': 1, 'notify-succ': 2, 'notify-fail': 3, 'user_succ': 4
|
|
|
|
|
|
@@ -294,8 +292,35 @@ class DataCenter(object):
|
|
x = x[pos]
|
|
x = x[pos]
|
|
ySucc = ySucc[pos]
|
|
ySucc = ySucc[pos]
|
|
|
|
|
|
|
|
+ opened = np.where(ySucc > 0)
|
|
|
|
+ if len(opened) == 0:
|
|
|
|
+ return False
|
|
|
|
+
|
|
xs = np.array([stime.strftime('%H:%M', stime.localtime(d + day_stamp)) for d in x])
|
|
xs = np.array([stime.strftime('%H:%M', stime.localtime(d + day_stamp)) for d in x])
|
|
ax.yaxis.set_major_formatter(ticker.PercentFormatter(xmax=1, decimals=0))
|
|
ax.yaxis.set_major_formatter(ticker.PercentFormatter(xmax=1, decimals=0))
|
|
- ax.plot(xs, ySucc, ls='--', marker='o', label=path)
|
|
|
|
|
|
+ ax.plot(xs, ySucc, ls='--', marker='o', label=self._label(path))
|
|
|
|
+
|
|
|
|
+ return True
|
|
|
|
+
|
|
|
|
+ def _label(self,path):
|
|
|
|
+ items = re.split(r'/', path)
|
|
|
|
+ if len(items) == 6:
|
|
|
|
+ (_, _sday, _chname, _quality, _card_type, _amount) = items
|
|
|
|
+ card_type = ''
|
|
|
|
+ if _card_type == '1':
|
|
|
|
+ card_type = 'sy'
|
|
|
|
+ elif _card_type == '2':
|
|
|
|
+ card_type = 'sh'
|
|
|
|
+ elif _card_type == '4':
|
|
|
|
+ card_type = 'yd'
|
|
|
|
+ elif _card_type == '5':
|
|
|
|
+ card_type = 'lt'
|
|
|
|
+ elif _card_type == '6':
|
|
|
|
+ card_type = 'dianxin'
|
|
|
|
+ return f"{_chname}-{_quality}-{card_type}-{_amount}"
|
|
|
|
+ else:
|
|
|
|
+ return path
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
dataCenter = DataCenter()
|
|
dataCenter = DataCenter()
|