protected override List <AnalyisTypeSummary> GetRowSummaries(CancellationToken cancellationToken, Dictionary <string, dynamic> row) { List <AnalyisTypeSummary> summaries = new List <AnalyisTypeSummary>(); AnalyisTypeSummary summary; if (base.Bands.Count == 0) { GroupBySet bandedKey = new GroupBySet(); if (!base.Summary.TryGetValue(bandedKey, out summary)) { summary = new AnalyisTypeSummary(null); base.Summary.Add(bandedKey, summary); } summaries.Add(summary); return(summaries); } foreach (KeyValuePair <string, BaseBand> field in base.Bands) { List <GroupBySet> bandedKeys = new List <GroupBySet>(); bandedKeys.Add(new GroupBySet()); field.Value.AddBandToSet(cancellationToken, bandedKeys, field.Key, row); foreach (GroupBySet bandedKey in bandedKeys) { if (!base.Summary.TryGetValue(bandedKey, out summary)) { summary = new AnalyisTypeSummary(null); base.Summary.Add(bandedKey, summary); } summaries.Add(summary); } } return(summaries); }
protected override List <AnalyisTypeSummary> GetRowSummaries(CancellationToken cancellationToken, Dictionary <string, dynamic> row) { AnalyisTypeSummary summary; GroupBySet bandedKey = new GroupBySet(); if (!base.Summary.TryGetValue(bandedKey, out summary)) { summary = new AnalyisTypeSummary(null); base.Summary.Add(bandedKey, summary); } return(new List <AnalyisTypeSummary>() { summary }); }
private void StoreBandKeyAsArrayItem(ILambdaContext context, string cacheReportName, int reportId, string cacheKey, AnalyisTypeSummary summary) { context.Logger.Log($"trying to increment: {cacheKey}_Count"); ulong currentIndex = this.memcachedClient.Increment($"{cacheKey}_Count", 0, 1, this.expiration); if (currentIndex == 0) { TrackCacheKey(cacheReportName, $"{cacheKey}_Count"); } context.Logger.Log($"trying to store: {cacheKey}{currentIndex}"); bool stored = memcachedClient.Store(StoreMode.Set, $"{cacheKey}{currentIndex}", summary, this.expiration); if (!stored) { context.Logger.Log($"trying to store: StoreBandKeyAsArrayItem"); throw new Exception("failed to set value in ElastiCache"); } this.TrackCacheKey(cacheReportName, $"{cacheKey}{currentIndex}"); }