# rollup.progress

Reports the application's progress through the current request to the outside world. Useful for long computations, so operators watching the machine can tell it is alive and how far along it is.

## Usage

```ts twoslash
import { Rollup } from '@deroll/cmio';
const rollup = new Rollup();
declare const items: Uint8Array[];
declare function process(item: Uint8Array): void;
// ---cut---
for (const [i, item] of items.entries()) {
    process(item);
    rollup.progress(Math.floor(((i + 1) / items.length) * 1000));
}
```

## Returns

`void`

## Parameters

### value

* Type: `number`
* Required

Raw `uint32` progress value. The scale is application-defined — permille (as above) is a common convention.

## Errors

| Condition | Error |
| --- | --- |
| Underlying libcmt failure | `RollupError` with negative `errno` |
