# MemoryAdapterFactory&lt;TSerializer&gt; Fields

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/)

## BlockPoolMonitorFactory {#blockpoolmonitorfactory-e116e8c7}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/fields/blockpoolmonitorfactory-e116e8c7/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs)

```csharp
protected Func<BlockPoolMonitorDimensions, IBlockPoolMonitor>? BlockPoolMonitorFactory
```

Create a block pool monitor to monitor block pool related metrics Return a IBlockPoolMonitor

## CacheMonitorFactory {#cachemonitorfactory-fb6406cc}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/fields/cachemonitorfactory-fb6406cc/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs)

```csharp
protected Func<CacheMonitorDimensions, ICacheMonitor>? CacheMonitorFactory
```

Create a cache monitor to report cache related metrics Return a ICacheMonitor

## ReceiverMonitorFactory {#receivermonitorfactory-fc95a6bd}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.memoryadapterfactory-1/fields/receivermonitorfactory-fc95a6bd/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Orleans.Streaming/MemoryStreams/MemoryAdapterFactory.cs)

```csharp
protected Func<ReceiverMonitorDimensions, IQueueAdapterReceiverMonitor>? ReceiverMonitorFactory
```

Create a monitor to monitor QueueAdapterReceiver related metrics Return a IQueueAdapterReceiverMonitor
