internal EtlInMemoryProducer( DiskSpaceManager diskSpaceManager, IEtlInMemoryProducerConfigReaderFactory configReaderFactory, ITraceFileEventReaderFactory traceFileEventReaderFactory, ITraceEventSourceFactory traceEventSourceFactory, ProducerInitializationParameters initParam) { this.diskSpaceManager = diskSpaceManager; this.traceFileEventReaderFactory = traceFileEventReaderFactory; // Initialization this.traceSource = traceEventSourceFactory.CreateTraceEventSource(FabricEvents.Tasks.FabricDCA); this.logSourceId = string.Concat(initParam.ApplicationInstanceId, "_", initParam.SectionName); this.consumerSinks = initParam.ConsumerSinks; // Read settings var configReader = configReaderFactory.CreateEtlInMemoryProducerConfigReader(this.traceSource, this.logSourceId); this.etlInMemoryProducerSettings = configReader.GetSettings(); // ETL in-memory file processing is not enabled or we are not processing // winfab etl files, so return immediately if (false == this.etlInMemoryProducerSettings.Enabled || false == this.etlInMemoryProducerSettings.ProcessingWinFabEtlFiles) { return; } // Create a new worker object var newWorkerParam = new EtlInMemoryProducerWorker.EtlInMemoryProducerWorkerParameters() { TraceSource = this.traceSource, LogDirectory = initParam.LogDirectory, ProducerInstanceId = this.logSourceId, EtlInMemoryProducer = this, LatestSettings = this.etlInMemoryProducerSettings }; var newWorker = new EtlInMemoryProducerWorker( newWorkerParam, this.diskSpaceManager, this.traceFileEventReaderFactory); this.producerWorker = newWorker; }
public static EtlInMemoryProducerWorker.EtlInMemoryProducerWorkerSettings InitializeSettings(EtlInMemoryProducerWorker.EtlInMemoryProducerWorkerParameters param) { // For most settings we'll just apply the latest setting that the caller has provided return(new EtlInMemoryProducerWorker.EtlInMemoryProducerWorkerSettings { EtlReadInterval = param.LatestSettings.EtlReadInterval, EtlDeletionAge = param.LatestSettings.EtlDeletionAgeMinutes, WindowsFabricEtlType = param.LatestSettings.ServiceFabricEtlType, EtlPath = param.LatestSettings.EtlPath, EtlFilePatterns = param.LatestSettings.EtlFilePatterns, ProcessingWinFabEtlFiles = param.LatestSettings.ProcessingWinFabEtlFiles }); }