ark::logging::tools::TransferProgressMetrics

Defined in header “ark/logging/tools/progress_output.hh”.


A helper class that allows you to emit progress of a download/upload in a pretty fashion.

Methods

  • void print(const char * transfer_type, bool final_output)
    Prints out the metrics to stdout. Pass in a string indicating if we are uploading or downloading.

Variables

  • std::chrono::steady_clock::time_point start_time= std::chrono::steady_clock::now()
    Time the download started.

  • std::chrono::steady_clock::time_point rate_window_start_time= std::chrono::steady_clock::now()
    Time the last rate window was calculated (at roughly 1Hz).

  • uint64_t bytes_transferred_at_rate_start= 0
    Bytes transferred when the last window began.

  • double rate_mbs= -1.0
    Last rate, in MB/s.

  • std::atomic< uint64_t > bytes_transferred= 0
    Total bytes transferred so far.

  • std::atomic< uint64_t > splits_transferred= 0
    Total splits transferred so far.

  • uint64_t splits_needed= 0
    Total number of files expected.

  • uint64_t manifests_needed= 1
    Total number of manifest files expected.