Exemplo n.º 1
0
 def cms_site_avail(self):
     url = self.metadata['dashboard_sam_url_all']
     req = urllib2.Request(url, headers={"Accept": "text/xml"})
     handler = urllib2.HTTPHandler()
     fp = handler.http_open(req)
     dom = parse(fp)
     cherrypy.response.headers['Content-Type'] = 'image/png'
     data_dom = dom.getElementsByTagName("data")[0]
     data = {}
     begin = None
     end = None
     for item in data_dom.getElementsByTagName("item"):
         timestamp_dom = item.getElementsByTagName("TimeStamp")[0]
         av_dom = item.getElementsByTagName("AvValue")[0]
         voname_dom = item.getElementsByTagName("VOName")[0]
         timestamp_str = str(timestamp_dom.firstChild.data)
         time_tuple = time.strptime(timestamp_str, '%Y-%m-%d %H:%M:%S')
         timestamp = datetime.datetime(*time_tuple[:6])
         if not begin:
             begin = timestamp
         if not end:
             end = timestamp
         begin = min(timestamp, begin)
         end = max(timestamp, end)
         av = float(av_dom.firstChild.data)
         voname = str(voname_dom.firstChild.data)
         site_dict = data.get(voname, {})
         data[voname] = site_dict
         site_dict[timestamp] = av
     metadata = {
         'title': 'CMS SAM Availability',
         'span': 86400,
         'starttime': begin,
         'endtime': end,
         'fixed-height': False,
         'color_override': {
             -2: 'grey'
         }
     }
     fp = cStringIO.StringIO()
     QM = QualityMap()
     QM(data, fp, metadata)
     return fp.getvalue()
Exemplo n.º 2
0
span = 3600


# Generate our time series
def make_time_data():
    end_time = time.time()
    end_time -= end_time % span
    begin_time = end_time - 24 * span
    data = {}
    for i in range(begin_time, end_time, span):
        data[i] = random.random()
    return begin_time, end_time, data


QM = QualityMap()

# Data generation
full_data = {}
for i in range(10):
    team_name = 'Team %i' % i
    begin_time, end_time, data = make_time_data()
    full_data[team_name] = data

metadata = {
    'title': 'Quality Plot w.r.t. Time',
    'starttime': begin_time,
    'endtime': end_time,
    'span': span
}
filename = expand_string('$HOME/tmp/quality_map.png', os.environ)