public ClusterNodeFactory(ClusterContext clusterContext, IConnectionPoolFactory connectionPoolFactory, ILogger <ClusterNode> logger, ObjectPool <OperationBuilder> operationBuilderPool, ICircuitBreaker circuitBreaker, ISaslMechanismFactory saslMechanismFactory, IIpEndPointService ipEndPointService, IRedactor redactor, IRequestTracer tracer) { _clusterContext = clusterContext ?? throw new ArgumentNullException(nameof(clusterContext)); _connectionPoolFactory = connectionPoolFactory ?? throw new ArgumentNullException(nameof(connectionPoolFactory)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _operationBuilderPool = operationBuilderPool ?? throw new ArgumentNullException(nameof(operationBuilderPool)); _circuitBreaker = circuitBreaker ?? throw new ArgumentException(nameof(circuitBreaker)); _saslMechanismFactory = saslMechanismFactory; _ipEndPointService = ipEndPointService ?? throw new ArgumentNullException(nameof(ipEndPointService)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _tracer = tracer; }
public ScramShaMechanism(MechanismType mechanismType, string password, string username, ILogger <ScramShaMechanism> logger, IRequestTracer tracer, IOperationConfigurator operationConfigurator) : base(tracer, operationConfigurator) { MechanismType = mechanismType; _username = username ?? throw new ArgumentNullException(nameof(username)); _password = password ?? throw new ArgumentNullException(nameof(password)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); ClientNonce = GenerateClientNonce(); }
public SearchClient( CouchbaseHttpClient httpClient, IServiceUriProvider serviceUriProvider, ILogger <SearchClient> logger, IRequestTracer tracer) : base(httpClient) { _serviceUriProvider = serviceUriProvider ?? throw new ArgumentNullException(nameof(serviceUriProvider)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _tracer = tracer; // Always use the SearchDataMapper _dataMapper = new SearchDataMapper(); }
public QueryClient( CouchbaseHttpClient httpClient, IServiceUriProvider serviceUriProvider, ITypeSerializer serializer, ILogger <QueryClient> logger, IRequestTracer tracer) : base(httpClient) { _serviceUriProvider = serviceUriProvider ?? throw new ArgumentNullException(nameof(serviceUriProvider)); _serializer = serializer ?? throw new ArgumentNullException(nameof(serializer)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _tracer = tracer ?? throw new ArgumentNullException(nameof(tracer)); HttpClient.Timeout = Timeout.InfiniteTimeSpan; }
internal CouchbaseCollection(BucketBase bucket, IOperationConfigurator operationConfigurator, ILogger <CouchbaseCollection> logger, ILogger <GetResult> getLogger, IRedactor redactor, string name, IScope scope, IRequestTracer tracer) { Name = name ?? throw new ArgumentNullException(nameof(name)); _bucket = bucket ?? throw new ArgumentNullException(nameof(bucket)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); Redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _operationConfigurator = operationConfigurator ?? throw new ArgumentNullException(nameof(operationConfigurator)); _getLogger = getLogger ?? throw new ArgumentNullException(nameof(getLogger)); _tracer = tracer; Scope = scope ?? throw new ArgumentNullException(nameof(scope)); }
public ViewClient(CouchbaseHttpClient httpClient, ITypeSerializer serializer, ILogger <ViewClient> logger, IRedactor redactor, IRequestTracer tracer) : base(httpClient) { _serializer = serializer ?? throw new ArgumentNullException(nameof(ITypeSerializer)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _tracer = tracer; // set timeout to infinite so we can stream results without the connection // closing part way through httpClient.Timeout = Timeout.InfiniteTimeSpan; }
internal Cluster(ClusterOptions clusterOptions) { if (clusterOptions == null) { throw new InvalidConfigurationException("ClusterOptions is null."); } if (string.IsNullOrWhiteSpace(clusterOptions.Password) || string.IsNullOrWhiteSpace(clusterOptions.UserName)) { throw new InvalidConfigurationException("Username and password are required."); } var configTokenSource = new CancellationTokenSource(); _context = new ClusterContext(this, configTokenSource, clusterOptions); _context.Start(); LazyQueryClient = new Lazy <IQueryClient>(() => _context.ServiceProvider.GetRequiredService <IQueryClient>()); LazyAnalyticsClient = new Lazy <IAnalyticsClient>(() => _context.ServiceProvider.GetRequiredService <IAnalyticsClient>()); LazySearchClient = new Lazy <ISearchClient>(() => _context.ServiceProvider.GetRequiredService <ISearchClient>()); LazyQueryManager = new Lazy <IQueryIndexManager>(() => _context.ServiceProvider.GetRequiredService <IQueryIndexManager>()); LazyBucketManager = new Lazy <IBucketManager>(() => _context.ServiceProvider.GetRequiredService <IBucketManager>()); LazyUserManager = new Lazy <IUserManager>(() => _context.ServiceProvider.GetRequiredService <IUserManager>()); LazySearchManager = new Lazy <ISearchIndexManager>(() => _context.ServiceProvider.GetRequiredService <ISearchIndexManager>()); LazyAnalyticsIndexManager = new Lazy <IAnalyticsIndexManager>(() => _context.ServiceProvider.GetRequiredService <IAnalyticsIndexManager>()); LazyEventingFunctionManager = new Lazy <IEventingFunctionManager>(() => _context.ServiceProvider.GetRequiredService <IEventingFunctionManager>()); _logger = _context.ServiceProvider.GetRequiredService <ILogger <Cluster> >(); _retryOrchestrator = _context.ServiceProvider.GetRequiredService <IRetryOrchestrator>(); _redactor = _context.ServiceProvider.GetRequiredService <IRedactor>(); _tracer = _context.ServiceProvider.GetRequiredService <IRequestTracer>(); _retryStrategy = _context.ServiceProvider.GetRequiredService <IRetryStrategy>(); var meter = _context.ServiceProvider.GetRequiredService <IMeter>(); if (meter is not NoopMeter) { // Don't instantiate the meter forwarder if we're using the NoopMeter, since the meter forwarder // will create subscriptions to the .NET metrics and start collecting/forwarding data. We can avoid // this performance penalty when we know we're doing nothing with the data. _meterForwarder = new MeterForwarder(meter); } var bootstrapperFactory = _context.ServiceProvider.GetRequiredService <IBootstrapperFactory>(); _bootstrapper = bootstrapperFactory.Create(clusterOptions.BootstrapPollInterval); }
protected BucketBase(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, ILogger logger, IRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer) { Name = name ?? throw new ArgumentNullException(nameof(name)); Context = context ?? throw new ArgumentNullException(nameof(context)); _scopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory)); RetryOrchestrator = retryOrchestrator ?? throw new ArgumentNullException(nameof(retryOrchestrator)); Logger = logger ?? throw new ArgumentNullException(nameof(logger)); Redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); Tracer = tracer; BootstrapperFactory = bootstrapperFactory ?? throw new ArgumentNullException(nameof(bootstrapperFactory)); Bootstrapper = bootstrapperFactory.Create(Context.ClusterOptions.BootstrapPollInterval); }
internal Cluster(ClusterOptions clusterOptions) { if (clusterOptions == null) { throw new InvalidConfigurationException("ClusterOptions is null."); } if (string.IsNullOrWhiteSpace(clusterOptions.Password) || string.IsNullOrWhiteSpace(clusterOptions.UserName)) { throw new InvalidConfigurationException("Username and password are required."); } var configTokenSource = new CancellationTokenSource(); _context = new ClusterContext(this, configTokenSource, clusterOptions); _context.StartConfigListening(); LazyQueryClient = new Lazy <IQueryClient>(() => _context.ServiceProvider.GetRequiredService <IQueryClient>()); LazyAnalyticsClient = new Lazy <IAnalyticsClient>(() => _context.ServiceProvider.GetRequiredService <IAnalyticsClient>()); LazySearchClient = new Lazy <ISearchClient>(() => _context.ServiceProvider.GetRequiredService <ISearchClient>()); LazyQueryManager = new Lazy <IQueryIndexManager>(() => _context.ServiceProvider.GetRequiredService <IQueryIndexManager>()); LazyBucketManager = new Lazy <IBucketManager>(() => _context.ServiceProvider.GetRequiredService <IBucketManager>()); LazyUserManager = new Lazy <IUserManager>(() => _context.ServiceProvider.GetRequiredService <IUserManager>()); LazySearchManager = new Lazy <ISearchIndexManager>(() => _context.ServiceProvider.GetRequiredService <ISearchIndexManager>()); LazyAnalyticsIndexManager = new Lazy <IAnalyticsIndexManager>(() => _context.ServiceProvider.GetRequiredService <IAnalyticsIndexManager>()); LazyEventingFunctionManager = new Lazy <IEventingFunctionManager>(() => _context.ServiceProvider.GetRequiredService <IEventingFunctionManager>()); _logger = _context.ServiceProvider.GetRequiredService <ILogger <Cluster> >(); _retryOrchestrator = _context.ServiceProvider.GetRequiredService <IRetryOrchestrator>(); _redactor = _context.ServiceProvider.GetRequiredService <IRedactor>(); _tracer = _context.ServiceProvider.GetRequiredService <IRequestTracer>(); _retryStrategy = _context.ServiceProvider.GetRequiredService <IRetryStrategy>(); _meter = _context.ServiceProvider.GetRequiredService <IMeter>(); var bootstrapperFactory = _context.ServiceProvider.GetRequiredService <IBootstrapperFactory>(); _bootstrapper = bootstrapperFactory.Create(clusterOptions.BootstrapPollInterval); }
public BucketFactory( ClusterContext clusterContext, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IVBucketKeyMapperFactory vBucketKeyMapperFactory, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <CouchbaseBucket> couchbaseLogger, ILogger <MemcachedBucket> memcachedLogger, IRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer ) { _clusterContext = clusterContext ?? throw new ArgumentNullException(nameof(clusterContext)); _scopeFactory = scopeFactory ?? throw new ArgumentNullException(nameof(scopeFactory)); _retryOrchestrator = retryOrchestrator ?? throw new ArgumentNullException(nameof(retryOrchestrator)); _vBucketKeyMapperFactory = vBucketKeyMapperFactory ?? throw new ArgumentNullException(nameof(vBucketKeyMapperFactory)); _ketamaKeyMapperFactory = ketamaKeyMapperFactory ?? throw new ArgumentNullException(nameof(ketamaKeyMapperFactory)); _couchbaseLogger = couchbaseLogger ?? throw new ArgumentNullException(nameof(couchbaseLogger)); _memcachedLogger = memcachedLogger ?? throw new ArgumentNullException(nameof(memcachedLogger)); _redactor = redactor ?? throw new ArgumentNullException(nameof(IRedactor)); _bootstrapperFactory = bootstrapperFactory ?? throw new ArgumentNullException(nameof(bootstrapperFactory)); _tracer = tracer ?? throw new ArgumentNullException(nameof(tracer)); }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <MemcachedBucket> logger, IRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer) : this(name, context, scopeFactory, retryOrchestrator, ketamaKeyMapperFactory, logger, new HttpClusterMap(context.ServiceProvider.GetRequiredService <CouchbaseHttpClient>(), context), redactor, bootstrapperFactory, tracer) { }
internal static IInternalSpan RootSpan(this IRequestTracer tracer, string serviceName, string operation) => tracer.InternalSpan(operation, null) .WithDefaultAttributes() .WithTag(CouchbaseTags.Service, serviceName);
protected SaslMechanismBase(IRequestTracer tracer) { Tracer = tracer; }
public RequestSpan(IRequestTracer tracer, Activity activity, IRequestSpan?parentSpan = null) { _tracer = tracer; _activity = activity; _parentSpan = parentSpan; }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <MemcachedBucket> logger, TypedRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer, IOperationConfigurator operationConfigurator, IRetryStrategy retryStrategy, IHttpClusterMapFactory httpClusterMapFactory, BucketConfig config) : this(name, context, scopeFactory, retryOrchestrator, ketamaKeyMapperFactory, logger, httpClusterMapFactory, redactor, bootstrapperFactory, tracer, operationConfigurator, retryStrategy, config) { }
public EventingFunctionManager(IEventingFunctionService service, ILogger <EventingFunctionManager> logger, IRequestTracer tracer) { _service = service; _logger = logger; _tracer = tracer; }
protected SaslMechanismBase(IRequestTracer tracer, IOperationConfigurator operationConfigurator) { OperationConfigurator = operationConfigurator; Tracer = tracer; }
public OpenTelemetryRequestSpan(IRequestTracer tracer, Activity activity, IRequestSpan?parentSpan = null) { _tracer = tracer ?? throw new ArgumentNullException(nameof(tracer)); _activity = activity ?? throw new ArgumentNullException(nameof(activity)); _parentSpan = parentSpan; }
/// <summary> /// A custom <see cref="RequestTracer"/> implementation. /// </summary> /// <remarks>In most all cases the default <see cref="RequestTracer"/> is sufficient and should be used.</remarks> /// <param name="requestTracer">The custom <see cref="IRequestTracer"/> to override the default <see cref="RequestTracer"/></param> /// <returns>A <see cref="TracingOptions"/> object for chaining.</returns> public TracingOptions WithTracer(IRequestTracer requestTracer) { RequestTracer = requestTracer; return(this); }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <MemcachedBucket> logger, HttpClusterMapBase httpClusterMap, IRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer) : base(name, context, scopeFactory, retryOrchestrator, logger, redactor, bootstrapperFactory, tracer) { BucketType = BucketType.Memcached; Name = name; _ketamaKeyMapperFactory = ketamaKeyMapperFactory ?? throw new ArgumentNullException(nameof(ketamaKeyMapperFactory)); _httpClusterMap = httpClusterMap; }
public TracingDiagnosticListener(IRequestTracer requestTracer) { _requestTracer = requestTracer; }
public PlainSaslMechanism(string username, string password, ILogger <PlainSaslMechanism> logger, IRequestTracer tracer, IOperationConfigurator operationConfigurator) : base(tracer, operationConfigurator) { _username = username ?? throw new ArgumentNullException(nameof(username)); _password = password ?? throw new ArgumentNullException(nameof(password)); Logger = logger; MechanismType = MechanismType.Plain; }
internal MemcachedBucket(string name, ClusterContext context, IScopeFactory scopeFactory, IRetryOrchestrator retryOrchestrator, IKetamaKeyMapperFactory ketamaKeyMapperFactory, ILogger <MemcachedBucket> logger, IHttpClusterMapFactory httpClusterMapFactory, TypedRedactor redactor, IBootstrapperFactory bootstrapperFactory, IRequestTracer tracer, IOperationConfigurator operationConfigurator, IRetryStrategy retryStrategy, BucketConfig config) : base(name, context, scopeFactory, retryOrchestrator, logger, redactor, bootstrapperFactory, tracer, operationConfigurator, retryStrategy, config) { BucketType = BucketType.Memcached; Name = name; _ketamaKeyMapperFactory = ketamaKeyMapperFactory ?? throw new ArgumentNullException(nameof(ketamaKeyMapperFactory)); _httpClusterMapFactory = httpClusterMapFactory ?? throw new ArgumentNullException(nameof(httpClusterMapFactory)); _httpClusterMap = _httpClusterMapFactory.Create(Context); }
public ClusterNode(ClusterContext context, IConnectionPoolFactory connectionPoolFactory, ILogger <ClusterNode> logger, ObjectPool <OperationBuilder> operationBuilderPool, ICircuitBreaker circuitBreaker, ISaslMechanismFactory saslMechanismFactory, IRedactor redactor, IPEndPoint endPoint, BucketType bucketType, NodeAdapter nodeAdapter, IRequestTracer tracer) { _context = context ?? throw new ArgumentNullException(nameof(context)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _circuitBreaker = circuitBreaker ?? throw new ArgumentException(nameof(circuitBreaker)); _operationBuilderPool = operationBuilderPool ?? throw new ArgumentNullException(nameof(operationBuilderPool)); _saslMechanismFactory = saslMechanismFactory ?? throw new ArgumentException(nameof(saslMechanismFactory)); _redactor = redactor ?? throw new ArgumentNullException(nameof(redactor)); _tracer = tracer; BucketType = bucketType; EndPoint = endPoint ?? throw new ArgumentNullException(nameof(endPoint)); _cachedToString = $"{EndPoint}-{_id}"; KeyEndPoints = new ReadOnlyObservableCollection <IPEndPoint>(_keyEndPoints); UpdateKeyEndPoints(); ((INotifyCollectionChanged)_keyEndPoints).CollectionChanged += (_, e) => OnKeyEndPointsChanged(e); if (connectionPoolFactory == null) { throw new ArgumentNullException(nameof(connectionPoolFactory)); } ConnectionPool = connectionPoolFactory.Create(this); if (nodeAdapter != null) { NodesAdapter = nodeAdapter; } }
public HttpRequestDiagnosticListener(IRequestTracer requestTracer) { _requestTracer = requestTracer; }