Example #1
0
 public IEnumerable <QueryResult <T> > QueryAggregated(Action <IQueryBuilder <T> > query = null)
 {
     try
     {
         using (_metricsReporter.Report($"{_space}.Aggregate"))
             using (var connection = _connectionProvider.GetOpenConnection())
             {
                 return(connection
                        .QueryAggregated <T>(q =>
                 {
                     if (query != null)
                     {
                         query(new MoranbernateQueryBuilder <T>(q));
                     }
                 })
                        .Select(x => new QueryResult <T> {
                     Item = x.Item, RowCount = x.RowCount
                 })
                        .ToList());
             }
     }
     catch (Exception ex)
     {
         _perfLogger.Error("Error running aggregated query", ex);
         throw;
     }
 }
Example #2
0
 public IDbConnection ProvideConnection()
 {
     using (_metricsReporter.Report($"Storage.OpenConnection.{_schema}"))
     {
         var sqlConnection = new MySqlConnection(_connectionString);
         sqlConnection.Open();
         return(sqlConnection);
     }
 }
Example #3
0
        public bool HandleError(Exception error)
        {
            var type = error.GetType();

            _reporter.Report(new ExceptionReport()
            {
                MetricsReportType = MetricsReportTypes.Exception,
                ExceptionType     = type.FullName,
                Message           = error.Message,
                StackTrace        = error.StackTrace
            });
            return(true);
        }
Example #4
0
 public int Count(Action <IQueryBuilder <T> > queryManipulator)
 {
     using (_metricsReporter.Report($"{_space}.Count"))
         using (var conn = _connectionProvider.GetOpenConnection())
         {
             var count = conn.Count <T>(restrictable => {
                 if (queryManipulator != null)
                 {
                     queryManipulator(new MoranbernateRestrictions <T>(restrictable));
                 }
             });
             return(Convert.ToInt32(count));
         }
 }
        public void Start(int timeout = 1000)
        {
            Task.Factory.StartNew(async(o) => {
                while (true)
                {
                    var currentDateTime = DateTime.Now;

                    _reporter.Report(new ApdexReport()
                    {
                        MetricsReportType = MetricsReportTypes.Apdex,
                        Apdex             = GetApdex(currentDateTime, 1, 500)
                    });

                    await Task.Delay(timeout);
                }
            }, TaskCreationOptions.LongRunning, _cancellationTokenSource.Token);
        }
Example #6
0
        public void Start(int timeout = 1000)
        {
            var       cpuCounter           = new PerformanceCounter("Processor", "% Processor Time", "_Total");
            var       virtualMemoryCounter = new PerformanceCounter("Memory", "Available MBytes");
            DriveInfo c = new DriveInfo(Path.GetPathRoot(Environment.SystemDirectory));


            Task.Factory.StartNew(async(o) => {
                while (true)
                {
                    _reporter.Report(new HealthCheckReport()
                    {
                        MetricsReportType       = MetricsReportTypes.HealthCheck,
                        CpuRate                 = cpuCounter.NextValue(),
                        AvailableVirtualMemory  = virtualMemoryCounter.NextValue(),
                        AvailablePhysicalMemory = ((double)c.AvailableFreeSpace) / 1000000000
                    });

                    await Task.Delay(timeout);
                }
            }, TaskCreationOptions.LongRunning, _cancellationTokenSource.Token);
        }
        public void Start(int timeout = 1000)
        {
            Task.Factory.StartNew(async(o) => {
                while (true)
                {
                    var currentDateTime = DateTime.Now;

                    var rate1m  = GetRate(currentDateTime, 1);
                    var rate5m  = GetRate(currentDateTime, 5);
                    var rate15m = GetRate(currentDateTime, 15);

                    _reporter.Report(new RatesReport()
                    {
                        MetricsReportType = MetricsReportTypes.Rates,
                        Rate1m            = rate1m,
                        Rate5m            = rate5m,
                        Rate15m           = rate15m
                    });

                    await Task.Delay(timeout);
                }
            }, TaskCreationOptions.LongRunning, _cancellationTokenSource.Token);
        }
 public void AfterInvoke(object correlationState)
 {
     _reporter.Report(_callContextMetricsReport);
 }
 public void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState)
 {
     _stopwatch.Stop();
     _paramatersInspectorMetricsReport.ProcessingTime = _stopwatch.ElapsedMilliseconds;
     _reporter.Report(_paramatersInspectorMetricsReport);
 }