コード例 #1
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testPercentiles50NoWrap() {
   StatsBuffer buffer = getNoWrap();
   double[] percentiles = buffer.getPercentileValues();
   // testNG does not give good errors if we do assertEquals on the two arrays
   assertEquals(percentiles[0], 250.5);
 }
コード例 #2
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 // Before fix this would throw an ArrayIndexOutOfBoundException
 @Test
 public void testCountOverflow() throws Exception {
   StatsBuffer buffer = new StatsBuffer(SIZE, PERCENTILES);
   setCount(buffer, Integer.MAX_VALUE);
   buffer.record(1);
   buffer.record(2);
 }
コード例 #3
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 StatsBuffer getWithWrap() {
   StatsBuffer buffer = new StatsBuffer(SIZE, PERCENTILES);
   for (int i = SIZE * 2; i > 0; --i) {
     buffer.record(i);
   }
   buffer.computeStats();
   return buffer;
 }
コード例 #4
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
  @Test
  public void testEmptyBuffer() {
    StatsBuffer buffer = new StatsBuffer(SIZE, PERCENTILES);
    assertEmpty(buffer);

    buffer.computeStats();
    assertEmpty(buffer);
  }
コード例 #5
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
  StatsBuffer getNoWrap() {
    StatsBuffer buffer = new StatsBuffer(SIZE, PERCENTILES);

    int max = SIZE / 2;
    for (int i = 0; i <= max; ++i) {
      buffer.record(i);
    }

    buffer.computeStats();

    return buffer;
  }
コード例 #6
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
  void assertEmpty(StatsBuffer buffer) {
    assertEquals(buffer.getCount(), 0);
    assertEquals(buffer.getTotalTime(), 0);
    assertEquals(buffer.getMax(), 0);
    assertEquals(buffer.getMin(), 0);

    // the following values could be NaN
    assertEquals(buffer.getMean(), 0.0);
    assertEquals(buffer.getVariance(), 0.0);
    assertEquals(buffer.getStdDev(), 0.0);
    assertEquals(buffer.getPercentileValues()[0], 0.0);
  }
コード例 #7
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testPercentiles99NoWrap() {
   StatsBuffer buffer = getNoWrap();
   double[] percentiles = buffer.getPercentileValues();
   assertEquals(percentiles[2], 495.99);
 }
コード例 #8
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testStdDevNoWrap() {
   StatsBuffer buffer = getNoWrap();
   assertEquals(buffer.getStdDev(), 144.62595, 1e-4);
 }
コード例 #9
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testMinWrap() {
   StatsBuffer buffer = getWithWrap();
   assertEquals(buffer.getMin(), 1);
 }
コード例 #10
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testTotalNoWrap() {
   StatsBuffer buffer = getNoWrap();
   assertEquals(buffer.getTotalTime(), SIZE / 2 * (SIZE / 2 + 1) / 2);
 }
コード例 #11
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testVarianceNoWrap() {
   StatsBuffer buffer = getNoWrap();
   assertEquals(buffer.getVariance(), 20916.66667, 1e-4);
 }
コード例 #12
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testMeanNoWrap() {
   StatsBuffer buffer = getNoWrap();
   assertEquals(buffer.getMean(), SIZE / 4.0);
 }
コード例 #13
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testCountNoWrap() {
   StatsBuffer buffer = getNoWrap();
   assertEquals(buffer.getCount(), SIZE / 2 + 1);
 }
コード例 #14
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testMaxNoWrap() {
   StatsBuffer buffer = getNoWrap();
   assertEquals(buffer.getMax(), SIZE / 2);
 }
コード例 #15
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testMinNoWrap() {
   StatsBuffer buffer = getNoWrap();
   assertEquals(buffer.getMin(), 0);
 }
コード例 #16
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testTotalWrap() {
   StatsBuffer buffer = getWithWrap();
   assertEquals(buffer.getTotalTime(), EXPECTED_TOTAL_WRAP);
 }
コード例 #17
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testCountWrap() {
   StatsBuffer buffer = getWithWrap();
   assertEquals(buffer.getCount(), SIZE);
 }
コード例 #18
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 // Used to access private count field via reflection so we can quickly simulate
 // a count that will cause an integer overflow.
 private void setCount(StatsBuffer buffer, int v) throws Exception {
   Class<?> cls = buffer.getClass();
   Field field = cls.getDeclaredField("pos");
   field.setAccessible(true);
   field.set(buffer, v);
 }
コード例 #19
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testPercentiles995Wrap() {
   StatsBuffer buffer = getWithWrap();
   double[] percentiles = buffer.getPercentileValues();
   assertEquals(percentiles[3], 996.0);
 }
コード例 #20
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testStdDevWrap() {
   StatsBuffer buffer = getWithWrap();
   assertEquals(buffer.getStdDev(), Math.sqrt(EXPECTED_VARIANCE_WRAP), 1e-4);
 }
コード例 #21
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testVarianceWrap() {
   StatsBuffer buffer = getWithWrap();
   assertEquals(buffer.getVariance(), EXPECTED_VARIANCE_WRAP, 1e-4);
 }
コード例 #22
0
ファイル: StatsBufferTest.java プロジェクト: Netflix/servo
 @Test
 public void testMeanWrap() {
   StatsBuffer buffer = getWithWrap();
   assertEquals(buffer.getMean(), (double) EXPECTED_TOTAL_WRAP / SIZE);
 }