[API reference](https://evolu.dev/docs/api-reference) › [@evolu/common](https://evolu.dev/docs/api-reference/common) › [Schedule](https://evolu.dev/docs/api-reference/common/Schedule) › tapScheduleOutput

```ts
function tapScheduleOutput<Output>(
  f: (output: Output) => void,
): <Input>(schedule: Schedule<Output, Input>) => Schedule<Output, Input>;
```

Defined in: [packages/common/src/Schedule.ts:1407](https://github.com/evoluhq/evolu/blob/e7144e2bbe9069362b62dec1b64a8aa922b8f1b0/packages/common/src/Schedule.ts#L1407)

Executes a side effect for every output without altering the schedule.

Useful for logging, monitoring, or debugging without changing schedule
behavior.

### Example

```ts
// Log each delay for debugging
const logged = tapScheduleOutput((delay: Millis) => {
  console.log(`Next delay: ${delay}ms`);
})(exponential("100ms"));

// Track metrics
const recorded: Array<Millis> = [];
const tracked = tapScheduleOutput((delay: Millis) => {
  recorded.push(delay);
})(retryStrategyAws);
```