# IBlockPoolMonitor Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.iblockpoolmonitor/)

## Report(long, long, long) {#report-long-long-long-384f4469}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.iblockpoolmonitor/methods/report-long-long-long-384f4469/)

```csharp
public abstract void Report(long totalSizeInByte, long availableMemoryInByte, long claimedMemoryInByte)
```

Periodically report block pool status

### Parameters

- `totalSizeInByte` (`long`): Total memory this block pool allocated.
- `availableMemoryInByte` (`long`): Memory which is available for allocating to caches.
- `claimedMemoryInByte` (`long`): Memory in use by caches.

## TrackMemoryAllocated(long) {#trackmemoryallocated-long-73cdd1d0}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.iblockpoolmonitor/methods/trackmemoryallocated-long-73cdd1d0/)

```csharp
public abstract void TrackMemoryAllocated(long allocatedMemoryInBytes)
```

Called when memory is newly allocated by the cache.

### Parameters

- `allocatedMemoryInBytes` (`long`): The allocated memory, in bytes.

## TrackMemoryReleased(long) {#trackmemoryreleased-long-d19de952}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.iblockpoolmonitor/methods/trackmemoryreleased-long-d19de952/)

```csharp
public abstract void TrackMemoryReleased(long releasedMemoryInBytes)
```

Called when memory is released by the cache.

### Parameters

- `releasedMemoryInBytes` (`long`): The released memory, in bytes.
