Exemplo n.º 1
0
        /// <summary>
        /// Register an RedisDiagnosticObserver instance of RedisDiagnosticListener to listen for Redis Metrics with prometheus
        /// </summary>
        /// <param name="app"></param>
        /// <returns></returns>
        public static IServiceCollection AddRedisDiagnostics(this IServiceCollection services, RedisDiagnosticListener redisListener = null)
        {
            listener = redisListener ?? new RedisDiagnosticListener();

            services.AddSingleton(listener);

            if (listener == default)
            {
                throw new NullReferenceException("listener cannot be null, use services.AddRedisListener() in ConfigureServices method.");
            }

            observer = new RedisDiagnosticObserver(listener);

            DiagnosticListener.AllListeners.Subscribe(observer);

            return(services);
        }
Exemplo n.º 2
0
 public RedisDiagnosticObserver(RedisDiagnosticListener listener)
 {
     _listener = listener ??
                 throw new ArgumentNullException(nameof(listener));
 }