> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thoras.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Scaling Activity

> See every change Thoras made to a workload, and why

For a target in [autonomous mode](https://docs.thoras.ai/guides/enabling-autonomous-mode.md), the
**Autonomous scaling history** panel on the target's page lists every change
Thoras made to the workload: each pod it resized or evicted, each restart and
replica change, and each new pod it sized. Every entry shows the result of the
request and why Thoras made it. An accepted request does not mean the pod has
finished resizing or the rollout has completed. Today's activity refreshes every
15 seconds while the page is visible; use the date selector to look back up to
30 days. New pods are discovered once per minute, so their entries can take
roughly 75 seconds plus execution time to appear.

For a target in recommendation mode, the panel shows forecast history in the
same timeline and table layout. Entries show current and suggested values and
explain why changes were not applied. They describe suggestions, not pod
changes.

## What's recorded

| Change | Recorded when |
| - | - |
| Pod resize requested | Thoras patches a pod's CPU or memory without restarting it |
| Pod eviction requested | Thoras evicts a pod so it's recreated with new resources |
| Workload restart requested | Thoras restarts the Deployment, StatefulSet or Rollout |
| Replica change requested | Thoras sets the replica count |
| Sized new pod | Thoras sets a new pod's resources as it's created |
| Paused rollout | Thoras temporarily stops evictions when a rollout makes no progress |

Each change has an outcome:

* **Accepted**: Kubernetes accepted the request. Completion depends on the
  workload and cluster state.
* **Failed**: Kubernetes could not apply the change. When an admission policy
  prevents it, the entry identifies that cause without exposing internal policy
  names, expressions or cluster diagnostics.
* **Blocked**: a PodDisruptionBudget refused an eviction, or a rollout was
  paused. Thoras retries a blocked eviction on its next pass, and each attempt
  is listed.

Resizes and evictions from the same disruption cycle appear as one entry with a
pod count. Accepted, blocked and failed requests remain separate. Expand a group
to browse its individual pod requests and resource changes.

Expand a change to see why it was made (a new forecast, resources behind the
latest forecast, a stalled in-place resize, an out-of-memory kill, or a mode or
bounds change), the previous and requested resources per container, and the
forecast reasoning when a retained forecast is linked to the request.
Creation-time sizes appear only when captured by the webhook; they are not
inferred from later pod sizes.

## What isn't recorded

* Changes made while [scaling is paused](https://docs.thoras.ai/guides/pause-scaling.md): Thoras makes
  none, so none are listed.
* Replica counts Thoras adjusts as an HPA scales the workload, and changes made
  by a DaemonSetAutoscaler.
* Pods removed before the discovery job can observe them, and admissions older
  than the job's 10-minute lookback.

Scaling activity is shown in the in-cluster dashboard only, not in the Thoras
console.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.