# IObjectPoolMonitor Methods

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

## Report(long, long, long) {#report-long-long-long-eecb40bf}

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

```csharp
public abstract void Report(long totalObjects, long availableObjects, long claimedObjects)
```

Called to report object pool status.

### Parameters

- `totalObjects` (`long`): Total size of object pool.
- `availableObjects` (`long`): Count for objects in the pool which is available for allocating.
- `claimedObjects` (`long`): Count for objects which are claimed, hence not available.

## TrackObjectAllocated {#trackobjectallocated-bf430f24}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.iobjectpoolmonitor/methods/trackobjectallocated-bf430f24/)

```csharp
public abstract void TrackObjectAllocated()
```

Called every time when an object is allocated.

## TrackObjectReleased {#trackobjectreleased-82f8fd32}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.iobjectpoolmonitor/methods/trackobjectreleased-82f8fd32/)

```csharp
public abstract void TrackObjectReleased()
```

Called every time an object was released back to the pool.
