public async Task CountWithTimeSeriesAsync() { Assert.Equal(0, await _dailyRepository.CountAsync()); var yesterdayLog = await _dailyRepository.AddAsync(LogEventGenerator.Generate(createdUtc: SystemClock.UtcNow.AddDays(-1)), o => o.ImmediateConsistency()); Assert.NotNull(yesterdayLog?.Id); var nowLog = LogEventGenerator.Default; var result = await _dailyRepository.AddAsync(nowLog, o => o.ImmediateConsistency()); Assert.Equal(nowLog, result); Assert.Equal(2, await _dailyRepository.CountAsync()); }
public async Task CountByQueryWithTimeSeriesAsync() { Assert.Equal(0, await _dailyRepository.CountAsync()); var utcNow = SystemClock.UtcNow; var yesterdayLog = await _dailyRepository.AddAsync(LogEventGenerator.Generate(ObjectId.GenerateNewId(utcNow.AddDays(-1)).ToString(), createdUtc: utcNow.AddDays(-1)), o => o.ImmediateConsistency()); Assert.NotNull(yesterdayLog?.Id); var nowLog = await _dailyRepository.AddAsync(LogEventGenerator.Default, o => o.ImmediateConsistency()); Assert.NotNull(nowLog?.Id); Assert.Equal(0, await _dailyRepository.CountAsync(q => q.FilterExpression("id:test"))); Assert.Equal(1, await _dailyRepository.CountAsync(q => q.FilterExpression($"id:{nowLog.Id}"))); Assert.Equal(1, await _dailyRepository.CountAsync(q => q.DateRange(utcNow.AddHours(-1), utcNow.AddHours(1), "createdUtc").FilterExpression($"id:{nowLog.Id}"))); Assert.Equal(0, await _dailyRepository.CountAsync(q => q.DateRange(utcNow.AddDays(-1), utcNow.AddHours(-12), (LogEvent l) => l.CreatedUtc).FilterExpression($"id:{nowLog.Id}"))); Assert.Equal(1, await _dailyRepository.CountAsync(q => q.DateRange(utcNow.AddDays(-1), utcNow.AddHours(-12), "created"))); Assert.Equal(1, await _dailyRepository.CountAsync(q => q.DateRange(utcNow.AddHours(-1), utcNow.AddHours(1), "createdUtc"))); }
public async Task GetByCompanyWithIncludedFields() { var log = await _dailyRepository.AddAsync(LogEventGenerator.Generate(companyId: "1234567890", message: "test"), o => o.ImmediateConsistency()); Assert.NotNull(log?.Id); var results = await _dailyRepository.FindAsync(q => q.Company(log.CompanyId)); Assert.Equal(1, results.Documents.Count); Assert.Equal(log, results.Documents.First()); results = await _dailyRepository.FindAsync(q => q.Company(log.CompanyId).Include(e => e.Id).Include(l => l.CreatedUtc)); Assert.Equal(1, results.Documents.Count); var companyLog = results.Documents.First(); Assert.Equal(log.Id, companyLog.Id); Assert.Equal(log.CreatedUtc, companyLog.CreatedUtc); Assert.Null(companyLog.Message); Assert.Null(companyLog.CompanyId); }
public async Task AddLogEvent(PushLogModel pushLogModel) { var logEvent = new LogEvent { Id = DataUtil.GenerateUniqueId(), BeginRequest = pushLogModel.BeginRequest, EndRequest = pushLogModel.EndRequest, CpuUsage = pushLogModel.CpuUsage, ElapsedTime = pushLogModel.ElapsedTime, HttpRequestUrl = pushLogModel.HttpRequestUrl, HttpRequestHeaders = pushLogModel.HttpHeaders, HttRequestBody = pushLogModel.HttpRequestBody, HttpResponseStatusCode = pushLogModel.ResponseStatusCode, HttpResponseBody = pushLogModel.ResponseBody, MemoryUsed = pushLogModel.MemoryUsed, TraceId = pushLogModel.TraceId, Source = pushLogModel.ServiceName, SourceId = pushLogModel.RegisteredServiceId, StackTrace = pushLogModel.StackTraces }; await _logEventRepository.AddAsync(logEvent); }
public async Task AddLogEvent(LogCollectorRequest logCollectorRequest) { var logEvent = new LogEvent { Id = DataUtil.GenerateUniqueId(), BeginRequest = logCollectorRequest.BeginRequest.ToDateTime(), EndRequest = logCollectorRequest.EndRequest.ToDateTime(), CpuUsage = logCollectorRequest.CpuUsage, ElapsedTime = logCollectorRequest.ElapsedTime, HttpRequestUrl = logCollectorRequest.HttpRequestUrl, HttpRequestHeaders = logCollectorRequest.HttpHeaders, HttRequestBody = logCollectorRequest.HttpRequestBody, HttpResponseStatusCode = logCollectorRequest.ResponseStatusCode, HttpResponseBody = logCollectorRequest.HttpRequestBody, MemoryUsed = logCollectorRequest.MemoryUsed, TraceId = logCollectorRequest.TraceId, Source = logCollectorRequest.ServiceName, SourceId = logCollectorRequest.ServiceId, StackTrace = logCollectorRequest.StackTraces }; await _logEventRepository.AddAsync(logEvent); }