

# Understanding data transfer performance counters
<a name="transfer-performance-counters"></a>

When you [start a task](run-task.md), AWS DataSync provides counters to help track your data transfer's performance and progress.

Use the following information to understand what each counter represents. You can view these counters in the DataSync console or a [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html) response. Some counters aren't available with every [task mode](choosing-task-mode.md).


| Console | `DescribeTaskExecution` | Task mode support | Description | 
| --- | --- | --- | --- | 
|  –  |  `BytesWritten`  |  Enhanced, Basic  |  The number of logical bytes that DataSync actually writes to the destination location.  | 
|  **Data throughput**  |  –  |  Enhanced, Basic  |  The rate at which DataSync writes logical bytes to the destination location. If you're using [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html), how you calculate this counter depends on your task mode: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/datasync/latest/userguide/transfer-performance-counters.html)  | 
| Data transferred |  `BytesTransferred`  |  Enhanced, Basic  |  The number of bytes that DataSync sends to the network before compression (if compression is possible). For the number of bytes transferred over the network, see the **Network throughput** (in console) or `BytesCompressed` (in [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html)) counter.  | 
|  **Deleted from destination**  |  `FilesDeleted`  |  Basic  |  The number of files, objects, and directories that DataSync actually deletes in your destination location. If you don't configure your task to [delete data in the destination that isn't in the source](configure-metadata.md#task-option-file-object-handling): [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  **Deleted from destination**  |   `FilesDeleted`, `FoldersDeleted`   |  Enhanced  |  The number of files or objects, and directories that DataSync actually deletes in your destination location. If you don't configure your task to [delete data in the destination that isn't in the source](configure-metadata.md#task-option-file-object-handling): [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  –  |  `EstimatedBytesToTransfer`  | Enhanced, Basic |  The number of logical bytes that DataSync expects to write to the destination location.  | 
|  –  |  `EstimatedFilesToDelete`  | Basic |  The number of files, objects, and directories that DataSync expects to delete in your destination location.  If you don't configure your task to [delete data in the destination that isn't in the source](configure-metadata.md#task-option-file-object-handling), the value is always `0`.  | 
|  –  |   `EstimatedFilesToDelete`, `EstimatedFoldersToDelete`   | Enhanced |  The number of files or objects, and directories that DataSync expects to delete in your destination location.  If you don't configure your task to [delete data in the destination that isn't in the source](configure-metadata.md#task-option-file-object-handling), the value is always `0`.  | 
|  –  |  `EstimatedFilesToTransfer`  |  Basic  |  The number of files, objects, and directories that DataSync expects to transfer over the network. This value is calculated while DataSync [prepares](run-task.md#understand-task-execution-statuses) the transfer. How this gets calculated depends primarily on the [transfer mode](configure-metadata.md#task-option-transfer-mode) you're using: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  –  |   `EstimatedFilesToTransfer`, `EstimatedFoldersToTransfer`   |  Enhanced  |  The number of files or objects, and directories that DataSync expects to transfer over the network. This value is calculated while DataSync [prepares](run-task.md#understand-task-execution-statuses) the transfer. How this gets calculated depends primarily on the [transfer mode](configure-metadata.md#task-option-transfer-mode) you're using: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  **File throughput**  |  –  |  Enhanced, Basic  |  The rate at which DataSync transfers files, objects, and directories over the network. If you're using [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html), how you calculate this counter depends on your task mode: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  –  |   `FilesFailed`, `FoldersFailed`   |  Enhanced  |  The number of files or objects, and directories that DataSync fails to prepare, transfer, verify, and delete during your task execution. If there are failures, you can see these alongside the **Prepared**, **Transferred**, **Skipped**, and **Deleted from destination** console counters, respectively.  | 
|  **Listed at source**  |   `FilesListed.AtSource`, `FoldersListed.AtSource`   |  Enhanced  |  The number of files or objects, and directories that DataSync finds at your source location. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  –  |   `FilesListed.AtDestinationForDelete`, `FoldersListed.AtDestinationForDelete`   |  Enhanced  |  The number of files or objects, and directories that DataSync finds at your destination location. This counter is only applicable if you configure your task to [delete data in the destination that isn't in the source](configure-metadata.md#task-option-file-object-handling).  | 
|  **Network throughput**\$1  |  `BytesCompressed`  |  Enhanced, Basic  |  The number of physical bytes that DataSync transfers over the network after compression (if compression is possible). This number is typically less than **Data transferred** (in console) or `BytesTransferred` (in [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html)) unless the data isn't compressible. \$1 For Enhanced mode, **Network throughput** doesn't display in the console.  | 
|  **Percent compressed**  |  –  |  Enhanced, Basic  |  The percentage of transfer data that DataSync compressed before sending it over the network. If you're using [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html), you can calculate this counter with `1 - BytesCompressed / BytesWritten`.  | 
|  **Prepared**  |   `FilesPrepared`, `FoldersPrepared`   |  Enhanced  |  The number of files or objects, and directories that DataSync will attempt to transfer after comparing your source and destination locations. In the console, this counter can also show you the number of objects that DataSync skips during preparation. For more information, see [How DataSync prepares your data transfer](how-datasync-transfer-works.md#how-datasync-prepares). This counter isn't applicable if you configure your task to [transfer all data](configure-metadata.md#task-option-transfer-mode). In that scenario, DataSync copies everything from the source to the destination without comparing differences between locations.  | 
|  **Processing rate**  |  –  |  Enhanced, Basic  |  The rate at which DataSync reads files, objects, and directories at your source location. The processing rate is based on several [CloudWatch metrics](monitor-datasync.md#accessing-metrics). The exact metrics depend on the task mode you're using. **Enhanced mode**: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/datasync/latest/userguide/transfer-performance-counters.html) **Basic mode:** [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/datasync/latest/userguide/transfer-performance-counters.html)  | 
|  **Remaining**  |  –  |  Basic  |  The remaining number of files, objects, and directories that DataSync expects to transfer over the network. If you're using [DescribeTaskExecution](https://docs.aws.amazon.com/datasync/latest/userguide/API_DescribeTaskExecution.html), you can calculate this counter by subtracting `FilesTransferred` from `EstimatedFilesToTransfer`.  | 
|  **Skipped**\$1  |  `FilesSkipped`  | Basic |  The number of files, objects, and directories that DataSync skips during your transfer.  | 
|  –  |   `FilesSkipped`, `FoldersSkipped`   | Enhanced |  The number of files or objects, and directories that DataSync skips during your transfer. **Skipped** items are included in the **Prepared** counter when [transferring only the data that has changed](configure-metadata.md#task-option-transfer-mode) or the **Transferred** counter when [transferring all data](configure-metadata.md#task-option-transfer-mode).  | 
|  **Transferred**  |  `FilesTransferred`  |  Basic  |  The number of files, objects, and directories that DataSync transfers over the network. This value is updated periodically during your task execution when something is read from the source and sent over the network. If DataSync fails to transfer something, this value can be less than `EstimatedFilesToTransfer` or `EstimatedFoldersToTransfer`. In some cases, this value can also be greater than `EstimatedFilesToTransfer` or `EstimatedFoldersToTransfer`. This counter is implementation-specific for some location types, so don't use it as an exact indication of what's transferring or to monitor your task execution.  | 
|  **Transferred**  |   `FilesTransferred`, `FoldersTransferred`   |  Enhanced  |  The number of files or objects, and directories that DataSync transfers over the network. This value is updated periodically during your task execution when something is read from the source and sent over the network. If DataSync fails to transfer something, this value can be less than `EstimatedFilesToTransfer` or `EstimatedFoldersToTransfer`. In some cases, this value can also be greater than `EstimatedFilesToTransfer` or `EstimatedFoldersToTransfer`. This counter is implementation-specific for some location types, so don't use it as an exact indication of what's transferring or to monitor your task execution.  | 
|  **Verified**  |  `FilesVerified`  |  Basic  |  The number of files, objects, and directories that DataSync verifies during your transfer. When you configure your task to [verify only transferred data](configure-data-verification-options.md), DataSync doesn't verify directories in some situations or files or objects that fail to transfer.  | 
|  **Verified**  |   `FilesVerified`, `FoldersVerified`   |  Enhanced  |  The number of files or objects, and directories that DataSync verifies during your transfer.  | 