Example #1
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public CacheManager(IMetricsManager pMetrics)
        {
            Memory  = new MemCache(pMetrics);
            RexConn = new RexConnCacheProvider();

            pMetrics.Gauge("cache.rc.keys", CountRexConnKeys);
        }
Example #2
0
 internal Batch(ISession session, BatchType batchType)
 {
     _session          = session;
     _metricsManager   = (session as IInternalSession)?.MetricsManager;
     _batchType        = batchType;
     QueryAbortTimeout = session.Cluster.Configuration.DefaultRequestOptions.QueryAbortTimeout;
 }
Example #3
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public void LogResponse(IApiRequest pApiReq)
        {
            IOperationContext oc = pApiReq.OpCtx;
            long totalMs         = (long)GetTimerMilliseconds();
            long jsonLen         = (Json == null ? 0 : Json.Length);

            ThreadPool.QueueUserWorkItem(w => {
                try {
                    oc.Analytics.TrackRequest(pApiReq.Method, pApiReq.Path);
                }
                catch (Exception e) {
                    Log.Error("Analytics failure", e);
                }
            });

            ////

            IMetricsManager m   = oc.Metrics;
            string          key = BuildGraphiteKey(pApiReq);

            m.Counter(key, 1);
            m.Counter(key + ".requests", 1);
            m.Counter(key + ".errors", (IsError ? 1 : 0));
            m.Timer(key + ".total-ms", totalMs);
            m.Mean(key + ".json-len", jsonLen);

            if (oc.Data.DbQueryExecutionCount > 0)
            {
                m.Timer(key + ".db", oc.Data.DbQueryMillis);
                m.Mean(key + ".db.queries", oc.Data.DbQueryExecutionCount);
            }

            //ARv1: (ApiResponse log, version 1)
            // IP, QueryCount, TotalMs, JsonLen, Timestamp, HttpStatus, IsError, Method, Path, Exception

            const string name  = "ARv1";
            const string x     = " | ";
            string       ctxId = Logger.GuidToString(oc.ContextId);

            string v1 =
                pApiReq.IpAddress + x +
                oc.Data.DbQueryExecutionCount + x +
                totalMs + x +
                jsonLen + x +
                DateTime.UtcNow.Ticks + x +
                (int)Status + x +
                (IsError ? 1 : 0) + x +
                pApiReq.Method + x +
                pApiReq.Path;

            if (Unhandled == null)
            {
                Log.Info(ctxId, name, v1);
            }
            else
            {
                Log.Error(ctxId, name, v1, Unhandled);
            }
        }
Example #4
0
 internal Mapper(ISession session, MapperFactory mapperFactory, StatementFactory statementFactory, CqlGenerator cqlGenerator)
 {
     _session           = session ?? throw new ArgumentNullException(nameof(session));
     _metricsManager    = (session as IInternalSession)?.MetricsManager;
     _mapperFactory     = mapperFactory ?? throw new ArgumentNullException(nameof(mapperFactory));
     _statementFactory  = statementFactory ?? throw new ArgumentNullException(nameof(statementFactory));
     _cqlGenerator      = cqlGenerator ?? throw new ArgumentNullException(nameof(cqlGenerator));
     _queryAbortTimeout = session.Cluster.Configuration.DefaultRequestOptions.QueryAbortTimeout;
 }
Example #5
0
 public MetricFilter(
     IMetricsManager <Metric> metricManager,
     IClientIpAddress clientIpAddress,
     IFeatureFacade featureFacade,
     IPageTitleBuilder pageTitleBuilder)
 {
     _metricManager   = metricManager;
     _clientIpAddress = clientIpAddress;
     _featureFacade   = featureFacade;
 }
Example #6
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public OperationData(Guid pContextId, IDataAccessFactory pFactory,
                             IMetricsManager pMetrics, IMemCache pCache)
        {
            vContextId = pContextId;
            vFactory   = pFactory;
            vMetrics   = pMetrics;
            vCache     = pCache;

            DbQueryExecutionCount = 0;
            DbQueryMillis         = 0;
        }
Example #7
0
        //private readonly Stopwatch vProfiler;


        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public OperationContext(IDataAccessFactory pAccessFactory, ICacheManager pCache,
                                IMetricsManager pMetrics, Func <Guid, IAnalyticsManager> pAnalyticsProvider)
        {
            Metrics = pMetrics;
            Cache   = pCache;

            ContextId = Guid.NewGuid();
            Data      = new OperationData(ContextId, pAccessFactory, Metrics, Cache.Memory);
            Auth      = new OperationAuth(Cache.Memory, () => Data.Build(), () => UtcNow.Ticks);
            Analytics = pAnalyticsProvider(ContextId);

            //vProfiler = new Stopwatch();
            //vProfiler.Start();
        }
        public void TestInit()
        {
            _dynamicTypeManager = Mock.Create<IDynamicTypeManager>(Behavior.Loose);
            _filterManager = Mock.Create<IFilterManager>(Behavior.Loose);
            _layoutManager = Mock.Create<ILayoutManager>(Behavior.Loose);
            _searchUtils = Mock.Create<ISearchUtils>(Behavior.Loose);
            _processMetadataRepository = Mock.Create<IProcessMetadataRepository>(Behavior.Loose);
            _filterDescriptorFactory = Mock.Create<IFilterDescriptorFactory>(Behavior.Loose);
            _metricsManager = Mock.Create<IMetricsManager>(Behavior.Loose);
            _kpiManager = Mock.Create<IKPIManager>(Behavior.Loose);
            _filterRepository = Mock.Create<IFilterRepository>(Behavior.Loose);

            _processMetadata = Mock.Create<IProcessMetadata>(Behavior.Loose);
            Mock.Arrange(() => _processMetadata.Name).Returns(ProcessName);
            Mock.Arrange(() => _processMetadataRepository.GetProcessMetadata(ProcessName)).Returns(_processMetadata);
        }
Example #9
0
        /// <summary>
        /// Increments session client timeout counter in case of timeout.
        /// </summary>
        public static void WaitToCompleteWithMetrics(IMetricsManager manager, Task task, int timeout = Timeout.Infinite)
        {
            if (!(manager?.AreMetricsEnabled ?? false))
            {
                TaskHelper.WaitToComplete(task, timeout);
                return;
            }

            try
            {
                TaskHelper.WaitToComplete(task, timeout);
            }
            catch (TimeoutException)
            {
                manager.GetSessionMetrics().CqlClientTimeouts.Increment();
                throw;
            }
        }
Example #10
0
 public IObserverFactory Build(IMetricsManager manager)
 {
     return(new NullObserverFactory());
 }
Example #11
0
 public MetricsObserverFactory(IMetricsManager metricsManager)
 {
     _metricsManager = metricsManager;
 }
Example #12
0
 /// <summary>
 /// Increments session client timeout counter in case of timeout.
 /// </summary>
 public static T WaitToCompleteWithMetrics <T>(IMetricsManager manager, Task <T> task, int timeout = Timeout.Infinite)
 {
     TaskHelper.WaitToCompleteWithMetrics(manager, (Task)task, timeout);
     return(task.Result);
 }
Example #13
0
 public IObserverFactory Build(IMetricsManager manager)
 {
     return(new MetricsObserverFactory(manager));
 }
Example #14
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SearchCommand"/> class.
        /// </summary>
        /// <param name="process">
        /// The process metadata.
        /// </param>
        /// <param name="dynamicTypeManager">
        /// The dynamic type manager.
        /// </param>
        /// <param name="filterManager">
        /// The filter manager.
        /// </param>
        /// <param name="layoutManager">
        /// The layout manager.
        /// </param>
        /// <param name="searchUtils">
        /// The search utils.
        /// </param>
        /// <param name="filterDescriptorFactory">
        /// The filter descriptor factory.
        /// </param>
        /// <param name="metricsManager">
        /// The metrics manager.
        /// </param>
        /// <param name="kpiManager">
        /// The KPI manager.
        /// </param>
        /// <param name="filterRepository">
        /// The filter repository.
        /// </param>
        public SearchCommand(
            IProcessMetadata process,
            IDynamicTypeManager dynamicTypeManager,
            IFilterManager filterManager,
            ILayoutManager layoutManager,
            ISearchUtils searchUtils,
            IFilterDescriptorFactory filterDescriptorFactory,
            IMetricsManager metricsManager,
            IKPIManager kpiManager,
            IFilterRepository filterRepository)
        {
            if (process == null)
                throw new ArgumentNullException("process");

            if (dynamicTypeManager == null)
                throw new ArgumentNullException("dynamicTypeManager");

            if (filterManager == null)
                throw new ArgumentNullException("filterManager");

            if (layoutManager == null)
                throw new ArgumentNullException("layoutManager");

            if (searchUtils == null)
                throw new ArgumentNullException("searchUtils");

            if (filterDescriptorFactory == null)
                throw new ArgumentNullException("filterDescriptorFactory");

            if (metricsManager == null)
                throw new ArgumentNullException("metricsManager");

            if (kpiManager == null)
                throw new ArgumentNullException("kpiManager");

            if (filterRepository == null)
                throw new ArgumentNullException("filterRepository");

            _dynamicTypeManager = dynamicTypeManager;
            _filterManager = filterManager;
            _layoutManager = layoutManager;
            _searchUtils = searchUtils;
            _filterDescriptorFactory = filterDescriptorFactory;
            _metricsManager = metricsManager;
            _kpiManager = kpiManager;
            _filterRepository = filterRepository;

            _process = process;
        }
Example #15
0
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 public MemCache(IMetricsManager pMetrics) : base("MemCache", GetConfig())
 {
     vMetrics = pMetrics;
 }
Example #16
0
 public MetricsRequestObserver(IMetricsManager manager, IDriverTimer requestTimer)
 {
     _manager      = manager;
     _requestTimer = requestTimer;
 }