public async Task ProcessAsync(IList <MetricData> datas) { Ensure.NotNull(datas, nameof(datas)); if (datas.Count == 0) { return; } var points = new List <SeriesPoint>(); foreach (var data in datas) { var alignedTimestamp = AlignToGranularity(data.Timestamp ?? new Timestamp(DateTime.UtcNow)); foreach (var seriesName in Aggregates.GetSeriesPermutations(data)) { var series = await seriesService.GetAsync(seriesName); points.Add(new SeriesPoint(series.Id, alignedTimestamp, (double)data.Properties[0].Value)); } } await pointStore.IncrementAsync(points); }
public async Task ProcessAsync(MetricData data) { // TODO: Get the metric & normalize the value if its not the base unit... var alignedTimestamp = AlignToGranularity(data.Timestamp ?? new Timestamp(DateTime.UtcNow)); var points = new List <SeriesPoint>(); foreach (var name in Aggregates.GetSeriesPermutations(data)) { var series = await seriesService.GetAsync(name); points.Add(new SeriesPoint(series.Id, alignedTimestamp, (double)data.Properties[0].Value)); } await pointStore.IncrementAsync(points); }