Example #1
0
    def render_lease_last_cycle_results(self, ctx, data):
        lc = self.storage.lease_checker
        h = lc.get_state()["history"]
        if not h:
            return ""
        last = h[max(h.keys())]

        start, end = last["cycle-start-finish-times"]
        ctx.tag["Last complete cycle (which took %s and finished %s ago)"
                " recovered: " % (abbreviate_time(end-start),
                                  abbreviate_time(time.time() - end)),
                self.format_recovered(last["space-recovered"], "actual")
                ]

        p = T.ul()
        def add(*pieces):
            p[T.li[pieces]]

        saw = self.format_recovered(last["space-recovered"], "examined")
        add("and saw a total of ", saw)

        if not last["expiration-enabled"]:
            rec = self.format_recovered(last["space-recovered"], "configured")
            add("but expiration was not enabled. If it had been, "
                "it would have recovered: ", rec)

        if last["corrupt-shares"]:
            add("Corrupt shares:",
                T.ul[ [T.li[ ["SI %s shnum %d" % corrupt_share
                              for corrupt_share in last["corrupt-shares"] ]
                             ]]])

        return ctx.tag[p]
Example #2
0
    def format_crawler_progress(self, p):
        cycletime = p["estimated-time-per-cycle"]
        cycletime_s = ""
        if cycletime is not None:
            cycletime_s = " (estimated cycle time %s)" % abbreviate_time(
                cycletime)

        if p["cycle-in-progress"]:
            pct = p["cycle-complete-percentage"]
            soon = p["remaining-sleep-time"]

            eta = p["estimated-cycle-complete-time-left"]
            eta_s = ""
            if eta is not None:
                eta_s = " (ETA %ds)" % eta

            return [
                "Current crawl %.1f%% complete" % pct,
                eta_s,
                " (next work in %s)" % abbreviate_time(soon),
                cycletime_s,
            ]
        else:
            soon = p["remaining-wait-time"]
            return ["Next crawl in %s" % abbreviate_time(soon), cycletime_s]
Example #3
0
 def server_timings(self, req, tag):
     per_server = self._publish_status.timings.get("send_per_server")
     if not per_server:
         return tag()
     l = tags.ul()
     for server in sorted(per_server.keys(), key=lambda s: s.get_name()):
         times_s = ", ".join(
             [abbreviate_time(t) for t in per_server[server]])
         l(tags.li("[%s]: %s" % (server.get_name(), times_s)))
     return tags.li("Per-Server Response Times: ", l)
Example #4
0
 def server_timings(self, req, tag):
     per_server = self._update_status.timings.get("per_server")
     if not per_server:
         return tag("")
     l = tags.ul()
     for server in sorted(per_server.keys(), key=lambda s: s.get_name()):
         times = []
         for op, started, t in per_server[server]:
             #times.append("%s/%.4fs/%s/%s" % (op,
             #                              started,
             #                              self.render_time(None, started - self.update_status.get_started()),
             #                              self.render_time(None,t)))
             if op == "query":
                 times.append(abbreviate_time(t))
             elif op == "late":
                 times.append("late(" + abbreviate_time(t) + ")")
             else:
                 times.append("privkey(" + abbreviate_time(t) + ")")
         times_s = ", ".join(times)
         l(tags.li("[%s]: %s" % (server.get_name(), times_s)))
     return tags.li("Per-Server Response Times: ", l)
Example #5
0
 def test_abbreviate_time(self):
     self.failUnlessReallyEqual(common.abbreviate_time(None), "")
     self.failUnlessReallyEqual(common.abbreviate_time(1.234), "1.23s")
     self.failUnlessReallyEqual(common.abbreviate_time(0.123), "123ms")
     self.failUnlessReallyEqual(common.abbreviate_time(0.00123), "1.2ms")
     self.failUnlessReallyEqual(common.abbreviate_time(0.000123), "123us")
     self.failUnlessReallyEqual(common.abbreviate_time(-123000), "-123000000000us")
Example #6
0
    def lease_last_cycle_results(self, req, tag):
        lc = self._storage.lease_checker
        h = lc.get_state()["history"]
        if not h:
            return ""
        biggest = str(max(int(k) for k in h.keys()))
        last = h[biggest]

        start, end = last["cycle-start-finish-times"]
        tag(
            "Last complete cycle (which took %s and finished %s ago)"
            " recovered: " %
            (abbreviate_time(end - start), abbreviate_time(time.time() - end)),
            self.format_recovered(last["space-recovered"], "actual"))

        p = T.ul()

        def add(*pieces):
            p(T.li(pieces))

        saw = self.format_recovered(last["space-recovered"], "examined")
        add("and saw a total of ", saw)

        if not last["expiration-enabled"]:
            rec = self.format_recovered(last["space-recovered"], "configured")
            add(
                "but expiration was not enabled. If it had been, "
                "it would have recovered: ", rec)

        if last["corrupt-shares"]:
            add(
                "Corrupt shares:",
                T.ul((T.li([
                    "SI %s shnum %d" % (si, shnum)
                    for si, shnum in last["corrupt-shares"]
                ]))))

        return tag(p)
Example #7
0
    def render_lease_last_cycle_results(self, ctx, data):
        lc = self.storage.lease_checker
        h = lc.get_state()["history"]
        if not h:
            return ""
        last = h[max(h.keys())]

        start, end = last["cycle-start-finish-times"]
        ctx.tag["Last complete cycle (which took %s and finished %s ago)"
                " recovered: " % (abbreviate_time(end - start),
                                  abbreviate_time(time.time() - end)),
                self.format_recovered(last["space-recovered"], "actual")]

        p = T.ul()

        def add(*pieces):
            p[T.li[pieces]]

        saw = self.format_recovered(last["space-recovered"], "examined")
        add("and saw a total of ", saw)

        if not last["expiration-enabled"]:
            rec = self.format_recovered(last["space-recovered"], "configured")
            add(
                "but expiration was not enabled. If it had been, "
                "it would have recovered: ", rec)

        if last["corrupt-shares"]:
            add(
                "Corrupt shares:", T.ul[[
                    T.li[[
                        "SI %s shnum %d" % corrupt_share
                        for corrupt_share in last["corrupt-shares"]
                    ]]
                ]])

        return ctx.tag[p]
Example #8
0
    def format_crawler_progress(self, p):
        cycletime = p["estimated-time-per-cycle"]
        cycletime_s = ""
        if cycletime is not None:
            cycletime_s = " (estimated cycle time %s)" % abbreviate_time(cycletime)

        if p["cycle-in-progress"]:
            pct = p["cycle-complete-percentage"]
            soon = p["remaining-sleep-time"]

            eta = p["estimated-cycle-complete-time-left"]
            eta_s = ""
            if eta is not None:
                eta_s = " (ETA %ds)" % eta

            return ["Current crawl %.1f%% complete" % pct,
                    eta_s,
                    " (next work in %s)" % abbreviate_time(soon),
                    cycletime_s,
                    ]
        else:
            soon = p["remaining-wait-time"]
            return ["Next crawl in %s" % abbreviate_time(soon),
                    cycletime_s]
Example #9
0
 def render_lease_expiration_mode(self, ctx, data):
     lc = self.storage.lease_checker
     if lc.mode == "age":
         if lc.override_lease_duration is None:
             ctx.tag["Leases will expire naturally, probably 31 days after "
                     "creation or renewal."]
         else:
             ctx.tag["Leases created or last renewed more than %s ago "
                     "will be considered expired."
                     % abbreviate_time(lc.override_lease_duration)]
     else:
         assert lc.mode == "cutoff-date"
         localizedutcdate = time.strftime("%d-%b-%Y", time.gmtime(lc.cutoff_date))
         isoutcdate = time_format.iso_utc_date(lc.cutoff_date)
         ctx.tag["Leases created or last renewed before %s (%s) UTC "
                 "will be considered expired." % (isoutcdate, localizedutcdate, )]
     if len(lc.mode) > 2:
         ctx.tag[" The following sharetypes will be expired: ",
                 " ".join(sorted(lc.sharetypes_to_expire)), "."]
     return ctx.tag
Example #10
0
 def render_lease_expiration_mode(self, ctx, data):
     lc = self.storage.lease_checker
     if lc.mode == "age":
         if lc.override_lease_duration is None:
             ctx.tag["Leases will expire naturally, probably 31 days after "
                     "creation or renewal."]
         else:
             ctx.tag["Leases created or last renewed more than %s ago "
                     "will be considered expired." %
                     abbreviate_time(lc.override_lease_duration)]
     else:
         assert lc.mode == "cutoff-date"
         localizedutcdate = time.strftime("%d-%b-%Y",
                                          time.gmtime(lc.cutoff_date))
         isoutcdate = time_format.iso_utc_date(lc.cutoff_date)
         ctx.tag["Leases created or last renewed before %s (%s) UTC "
                 "will be considered expired." % (
                     isoutcdate,
                     localizedutcdate,
                 )]
     if len(lc.mode) > 2:
         ctx.tag[" The following sharetypes will be expired: ",
                 " ".join(sorted(lc.sharetypes_to_expire)), "."]
     return ctx.tag
Example #11
0
 def render_time(self, ctx, data):
     return abbreviate_time(data)
Example #12
0
 def render_time(self, ctx, data):
     return abbreviate_time(data)
Example #13
0
    def test_abbreviate_time(self):
        self.failUnlessReallyEqual(common.abbreviate_time(None), "")
        self.failUnlessReallyEqual(common.abbreviate_time(1.234), "1.23s")
        self.failUnlessReallyEqual(common.abbreviate_time(0.123), "123ms")
        self.failUnlessReallyEqual(common.abbreviate_time(0.00123), "1.2ms")
        self.failUnlessReallyEqual(common.abbreviate_time(0.000123), "123us")
        self.failUnlessReallyEqual(common.abbreviate_time(-123000),
                                   "-123000000000us")
        self.failUnlessReallyEqual(common.abbreviate_time(2.5), "2.50s")
        self.failUnlessReallyEqual(common.abbreviate_time(0.25), "250ms")
        self.failUnlessReallyEqual(common.abbreviate_time(0.0021), "2.1ms")

        self.failUnlessReallyEqual(common.abbreviate_time(None), "")
        self.failUnlessReallyEqual(common.abbreviate_time(2.5), "2.50s")
        self.failUnlessReallyEqual(common.abbreviate_time(0.25), "250ms")
        self.failUnlessReallyEqual(common.abbreviate_time(0.0021), "2.1ms")
        self.failUnlessReallyEqual(common.abbreviate_time(0.000123), "123us")
        self.failUnlessReallyEqual(common.abbreviate_rate(None), "")
        self.failUnlessReallyEqual(common.abbreviate_rate(2500000), "2.50MBps")
        self.failUnlessReallyEqual(common.abbreviate_rate(30100), "30.1kBps")
        self.failUnlessReallyEqual(common.abbreviate_rate(123), "123Bps")
Example #14
0
 def _get_update_status_timing(self, name, tag):
     res = self._update_status.timings.get(name)
     if not res:
         return tag("0")
     return tag(abbreviate_time(res))