def point(__url, __m, __time, __tag): tsdbclass = useTSDB.u_ee_tsdb(__url, __time) tsdbclass.set_metric(__m) tag = __tag if (tag == None) : return print tsdbclass.readOnePoint(__time, tag, 'sum') cnt = 0 loop = 0
def countall(__url, __m, __st, __et, __listname): tsdbclass = useTSDB.u_ee_tsdb(__url, __st, __et) tsdbclass.set_metric(__m) cnt = 0 loop = 0 dt = datetime.datetime.strptime(__st, "%Y%m%d%H%M") __st_unix = time.mktime(dt.timetuple()) dt = datetime.datetime.strptime(__et, "%Y%m%d%H%M") __et_unix = time.mktime(dt.timetuple()) diff = __et_unix - __st_unix unit_num = 1 + int(diff) / (15*60) countlist = dict() retdict = dict() ratedict = dict() retdict["description"] = 'count dps number and time unit number, then return as dict' retdict['count'] = countlist #dict member retdict['rate'] = ratedict #dict member retdict['denom'] = unit_num retdict['period'] = __st + ' ' + __et ids = __listname _pos = 0 for i in ids : _pos += 1 #tsdb에서 데이터 읽어오기 #인자 (태그, aggregation of openTSDB) _buf_dict = tsdbclass.readTSD(i,'zimsum') if _buf_dict is None: continue for (k, v) in _buf_dict['dps'].items(): if v > 0.001 : v = 1 cnt = cnt + v countlist[str(i)] = cnt r = format(100 * float(cnt) / unit_num, '06.2f') ratedict[str(i)] = r cnt = 0 pout = ' progress : ' + '%s/%s \r' %(_pos, len(ids)) sys.stdout.write(pout) sys.stdout.flush() return retdict
def cpmetric(__url, __m, __st, __et, __wm): tsdbclass = useTSDB.u_ee_tsdb(__url, __st, __et) tsdbclass.set_metric(__m) cnt = 0 loop = 0 for tagid in ltelist : print tagid[0] #tsdb에서 데이터 읽어오기 _buf_dict = tsdbclass.readTSD(tagid[0], 'sum') if _buf_dict is None: continue for (k, v) in _buf_dict['dps'].items(): #pair = '%s=%s' % (k, v) __ut = '%s' %(k) __v = '%s' %(v) __qv = '%s' %(3*v/4.0) cnt = cnt + v loop = loop + 1 print __ut sockWriteTSD( __wm, __ut, __qv, tagid[0] ) print "processing ....", tagid[0], '>'
dix = 1 tagdata = ['aa', 'aa', 'aa', 'aa'] ids = _mds_id.led_list toendpoint = len(ids) # DAY _ loop # sday 시작일 eday 종료일 mday 시작~종료까지 증가하는 date # lds : loop days sday, eday = ch2date(__st, __et) mday = sday lds = repr(eday - sday) lds = lds[lds.index('(') + 1:lds.index(')')] # TSDB 시작일만 등록 tsdbclass = useTSDB.u_ee_tsdb(__url, __st) tsdbclass.set_metric('rc03_simple_data_led_v2') while (eday != mday): # just day count dix = dix + 1 # mday 데이터 처리 # print mday # 모든 MDSiD에 대해서 처리, MDSID는 위의 import _mds_id 에서 읽음 for i in range(toendpoint): mds_id = ids[i] _tag = {'mds_id': str(mds_id)}
def rtest(__url, __m, __tag): tsdbclass = useTSDB.u_ee_tsdb(__url, None, None, True) tsdbclass.set_metric(__m) tag = __tag if (tag == None) : return print tsdbclass.readTSDrecent(tag, 'sum')
def ptest(__url, __st, __et, __m): tsdbclass = useTSDB.u_ee_tsdb(__url, __st, __et) tag = __m if (tag == None) : return tsdbclass.set_metric(tag) print tsdbclass.readTSD()