long GetQpsAndReset() { var snapshot = histogram.GetSnapshot(true); var timeSnapshot = timeStats.GetSnapshot(true); return((long)(snapshot.Count / timeSnapshot.WallClockTime.TotalSeconds)); }
long GetQpsAndReset() { var snapshot = histogram.GetSnapshot(true); var elapsedSnapshot = wallClockStopwatch.GetElapsedSnapshot(true); return((long)(snapshot.Count / elapsedSnapshot.TotalSeconds)); }
public void ExtremeObservations() { var hist = new Histogram(0.01, 60e9); hist.AddObservation(-0.5); // should be in the first bucket hist.AddObservation(1e12); // should be in the last bucket var data = hist.GetSnapshot(); Assert.AreEqual(1, data.Bucket[0]); Assert.AreEqual(1, data.Bucket[data.Bucket.Count - 1]); }
public void Reset() { var hist = new Histogram(0.01, 60e9); hist.AddObservation(10000); hist.AddObservation(11000); var data = hist.GetSnapshot(true); // snapshot contains data before reset Assert.AreEqual(2, data.Count); Assert.AreEqual(10000, data.MinSeen); Assert.AreEqual(11000, data.MaxSeen); data = hist.GetSnapshot(); // snapshot contains state after reset Assert.AreEqual(0, data.Count); Assert.AreEqual(double.PositiveInfinity, data.MinSeen); Assert.AreEqual(double.NegativeInfinity, data.MaxSeen); Assert.AreEqual(0, data.Sum); Assert.AreEqual(0, data.SumOfSquares); CollectionAssert.AreEqual(new uint[data.Bucket.Count], data.Bucket); }
public ClientStats GetStats(bool reset) { var histogramData = histogram.GetSnapshot(reset); var secondsElapsed = wallClockStopwatch.GetElapsedSnapshot(reset).TotalSeconds; // TODO: populate user time and system time return(new ClientStats { Latencies = histogramData, TimeElapsed = secondsElapsed, TimeUser = 0, TimeSystem = 0 }); }
public void Simple() { var hist = new Histogram(0.01, 60e9); hist.AddObservation(10000); hist.AddObservation(10000); hist.AddObservation(11000); hist.AddObservation(11000); var data = hist.GetSnapshot(); Assert.AreEqual(4, data.Count); Assert.AreEqual(42000.0, data.Sum, 1e-6); Assert.AreEqual(10000, data.MinSeen); Assert.AreEqual(11000, data.MaxSeen); Assert.AreEqual(2.0*10000*10000 + 2.0*11000*11000, data.SumOfSquares, 1e-6); // 1.01^925 < 10000 < 1.01^926 Assert.AreEqual(2, data.Bucket[925]); Assert.AreEqual(2, data.Bucket[935]); }
public void Simple() { var hist = new Histogram(0.01, 60e9); hist.AddObservation(10000); hist.AddObservation(10000); hist.AddObservation(11000); hist.AddObservation(11000); var data = hist.GetSnapshot(); Assert.AreEqual(4, data.Count); Assert.AreEqual(42000.0, data.Sum, 1e-6); Assert.AreEqual(10000, data.MinSeen); Assert.AreEqual(11000, data.MaxSeen); Assert.AreEqual(2.0 * 10000 * 10000 + 2.0 * 11000 * 11000, data.SumOfSquares, 1e-6); // 1.01^925 < 10000 < 1.01^926 Assert.AreEqual(2, data.Bucket[925]); Assert.AreEqual(2, data.Bucket[935]); }
public ClientStats GetStats(bool reset) { var histogramData = histogram.GetSnapshot(reset); var secondsElapsed = wallClockStopwatch.GetElapsedSnapshot(reset).TotalSeconds; if (reset) { statsResetCount.Increment(); } GrpcEnvironment.Logger.Info("[ClientRunnerImpl.GetStats] GC collection counts: gen0 {0}, gen1 {1}, gen2 {2}, gen3 {3} (histogram reset count:{4}, seconds since reset: {5})", GC.CollectionCount(0), GC.CollectionCount(1), GC.CollectionCount(2), GC.CollectionCount(3), statsResetCount.Count, secondsElapsed); // TODO: populate user time and system time return(new ClientStats { Latencies = histogramData, TimeElapsed = secondsElapsed, TimeUser = 0, TimeSystem = 0 }); }
public void MergeSnapshots() { var data = new HistogramData(); var hist1 = new Histogram(0.01, 60e9); hist1.AddObservation(-0.5); // should be in the first bucket hist1.AddObservation(1e12); // should be in the last bucket hist1.GetSnapshot(data, false); var hist2 = new Histogram(0.01, 60e9); hist2.AddObservation(10000); hist2.AddObservation(11000); hist2.GetSnapshot(data, false); Assert.AreEqual(4, data.Count); Assert.AreEqual(-0.5, data.MinSeen); Assert.AreEqual(1e12, data.MaxSeen); Assert.AreEqual(1, data.Bucket[0]); Assert.AreEqual(1, data.Bucket[925]); Assert.AreEqual(1, data.Bucket[935]); Assert.AreEqual(1, data.Bucket[data.Bucket.Count - 1]); }