Exemple #1
0
 private void CreateBufferPoolIfNotCreatedYet()
 {
     if (this.bufferPool == null)
     {
         // 1 meg block size pool
         this.blockPoolMonitorDimensions = new BlockPoolMonitorDimensions($"BlockPool-{Guid.NewGuid()}");
         var oneMb             = 1 << 20;
         var objectPoolMonitor = new ObjectPoolMonitorBridge(this.BlockPoolMonitorFactory(blockPoolMonitorDimensions, this.telemetryProducer), oneMb);
         this.bufferPool = new ObjectPool <FixedSizeBuffer>(() => new FixedSizeBuffer(oneMb), objectPoolMonitor, this.statisticOptions.StatisticMonitorWriteInterval);
     }
 }
 private void CreateBufferPoolIfNotCreatedYet()
 {
     if (this.bufferPool == null)
     {
         // 1 meg block size pool
         this.blockPoolMonitorDimensions = new BlockPoolMonitorDimensions(this.sharedDimensions, $"BlockPool-{Guid.NewGuid()}");
         var oneMb             = 1 << 20;
         var objectPoolMonitor = new ObjectPoolMonitorBridge(this.BlockPoolMonitorFactory(blockPoolMonitorDimensions, this.logger.GetSubLogger(typeof(DefaultBlockPoolMonitor).Name)), oneMb);
         this.bufferPool = new ObjectPool <FixedSizeBuffer>(() => new FixedSizeBuffer(oneMb), objectPoolMonitor, this.adapterConfig.StatisticMonitorWriteInterval);
     }
 }
 /// <summary>
 /// Function used to configure BufferPool for EventHubQueueCache. User can override this function to provide more customization on BufferPool creation
 /// </summary>
 protected virtual IObjectPool <FixedSizeBuffer> CreateBufferPool(EventHubStreamProviderSettings providerSettings, Logger logger, EventHubMonitorAggregationDimensions sharedDimensions, ITelemetryProducer telemetryProducer, out string blockPoolId)
 {
     if (this.bufferPool == null)
     {
         var bufferSize = 1 << 20;
         this.bufferPoolId = $"BlockPool-{new Guid().ToString()}-BlockSize-{bufferSize}";
         var monitorDimensions = new EventHubBlockPoolMonitorDimensions(sharedDimensions, this.bufferPoolId);
         var objectPoolMonitor = new ObjectPoolMonitorBridge(this.BlockPoolMonitorFactory(monitorDimensions, logger, telemetryProducer), bufferSize);
         this.bufferPool = new ObjectPool <FixedSizeBuffer>(() => new FixedSizeBuffer(bufferSize),
                                                            objectPoolMonitor, providerSettings.StatisticMonitorWriteInterval);
     }
     blockPoolId = this.bufferPoolId;
     return(this.bufferPool);
 }