示例#1
0
 def setUp(self):
     super(TestExportCSV, self).setUp()
     conffile.reload()
     # Dernière mesure disponible dans le fichier
     self.last = 1232874484 # Sun Jan 25 10:08:04 2009.
     self.host = 'testserver'
     self.datasource = 'UpTime'
示例#2
0
    def setUp(self):
        """Called before every test case."""
        # Loading the application:
        super(TestRRDclass, self).setUp()

        # spécifique VigiRRD
        conffile.reload()
        dsname = "sysUpTime"
        rrdfilename = os.path.join(tg.config['rrd_base'], "testserver",
                                   "%s.rrd" % dsname)
        self.rrd = rrd.RRD(rrdfilename, "testserver")
示例#3
0
文件: root.py 项目: vigilo/vigirrd
    def graph(self, **kwargs):
        conffile.reload()
        # Par défaut, la légende est affichée.
        # Passer details=0 pour la désactiver.
        try:
            details = bool(int(kwargs.get('details', 1)))
        except ValueError:
            details = True

        try:
            timezone = int(kwargs.get('timezone'))
        except (ValueError, TypeError):
            # time.timezone utilise la notation POSIX dans laquelle
            # la direction du temps est inversée
            # (ie. UTC+01:00 = -3600 secondes).
            # Note: time.daylight indique juste que la timezone actuelle
            # supporte le changement d'heure DST, pas qu'il est actif,
            # il faut recourir à localtime() pour avoir cette information.
            if time.daylight and time.localtime().tm_isdst:
                timezone = -time.altzone / 60
            else:
                timezone = -time.timezone / 60

        # La durée par défaut est de 86400 secondes (1 journée).
        duration = int(kwargs.get("duration", 86400))
        # Si la durée est 0, vigirrd.lib.rrd utilise la date courante
        # comme date de fin. Si les machines ne sont pas synchronisées,
        # ceci provoque une erreur dans RRDtool (date début > date fin).
        if duration < 1:
            duration = 1

        # Par défaut, on prend la dernière tranche horaire.
        start = int(kwargs.get("start", time.time() - duration))
        # Dans le cas où la date se situe avant l'Epoch, on borne.
        # RRDtool rejetterait une telle date de toutes façons.
        if start < 0:
            start = 0

        filename = "%s_%s_%s_%s_%d.png" % (kwargs["host"],
                                           re.sub(r"[^\w]", "",
                                                kwargs["graphtemplate"]),
                                           start,
                                           duration,
                                           int(details)
                                           )
        image_file = os.path.join(config.get("image_cache_dir"), filename)
        try:
            rrd.showMergedRRDs(kwargs["host"], kwargs["graphtemplate"],
                               image_file, start, duration, details=details,
                               timezone=timezone)
        except rrd.RRDNoDSError, e:
            raise HTTPServiceUnavailable(str(e))
示例#4
0
    def test_getPeriodCF(self):
        """
        Récupération de la fonction de consolidation adéquate
        """
        conffile.reload()
        days = 86400
        rrdfile = rrd.RRD(
            os.path.join(tg.config['rrd_base'], "testserver", "cf.rrd"),
            "testserver"
        )
        ts = int(time.time())

        # Récupération de la fonction de consolidation pour l'archive
        # la plus précise : il doit s'agir de "LAST".
        self.assertEquals(rrdfile.getPeriodCF(ts - 1 * days), "LAST")

        # En revanche, pour l'archive juste après, il doit s'agit d' "AVERAGE".
        self.assertEquals(rrdfile.getPeriodCF(ts - 3 * days), "AVERAGE")
示例#5
0
    def setUp(self):
        # Loading the application:
        super(SortDSTestCase, self).setUp()

        # spécifique VigiRRD
        conffile.reload()
        rrdfilename = get_rrd_path("testserver", "sysUpTime",
                                   base_dir=tg.config['rrd_base'],
                                   path_mode=tg.config["rrd_path_mode"])
        rrdfilenames = {
            "DS1": rrdfilename,
            "DS2": rrdfilename,
        }
        self.rrd = rrd.RRD(rrdfilenames, "testserver")
        self.template = {"cdefs": [], "draw":
                    [{ "type": "LINE1", "color": "#EE0088" },
                     { "type": "LINE1", "color": "#FF5500" }],
               }
示例#6
0
 def setUp(self):
     super(TestGraph, self).setUp()
     conffile.reload()
     self.now = int(time.time())
示例#7
0
 def setUp(self):
     super(TestHTMLPages, self).setUp()
     conffile.reload()
     self.now = int(time.time())