Пример #1
0
        public static RepositorySummmaryStats QueryRepositoryStats(Guid repositoryId, DateTime start, DateTime end)
        {
            if (!_ready)
            {
                return(null);
            }

            try
            {
                var retval = new RepositorySummmaryStats()
                {
                    ActionType = RepositoryActionConstants.Query
                };

                //TODO: Query stats
                //using (var context = new DataCoreEntities())
                //{
                //    var repository = context.RepositoryDefinition.FirstOrDefault(x => x.UniqueKey == repositoryId);
                //    if (repository == null)
                //        throw new Exception("Unknown Repository");

                //    var actionId = (int)RepositoryActionConstants.Query;
                //    var lambda = context.RepositoryStat.Where(x => start <= x.CreatedDate &&
                //        x.CreatedDate < end &&
                //        (repositoryId == Guid.Empty || repository.RepositoryId == x.RepositoryId) &&
                //        x.RepositoryActionTypeId == actionId)
                //        .OrderBy(x => x.CreatedDate);

                //    long count = 0;
                //    long totalElapsed = 0;
                //    if (lambda.Any())
                //    {
                //        count = lambda.Sum(x => x.Count);
                //        totalElapsed = lambda.Sum(x => x.Elapsed);
                //    }

                //    var elapsedPer = 0.0;
                //    if (count > 0) elapsedPer = ((totalElapsed * 1.0) / count);

                //    retval.ItemCount = (int)count;
                //    retval.Elapsed = (int)elapsedPer;
                //    retval.RepositoryId = repositoryId;
                //}

                return(retval);
            }
            catch (Exception ex)
            {
                LoggerCQ.LogError(ex);
                return(null);
            }
        }
Пример #2
0
 public static void Log(RepositorySummmaryStats item)
 {
     try
     {
         lock (_statCache)
         {
             if (!_statCache.ContainsKey(item.RepositoryId))
             {
                 _statCache.Add(item.RepositoryId, new List <RepositorySummmaryStats>());
             }
             _statCache[item.RepositoryId].Add(item);
         }
     }
     catch (Exception ex)
     {
         LoggerCQ.LogError(ex);
     }
 }