public ReportTelemetryManager( ISmsStoreFactory factory, ServiceConfiguration configuration, BillingAgent billingAgent, MetricManager metricManager, ICredentialManager credentialManager) { this.store = factory.GetStore(); var account = CloudStorageAccount.Parse(configuration.TelemetryStoreConnectionString); this.client = account.CreateCloudTableClient(); this.summaryTable = this.client.GetTableReference(MessageSummaryTableName); this.detailTable = this.client.GetTableReference(MessageDetailTableName); this.batchTable = this.client.GetTableReference(MessageBatchRecordTableName); this.idMappingTable = this.client.GetTableReference(MessageIdMappingTableName); this.summaryTable.CreateIfNotExists(); this.detailTable.CreateIfNotExists(); this.batchTable.CreateIfNotExists(); this.idMappingTable.CreateIfNotExists(); this.billingAgent = billingAgent; this.metricManager = metricManager; this.credentialManager = credentialManager; this.updateLock = new SemaphoreSlim(1, 1); }
public ReportManager( ISmsStoreFactory factory, ServiceConfiguration configuration, BillingAgent billingAgent, MetricManager metricManager, ICredentialManager credentialManager /*,ITimeSeriesManager timeSeriesManager*/) { this.store = factory.GetStore(); this.telemetryManager = new ReportTelemetryManager( factory, configuration, billingAgent, metricManager, credentialManager); this.agents = new ConcurrentDictionary <string, ReportAgent>(); this.credentialManager = credentialManager; // this.timeSeriesManager = timeSeriesManager; this.Init().Wait(); }