Advertisement
Guest User

Untitled

a guest
Aug 3rd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.38 KB | None | 0 0
  1. from elasticsearch import Elasticsearch
  2. from elasticsearch_dsl import Search
  3. import urllib3
  4. urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
  5. import datetime
  6. from datetime import timedelta
  7. import os
  8.  
  9. url = 'https://grq-dev.smap.hysds.io/es/'
  10. username = 'jsiano'
  11. password = 'xxxxxxxxx'
  12.  
  13. seven = datetime.date.today() - timedelta(7)
  14. six = datetime.date.today() - timedelta(6)
  15. five = datetime.date.today() - timedelta(5)
  16. four = datetime.date.today() - timedelta(4)
  17. three = datetime.date.today() - timedelta(3)
  18. two = datetime.date.today() - timedelta(2)
  19. one = datetime.date.today() - timedelta(1)
  20.  
  21. def value_finder(index_name):
  22. set_index = index_name
  23. client = Elasticsearch(url, http_auth = (username, password), verify_certs = False, read_timeout=50, \
  24. terminate_after=25000)
  25. s = Search(using = client, index = set_index).query('terms', HalfOrbitStartDate = [seven, six, five, four, three, two, one])
  26. total = s.count()
  27. response = s[0:total].execute()
  28. ObsToIng_Array = np.array([])
  29.  
  30. from datetime import datetime
  31.  
  32. for hit in response:
  33. prt = hit.metadata.ProductReceivedTime
  34. prt = datetime.strptime(prt, '%Y-%m-%dT%H:%M:%S.%fZ')
  35. host = hit.metadata.HalfOrbitStartDateTime
  36. host = datetime.strptime(host, '%Y-%m-%dT%H:%M:%S.%fZ')
  37. ObsToIng = prt - host
  38. ObsToIng = (str(ObsToIng).split('.')[0])
  39. ObsToIng_Array = np.append(ObsToIng_Array, (ObsToIng))
  40.  
  41. times = []
  42.  
  43. for i in ObsToIng_Array:
  44. total = 0
  45. if 'day' in i:
  46. i = i.replace('days', 'day')
  47. total += int(i.split('day, ')[0].strip()) * 86400
  48. i = i.split('day, ')[1]
  49. hours, minutes, seconds = i.strip().split(":")
  50. total += int(hours) * 3600 + int(minutes) * 60 + int(seconds)
  51. times.append(total)
  52.  
  53. return(times)
  54.  
  55.  
  56. def formatter(seconds):
  57. N = seconds
  58. minute = 60
  59. hour = 60 * 60
  60. day = 60 * 60 * 24
  61.  
  62. DAY = N // day
  63. N -= DAY * day
  64. HOUR = N // hour
  65. N -= HOUR * hour
  66. MINUTE = N // minute
  67. N -= MINUTE * minute
  68. SECOND = N
  69. return ('{}:{}:{}:{}'.format(
  70. str(int(DAY)).zfill(2),
  71. str(int(HOUR)).zfill(2),
  72. str(int(MINUTE)).zfill(2),
  73. str(int(SECOND)).zfill(2)))
  74.  
  75.  
  76.  
  77.  
  78. def merge(vals):
  79. merged = []
  80. for i in vals:
  81. merged += i
  82. return merged
  83.  
  84. times = merge([value_finder('grq_n15180_l0b_radiometer'), value_finder('grq_r15152_l0b_radiometer')])
  85. times_a = merge([value_finder('grq_r15152_l1a_radiometer'), value_finder('grq_n15180_l1a_radiometer')])
  86.  
  87. min_val, max_val, mean_val, median_val = map(
  88. formatter,
  89. [min(times), max(times),
  90. np.mean(times), np.median(times)])
  91.  
  92. amin_val, amax_val, amean_val, amedian_val = map(
  93. formatter,
  94. [min(times_a), max(times_a),
  95. np.mean(times_a), np.median(times_a)])
  96.  
  97. f = open('latency.txt','w')
  98. f.write('Latency Report' + '\n')
  99. f.write('Report run at: ' + str(datetime.datetime.now())[:-7] + '\n'*2)
  100. f.write('min for l0b radiometer ' + str(min_val) + '\n')
  101. f.write('max for l0b radiometer ' + str(max_val) + '\n')
  102. f.write('mean for l0b radiometer ' + str(mean_val) + '\n')
  103. f.write('median for l0b radiometer ' + str(median_val) + '\n')
  104. f.write('min for l1a radiometer ' + str(amin_val) + '\n')
  105. f.write('max for l1a radiometer ' + str(amax_val) + '\n')
  106. f.write('mean for l1a radiometer ' + str(amean_val) + '\n')
  107. f.write('median for l1a radiometer ' + str(amedian_val) + '\n')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement