public AzureMonitorTransmitter(AzureMonitorExporterOptions options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } options.Retry.MaxRetries = 0; ConnectionString.ConnectionStringParser.GetValues(options.ConnectionString, out _instrumentationKey, out string ingestionEndpoint); _applicationInsightsRestClient = new ApplicationInsightsRestClient(new ClientDiagnostics(options), HttpPipelineBuilder.Build(options), host: ingestionEndpoint); if (!options.DisableOfflineStorage) { try { _storage = new FileStorage(options.StorageDirectory); } catch (Exception) { // TODO: // log exception // Remove this when we add an option to disable offline storage. // So if someone opts in for storage and we cannot initialize, we can throw. // Change needed on persistent storage side to throw if not able to create storage directory. } } }
public AzureMonitorTransmitter(AzureMonitorExporterOptions options) { ConnectionStringParser.GetValues(options.ConnectionString, out _, out string ingestionEndpoint); options.Retry.MaxRetries = 0; options.AddPolicy(new IngestionResponsePolicy(), HttpPipelinePosition.PerCall); applicationInsightsRestClient = new ApplicationInsightsRestClient(new ClientDiagnostics(options), HttpPipelineBuilder.Build(options), host: ingestionEndpoint); }