public void AggregateGroup_Test1() { DateTime dateTime = DateTime.Now; AggregateGroup group2 = new AggregateGroup("Histogramtest", AggregateType.Histogram, dateTime); System.Collections.Generic.Dictionary<string, string> tag = new System.Collections.Generic.Dictionary<string, string>(); AggregateKey key = new AggregateKey("", "count", tag, AggregateType.Histogram); group2.PutDouble(key, 2); Dictionary<AggregateKey, AggregateResult> result = group2.MergeResult(); Assert.AreEqual(result.Count, 1); Assert.AreEqual((int)result[key].Avg, 2); Assert.AreEqual((int)result[key].Count, 1); Assert.AreEqual((int)result[key].Max, 2); Assert.AreEqual((int)result[key].Min, 2); Assert.AreEqual((int)result[key].Sum, 2); Assert.AreEqual(group2.AggregateType, AggregateType.Histogram); Assert.AreEqual(group2.CycleTime, dateTime); Assert.AreEqual(group2.FullName, "Histogramtest"); result = group2.MergeResult(); }
public void AggregateGroup_Test() { DateTime dateTime = DateTime.Now; AggregateGroup group1 = new AggregateGroup("Counttest", AggregateType.Count, dateTime); System.Collections.Generic.Dictionary<string, string> tag = new System.Collections.Generic.Dictionary<string, string>(); AggregateKey key = new AggregateKey("", "count", tag, AggregateType.Count); group1.PutDouble(key, 122); Dictionary<AggregateKey, AggregateResult> result = group1.MergeResult(); Assert.IsTrue(group1.HasMerged); Assert.AreEqual(result.Count, 1); Assert.AreEqual((int)result[key].Avg, 122); Assert.AreEqual((int)result[key].Count, 1); Assert.AreEqual((int)result[key].Max, 122); Assert.AreEqual((int)result[key].Min, 122); Assert.AreEqual((int)result[key].Sum, 122); }
private void DoDispatch(AggregateGroup group, Action<Dictionary<AggregateKey, AggregateResult>> callback) { Dictionary<AggregateKey, AggregateResult> result = null; if (group != null) { result = group.MergeResult(); if (result != null) { if (group.AggregateType == AggregateType.Count) LogCount(group, result); else if (group.AggregateType == AggregateType.Histogram) LogHistogram(group, result); } } if (callback != null) { try { callback(result); } catch { } } }