Пример #1
0
def getSummaryArgs(dmd, args):
    zem = dmd.ZenEventManager
    startDate = args.get('startDate', zem.defaultAvailabilityStart())
    endDate = args.get('endDate', zem.defaultAvailabilityEnd())
    startDate, endDate = map(Time.ParseUSDate, (startDate, endDate))
    endDate = Time.getEndOfDay(endDate)
    startDate = min(startDate, endDate - 24 * 60 * 60 + 1) # endDate - 23:59:59
    how = args.get('how', 'AVERAGE')
    return dict(start=startDate, end=endDate, function=how)
    def getAvailability(self, state, **kw):
        import Availability
        allowedFilters = (
            "device", "component", "eventClass", "systems", "severity",
            "prodState", "manager", "agent", "DeviceClass", "Location",
            "System", "DeviceGroup", "DevicePriority", "monitor")

        for name in allowedFilters:
            if hasattr(state, name):
                kw.setdefault(name, getattr(state, name))
        if getattr(state, 'startDate', None) is not None:
            kw.setdefault('startDate', Time.ParseUSDate(state.startDate))
        if getattr(state, 'endDate', None) is not None:
            # End date needs to be inclusive of events that occurred on that
            # date. So we advance to the last second of the day.
            kw.setdefault('endDate', Time.getEndOfDay(Time.ParseUSDate(
                state.endDate)))
        kw.setdefault('startDate',
                      time.time() - 60*60*24*self.defaultAvailabilityDays)
        return Availability.query(self.dmd, **kw)
Пример #3
0
    def getAvailability(self, state, **kw):
        import Availability
        allowedFilters = ("device", "component", "eventClass", "systems",
                          "severity", "prodState", "manager", "agent",
                          "DeviceClass", "Location", "System", "DeviceGroup",
                          "DevicePriority", "monitor")

        for name in allowedFilters:
            if hasattr(state, name):
                kw.setdefault(name, getattr(state, name))
        if getattr(state, 'startDate', None) is not None:
            kw.setdefault('startDate', Time.ParseUSDate(state.startDate))
        if getattr(state, 'endDate', None) is not None:
            # End date needs to be inclusive of events that occurred on that
            # date. So we advance to the last second of the day.
            kw.setdefault('endDate',
                          Time.getEndOfDay(Time.ParseUSDate(state.endDate)))
        kw.setdefault(
            'startDate',
            time.time() - 60 * 60 * 24 * self.defaultAvailabilityDays)
        return Availability.query(self.dmd, **kw)