Search in sources :

Example 16 with ApproximateHistogram

use of com.twitter.common.stats.ApproximateHistogram in project commons by twitter.

the class ApproximateHistogramTest method testIsBufferEmpty.

@Test
public void testIsBufferEmpty() {
    ApproximateHistogram hist = new ApproximateHistogram(b, h);
    for (int i = 0; i < 3 * b; i++) {
        hist.add(i);
    }
    assertEquals(false, hist.isBufferEmpty(2));
    assertEquals(true, hist.isBufferEmpty(3));
    for (int i = 0; i < 2 * b; i++) {
        hist.add(i);
    }
    assertEquals(true, hist.isBufferEmpty(2));
    assertEquals(false, hist.isBufferEmpty(3));
}
Also used : ApproximateHistogram(com.twitter.common.stats.ApproximateHistogram) Test(org.junit.Test)

Example 17 with ApproximateHistogram

use of com.twitter.common.stats.ApproximateHistogram in project commons by twitter.

the class ApproximateHistogramTest method testBiggestIndexFinder.

@Test
public void testBiggestIndexFinder() {
    ApproximateHistogram hist = new ApproximateHistogram(b, h);
    int n = 3;
    for (int i = 1; i <= n; i++) {
        hist.add(i);
    }
    initIndexArray(hist, b);
    for (int i = 1; i <= n; i++) {
        assertEquals(n - i + 1, getBiggest(hist));
    }
    n = 2 * b;
    for (int i = 4; i <= n; i++) {
        hist.add(i);
    }
    initIndexArray(hist, b);
    for (int i = 1; i <= n; i++) {
        assertEquals(n - i + 1, getBiggest(hist));
    }
    hist.add(2 * b + 1);
    n += 1;
    initIndexArray(hist, b);
    assertEquals(n, getBiggest(hist));
    for (int i = 2; i <= n; i += 2) {
        assertEquals(n - i + 1, getBiggest(hist));
    }
}
Also used : ApproximateHistogram(com.twitter.common.stats.ApproximateHistogram) Test(org.junit.Test)

Example 18 with ApproximateHistogram

use of com.twitter.common.stats.ApproximateHistogram in project commons by twitter.

the class ApproximateHistogramTest method testHistogramWithNegative.

@Test
public void testHistogramWithNegative() {
    ApproximateHistogram hist = new ApproximateHistogram();
    hist.add(-1L);
    assertEquals(-1L, hist.getQuantile(0.0));
    assertEquals(-1L, hist.getQuantile(0.5));
    assertEquals(-1L, hist.getQuantile(1.0));
}
Also used : ApproximateHistogram(com.twitter.common.stats.ApproximateHistogram) Test(org.junit.Test)

Aggregations

ApproximateHistogram (com.twitter.common.stats.ApproximateHistogram)18 Test (org.junit.Test)16 Data (com.twitter.common.quantity.Data)2 ImmutableList (com.google.common.collect.ImmutableList)1 Amount (com.twitter.common.quantity.Amount)1 RealHistogram (com.twitter.common.stats.testing.RealHistogram)1