Example #1
0
    def load_quantile(self, datestring):
        """
        retuns quantile for this specific tsa, either load cache version,
        or recreate from tsa

        parameters:
        datestring <str>

        returns:
        <QuantileArray>
        """
        cachedir = self.__get_cachedir(datestring)
        cachefilename = os.path.join(cachedir, "quantile.json")
        quantile_array = None
        if os.path.isfile(cachefilename):
            quantile_array = QuantileArray.load(open(cachefilename, "rb"))
        else:
            logging.info("cachefile %s does not exist, fallback read from tsa archive", cachefilename)
            tsa = self.load_tsa(datestring)
            tsa.cache = True # to enable in memory caching of timeseries
            # huge performance improvement, from 500s to 70s
            tsastats = self.load_tsastats(datestring)
            quantile_array = QuantileArray(tsa, tsastats)
            quantile_array.dump(open(cachefilename, "wb"))
        return quantile_array