def progress(self, progress, total):
        """Boto progress callback function. 
        
        Logs the progress. 
        """
        
        path = self.path
        elapsed_ms = int(time.time() * 1000) - self.start_ms
        throughput = ((progress * 1.0) / (1024**2)) / ((elapsed_ms / 1000) or 1)
        
        if progress == total:
            pattern = "Transfered file {path} in {elapsed_ms:d} ms size "\
            "{total} at {throughput:f} MB/sec"
        else:
            pattern = "Progress transfering file {path} elapsed "\
            "{elapsed_ms:d} ms, transferred "\
            "{progress} bytes at {throughput:f} MB/sec {total} "\
            "total"

        self.log.info(pattern.format(**vars()))
        return
dataset/ETHPy150Open amorton/cassback/cassback/endpoints/endpoints.py/TransferTiming.progress/original