public GrpcReportsTransport(IOptions <GrpcReportsTransportOptions> options, ILogger <GrpcReportsTransport> logger) { Options = options.Value ?? throw new ArgumentNullException(); HttpClient httpClient = null; if (Options.NeedHttpClientFunc != null) { httpClient = Options.NeedHttpClientFunc(); } else if (Options.AllowAnyRemoteCertificate) { var httpClientHandler = new HttpClientHandler { ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator }; httpClient = new HttpClient(httpClientHandler); } var grpcChannelOptions = new GrpcChannelOptions { HttpClient = httpClient }; if (Options.PostConfigGrpcChannelOptions != null) { Options.PostConfigGrpcChannelOptions(grpcChannelOptions); } var channel = GrpcChannel.ForAddress(Options.CollectorAddress, grpcChannelOptions); _client = new GrpcCollector.GrpcCollectorClient(channel); _RequestCollection = new AsyncCallbackDeferFlushCollection <RequestInfoWithDetail>(Push, 50, 5); _logger = logger; }
public HttpTransport(IOptions <HttpTransportOptions> options, ILogger <HttpTransport> logger, IHttpClientFactory httpClientFactory) { _options = options.Value ?? throw new ArgumentNullException(); _logger = logger; _httpClientFactory = httpClientFactory; _RequestBagCollection = new AsyncCallbackDeferFlushCollection <RequestBag>(Push, _options.DeferThreshold, _options.DeferSecond); }
public BaseStorage(BaseStorageOptions options) { _options = options; _deferFlushCollection = new AsyncCallbackDeferFlushCollection <RequestBag>(AddRequestInfoAsync, _options.DeferThreshold, _options.DeferSecond); freeSql = new FreeSql.FreeSqlBuilder().UseConnectionString(_options.DataType, _options.ConnectionString).UseNoneCommandParameter(true).Build(); }
public void ParallelAppend_Int() { var collection = new AsyncCallbackDeferFlushCollection <int>((items, token) => Task.CompletedTask, FlushThreshold, TimeSpan.FromSeconds(2)); Parallel.For(0, ItemCount, GetParallelOptions(), i => { collection.Append(i); }); }
public MySqlStorage(IOptions <MySqlStorageOptions> options, MySqlConnectionFactory connectionFactory, ILogger <MySqlStorage> logger) { Options = options.Value; ConnectionFactory = connectionFactory; Logger = logger; if (Options.EnableDefer) { _deferFlushCollection = new AsyncCallbackDeferFlushCollection <IRequestInfo, IRequestDetail>(AddRequestInfoAsync, Options.DeferThreshold, Options.DeferSecond); } }
public PostgreSQLStorage(IOptions <PostgreStorageOptions> options, PostgreConnectionFactory connectionFactory, ILogger <PostgreSQLStorage> logger) { Options = options.Value; ConnectionFactory = connectionFactory; Logger = logger; if (Options.EnableDefer) { _deferFlushCollection = new AsyncCallbackDeferFlushCollection <IRequestInfo>(AddRequestInfoAsync, Options.DeferThreshold, Options.DeferTime); } }
public HttpTransport(IOptions <HttpTransportOptions> options, JsonSerializerOptions jsonSetting, ILogger <HttpTransport> logger, IHttpClientFactory httpClientFactory) { _options = options.Value ?? throw new ArgumentNullException(); _logger = logger; _httpClientFactory = httpClientFactory; _jsonSetting = jsonSetting; if (_options.CollectorAddress != null) { _RequestBagCollection = new AsyncCallbackDeferFlushCollection <RequestBag>(Push, _options.DeferThreshold, _options.DeferSecond); } }
public ElasticSearchStorage(IOptions <ElasticSearchStorageOptions> options, ILogger <ElasticSearchStorage> logger, ElasticSearchConnectionFactory connectionFactory) { Options = options.Value; Logger = logger; Client = connectionFactory.Client; if (Options.EnableDefer) { _deferFlushCollection = new AsyncCallbackDeferFlushCollection <IRequestInfo, IRequestDetail>(AddRequestInfoAsync, Options.DeferThreshold, Options.DeferSecond); } }
public OracleStorage(IOptions <OracleStorageOptions> options, OracleConnectionFactory connectionFactory, ILogger <OracleStorage> logger) { _options = options.Value; ConnectionFactory = connectionFactory; Logger = logger; if (_options.EnableDefer) { _deferFlushCollection = new AsyncCallbackDeferFlushCollection <IRequestInfo>(AddRequestInfoAsync, _options.DeferThreshold, _options.DeferTime); } }
public SQLServerStorage(IOptions <SQLServerStorageOptions> options, SQLServerConnectionFactory connectionFactory, ILogger <SQLServerStorage> logger) { _options = options.Value; ConnectionFactory = connectionFactory; Logger = logger; if (_options.EnableDefer) { _deferFlushCollection = new AsyncCallbackDeferFlushCollection <IRequestInfo, IRequestDetail>(AddRequestInfoAsync, _options.DeferThreshold, _options.DeferSecond); } }
public PostgreSQLStorage(IOptions <PostgreStorageOptions> options, PostgreConnectionFactory connectionFactory, ILogger <PostgreSQLStorage> logger) { Options = options.Value; ConnectionFactory = connectionFactory; if (!Options.TablePrefix.IsEmpty()) { Prefix = Options.TablePrefix + "."; } Logger = logger; if (Options.EnableDefer) { _deferFlushCollection = new AsyncCallbackDeferFlushCollection <IRequestInfo, IRequestDetail>(AddRequestInfoAsync, Options.DeferThreshold, Options.DeferSecond); } }
public MySqlStorage(IOptions <MySqlStorageOptions> options, MySqlConnectionFactory connectionFactory, ILogger <MySqlStorage> logger) { Options = options.Value; if (!Options.TablePrefix.IsEmpty()) { TablePrefix = Options.TablePrefix + "."; } ConnectionFactory = connectionFactory; Logger = logger; if (Options.EnableDefer) { _deferFlushCollection = new AsyncCallbackDeferFlushCollection <RequestBag>(AddRequestInfoAsync, Options.DeferThreshold, Options.DeferSecond); } }
public SQLServerStorage(IOptions <SQLServerStorageOptions> options, SQLServerConnectionFactory connectionFactory, ILogger <SQLServerStorage> logger) { _options = options.Value; if (!_options.TablePrefix.IsEmpty()) { Prefix = _options.TablePrefix + "."; } ConnectionFactory = connectionFactory; Logger = logger; if (_options.EnableDefer) { _deferFlushCollection = new AsyncCallbackDeferFlushCollection <RequestBag>(AddRequestInfoAsync, _options.DeferThreshold, _options.DeferSecond); } }
public GrpcTransport(IOptions <GrpcTransportOptions> options, ILogger <GrpcTransport> logger) { _options = options.Value; _logger = logger; var httpClientHandler = new HttpClientHandler(); httpClientHandler.ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator; var httpClient = new HttpClient(httpClientHandler); GrpcChannelOptions grpcChannelOptions = new GrpcChannelOptions() { HttpClient = httpClient }; _client = new GrpcCollector.GrpcCollectorClient(GrpcChannel.ForAddress(_options.CollectorAddress, grpcChannelOptions)); _RequestBagCollection = new AsyncCallbackDeferFlushCollection <RequestBag>(Push, _options.DeferThreshold, _options.DeferSecond); }