[[PageOutline]] = Upload Statistics Monitoring in BOINC = Target : To Keep track of the statistics of how long it takes to upload files, and to report results and then to use that info to improve compute deadlines. The absolute time taken for upload of files is calculated (i.e. from the moment first file upload begins to the point where all uploads have completed). In order to calculate this time, in class **ACTIVE_TASK**, a variable is added as //bool first_upload_started//. Initially its value is set to **false**. Now in the function //upload_notify_app(const FILE_INFO* fip, const FILE_REF* frp)//, after //send_upload_file_status = true//, if //first_upload_started// is **false**, then it is set to **true** and the current time is recorded. This acts as the start time. Then for the end time, in class **RESULT**, as the return value of //is_upload_done// becomes **true**, that point of time is the end time, and the difference between these times acts as the upload time. With this value of time, an exponential average of times is maintained in order to get a usable value for improving compute deadlines.