Health measures external BT data coverage or the average number of copies. It does not measure local download progress or file integrity. This page describes the file health column introduced in v2.24 and the corresponding task health tooltips.
Health includes pieces claimed by connected BT peers and an estimated contribution from known, unconnected complete BT seeds. It excludes your local copy, Long-Term Seeds and eMule sources.
Each estimated unconnected complete seed contributes one complete copy. The estimate is the number of known seeds in the peer pool minus the connected seeds, with a minimum of zero. It is not simply the seed count reported by a tracker.
Health can exceed 100%. A value below 100% means there is an external-source gap within the current scope. A value of 100% or more means that scope is covered according to source claims and estimates; it does not guarantee a successful connection, transfer or completed download. Even a locally complete file can have 0% health.
| Item | Before completion | After completion |
|---|---|---|
| BT task | Pieces currently waiting to be downloaded | All pieces in the task |
| Individual file | The byte ranges of the file within pieces not yet owned | The entire file |
For a task, completion means there are no waiting pieces. If you select only some files, completing that selection can switch task health to all pieces, including those belonging to unselected files.
A file is complete for this calculation when all pieces touching it are considered owned by BitComet, including verified pieces and existing data trusted by the program. If a shared piece is not yet considered owned, its intersection with the file remains in the remaining-data scope even if those bytes have already been written to disk. Selecting or deselecting a file does not change its health rules.
After choosing the scope, determine whether it is fully covered by external sources. Task health gives each piece equal weight; file health weights each piece by the actual number of bytes it contributes to the file.
Let:
The scope is considered fully covered when A = B or U > 0.
| Case | Scope | Health |
|---|---|---|
| Incomplete, remaining data has gaps | Waiting pieces / remaining file ranges | floor(100 × A / B)% |
| Incomplete, remaining data is fully covered | Same as above | floor(100 × (R + U × B) / B)% |
| Complete, full scope has external-source gaps | All task pieces / entire file | floor(100 × A / B)% |
| Complete, full scope is fully covered | Same as above | floor(100 × (R + U × B) / B)% |
floor means rounding down: 2 / 3 is displayed as 66%. When gaps exist, health measures coverage so that many copies of popular pieces cannot hide missing pieces. Once coverage is complete, it measures the average number of copies.
There are four pieces. In the incomplete examples, only the last two are waiting to be downloaded. Copy counts below refer to connected external peers and exclude your local copy.
| State | Copies of the four pieces | U | Calculation | Health |
|---|---|---|---|---|
| Incomplete, remaining gap | [5, 5, 0, 3] | 0 | 1 / 2 | 50% |
| Incomplete, remaining scope covered | [5, 5, 1, 3] | 0 | (1 + 3) / 2 | 200% |
| Complete, external gaps | [0, 0, 0, 3] | 0 | 1 / 4 | 25% |
| Complete, full external coverage | [1, 1, 1, 3] | 0 | 6 / 4 | 150% |
| Incomplete, one unconnected complete seed | [5, 5, 0, 3] | 1 | (3 + 1 × 2) / 2 | 250% |
| State | B | A | R | U | Health |
|---|---|---|---|---|---|
| Incomplete, remaining gap | 8 MiB | 3 MiB | 9 MiB | 0 | 37% |
| Incomplete, remaining scope covered | 8 MiB | 8 MiB | 12 MiB | 0 | 150% |
| Complete, external gaps | 8 MiB | 3 MiB | 9 MiB | 0 | 37% |
| Complete, full external coverage | 8 MiB | 8 MiB | 12 MiB | 0 | 150% |
| Incomplete, one unconnected complete seed | 8 MiB | 3 MiB | 9 MiB | 1 | 212% |
1 MiB is 1,048,576 bytes. Calculations use actual bytes; the units above are for readability.
If a file occupies 1 MiB in one piece and 3 MiB in another, only the first piece has a source, and U = 0, its health is 25%, not the 50% obtained by counting two equally weighted pieces. Even a single-file task can therefore differ from its file health because the last piece may be shorter. Selective downloading can also give the task and file different scopes.
The tooltip explains completion, whether the scope is fully covered, the selected formula and its actual numerator and denominator. Task operands are piece counts; file operands are byte counts. They come from the same statistics snapshot and are not reconstructed from the rounded percentage.
For example, a file with 8 MiB remaining and 12 MiB of external copies, with full coverage, has 150% health. File tooltips show readable sizes and exact byte counts in parentheses. Exact counts use comma grouping and have no B suffix inside the parentheses. In the full-coverage formula, the numerator includes the estimated contribution from unconnected complete seeds.
A note at the bottom states that estimated unconnected complete BT seeds are included and the local copy is excluded.