Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from elasticsearch import Elasticsearch
- from elasticsearch_dsl import Search
- import urllib3
- urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
- import datetime
- from datetime import timedelta
- import os
- url = 'https://grq-dev.smap.hysds.io/es/'
- username = 'jsiano'
- password = 'xxxxxxxxx'
- seven = datetime.date.today() - timedelta(7)
- six = datetime.date.today() - timedelta(6)
- five = datetime.date.today() - timedelta(5)
- four = datetime.date.today() - timedelta(4)
- three = datetime.date.today() - timedelta(3)
- two = datetime.date.today() - timedelta(2)
- one = datetime.date.today() - timedelta(1)
- def value_finder(index_name):
- set_index = index_name
- client = Elasticsearch(url, http_auth = (username, password), verify_certs = False, read_timeout=50, \
- terminate_after=25000)
- s = Search(using = client, index = set_index).query('terms', HalfOrbitStartDate = [seven, six, five, four, three, two, one])
- total = s.count()
- response = s[0:total].execute()
- ObsToIng_Array = np.array([])
- from datetime import datetime
- for hit in response:
- prt = hit.metadata.ProductReceivedTime
- prt = datetime.strptime(prt, '%Y-%m-%dT%H:%M:%S.%fZ')
- host = hit.metadata.HalfOrbitStartDateTime
- host = datetime.strptime(host, '%Y-%m-%dT%H:%M:%S.%fZ')
- ObsToIng = prt - host
- ObsToIng = (str(ObsToIng).split('.')[0])
- ObsToIng_Array = np.append(ObsToIng_Array, (ObsToIng))
- times = []
- for i in ObsToIng_Array:
- total = 0
- if 'day' in i:
- i = i.replace('days', 'day')
- total += int(i.split('day, ')[0].strip()) * 86400
- i = i.split('day, ')[1]
- hours, minutes, seconds = i.strip().split(":")
- total += int(hours) * 3600 + int(minutes) * 60 + int(seconds)
- times.append(total)
- return(times)
- def formatter(seconds):
- N = seconds
- minute = 60
- hour = 60 * 60
- day = 60 * 60 * 24
- DAY = N // day
- N -= DAY * day
- HOUR = N // hour
- N -= HOUR * hour
- MINUTE = N // minute
- N -= MINUTE * minute
- SECOND = N
- return ('{}:{}:{}:{}'.format(
- str(int(DAY)).zfill(2),
- str(int(HOUR)).zfill(2),
- str(int(MINUTE)).zfill(2),
- str(int(SECOND)).zfill(2)))
- def merge(vals):
- merged = []
- for i in vals:
- merged += i
- return merged
- times = merge([value_finder('grq_n15180_l0b_radiometer'), value_finder('grq_r15152_l0b_radiometer')])
- times_a = merge([value_finder('grq_r15152_l1a_radiometer'), value_finder('grq_n15180_l1a_radiometer')])
- min_val, max_val, mean_val, median_val = map(
- formatter,
- [min(times), max(times),
- np.mean(times), np.median(times)])
- amin_val, amax_val, amean_val, amedian_val = map(
- formatter,
- [min(times_a), max(times_a),
- np.mean(times_a), np.median(times_a)])
- f = open('latency.txt','w')
- f.write('Latency Report' + '\n')
- f.write('Report run at: ' + str(datetime.datetime.now())[:-7] + '\n'*2)
- f.write('min for l0b radiometer ' + str(min_val) + '\n')
- f.write('max for l0b radiometer ' + str(max_val) + '\n')
- f.write('mean for l0b radiometer ' + str(mean_val) + '\n')
- f.write('median for l0b radiometer ' + str(median_val) + '\n')
- f.write('min for l1a radiometer ' + str(amin_val) + '\n')
- f.write('max for l1a radiometer ' + str(amax_val) + '\n')
- f.write('mean for l1a radiometer ' + str(amean_val) + '\n')
- f.write('median for l1a radiometer ' + str(amedian_val) + '\n')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement