public void PublishViewStatistics(StatementViewStatisticsData statistics)
        {
            var newSample = new TotalViewStatistics()
            {
                CreatedDate    = DateTime.Now,
                DatabaseID     = statistics.DatabaseID,
                Date           = statistics.ExecutionDate,
                RewrittenCount = 1,
                ViewID         = statistics.ViewID
            };

            viewStatistics.AddOrUpdate(statistics.ViewID, new TotalViewStatisticsSampler(dateTimeSelector, newSample), (k, v) =>
            {
                v.AddSample(newSample);
                return(v);
            });
        }
Esempio n. 2
0
        private void PersistTotalViewStatistics(TotalViewStatistics newStatistics)
        {
            var repository = repositories.GetTotalViewStatisticsRepository();
            var uniqueKey  = new TotalViewStatisticsUniqueKey()
            {
                DatabaseID = newStatistics.DatabaseID,
                Date       = newStatistics.Date,
                ViewID     = newStatistics.ViewID
            };
            var oldStatistics = repository.GetByUniqueKey(uniqueKey);

            if (oldStatistics == null)
            {
                repository.Create(newStatistics);
            }
            else
            {
                TotalViewStatisticsMergeUtility.ApplySample(oldStatistics, newStatistics);
                repository.Update(oldStatistics);
            }
        }
Esempio n. 3
0
 public static void ApplySample(TotalViewStatistics cumulativeData, TotalViewStatistics newSample)
 {
     cumulativeData.RewrittenCount += newSample.RewrittenCount;
 }