# IActivationRebalancer Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.placement.rebalancing.iactivationrebalancer/)

## GetRebalancingReport(bool) {#getrebalancingreport-bool-4db0b254}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.placement.rebalancing.iactivationrebalancer/methods/getrebalancingreport-bool-4db0b254/)

```csharp
public abstract ValueTask<RebalancingReport> GetRebalancingReport(bool force = false)
```

Returns the rebalancing report. 

The report can lag behind if you choose a session cycle period less than `Orleans.Placement.Rebalancing.IActivationRebalancerMonitor.WorkerReportPeriod`.

### Parameters

- `force` (`bool`): If set to `true` returns the most current report.

## ResumeRebalancing {#resumerebalancing-d6876a2f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.placement.rebalancing.iactivationrebalancer/methods/resumerebalancing-d6876a2f/)

```csharp
public abstract Task ResumeRebalancing()
```

Resumes rebalancing if its suspended, otherwise its a no-op.

## SubscribeToReports(IActivationRebalancerReportListener) {#subscribetoreports-orleans-placement-rebalancing-iactivationrebalancerreportlist-df2b15db}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.placement.rebalancing.iactivationrebalancer/methods/subscribetoreports-orleans-placement-rebalancing-iactivationrebalancerreportlist-df2b15db/)

```csharp
public abstract void SubscribeToReports(IActivationRebalancerReportListener listener)
```

Subscribe to activation rebalancer reports.

### Parameters

- `listener` (`IActivationRebalancerReportListener`): The component that will be notified.

## SuspendRebalancing(TimeSpan?) {#suspendrebalancing-system-timespan-nullable-afe48404}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.placement.rebalancing.iactivationrebalancer/methods/suspendrebalancing-system-timespan-nullable-afe48404/)

```csharp
public abstract Task SuspendRebalancing(TimeSpan? duration = null)
```

Suspends rebalancing if its running, otherwise its a no-op.

### Parameters

- `duration` (`TimeSpan?`): The amount of time to suspend the rebalancer. 

`null` means suspend indefinitely.

## UnsubscribeFromReports(IActivationRebalancerReportListener) {#unsubscribefromreports-orleans-placement-rebalancing-iactivationrebalancerreport-abd95453}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.placement.rebalancing.iactivationrebalancer/methods/unsubscribefromreports-orleans-placement-rebalancing-iactivationrebalancerreport-abd95453/)

```csharp
public abstract void UnsubscribeFromReports(IActivationRebalancerReportListener listener)
```

Unsubscribe from activation rebalancer reports.

### Parameters

- `listener` (`IActivationRebalancerReportListener`): The already subscribed component.
