@Test public void latency100msBiasSlow() { BucketFunction f = BucketFunctions.latencyBiasSlow(100, TimeUnit.MILLISECONDS); Assertions.assertEquals("negative_latency", f.apply(TimeUnit.MILLISECONDS.toNanos(-1))); Assertions.assertEquals("050ms", f.apply(TimeUnit.MILLISECONDS.toNanos(1))); Assertions.assertEquals("050ms", f.apply(TimeUnit.MILLISECONDS.toNanos(13))); Assertions.assertEquals("050ms", f.apply(TimeUnit.MILLISECONDS.toNanos(25))); Assertions.assertEquals("075ms", f.apply(TimeUnit.MILLISECONDS.toNanos(74))); Assertions.assertEquals("075ms", f.apply(TimeUnit.MILLISECONDS.toNanos(75))); Assertions.assertEquals("100ms", f.apply(TimeUnit.MILLISECONDS.toNanos(99))); Assertions.assertEquals("slow", f.apply(TimeUnit.MILLISECONDS.toNanos(101))); }
@Test public void latency100ms() { BucketFunction f = BucketFunctions.latency(100, TimeUnit.MILLISECONDS); Assertions.assertEquals("negative_latency", f.apply(TimeUnit.MILLISECONDS.toNanos(-1))); Assertions.assertEquals("012ms", f.apply(TimeUnit.MILLISECONDS.toNanos(1))); Assertions.assertEquals("025ms", f.apply(TimeUnit.MILLISECONDS.toNanos(13))); Assertions.assertEquals("025ms", f.apply(TimeUnit.MILLISECONDS.toNanos(25))); Assertions.assertEquals("100ms", f.apply(TimeUnit.MILLISECONDS.toNanos(99))); Assertions.assertEquals("slow", f.apply(TimeUnit.MILLISECONDS.toNanos(101))); }
@Test public void latency3s() { BucketFunction f = BucketFunctions.latency(3, TimeUnit.SECONDS); Assertions.assertEquals("negative_latency", f.apply(TimeUnit.MILLISECONDS.toNanos(-1))); Assertions.assertEquals("0375ms", f.apply(TimeUnit.MILLISECONDS.toNanos(25))); Assertions.assertEquals("0750ms", f.apply(TimeUnit.MILLISECONDS.toNanos(740))); Assertions.assertEquals("1500ms", f.apply(TimeUnit.MILLISECONDS.toNanos(1000))); Assertions.assertEquals("3000ms", f.apply(TimeUnit.MILLISECONDS.toNanos(1567))); Assertions.assertEquals("slow", f.apply(TimeUnit.MILLISECONDS.toNanos(3001))); } }
@Test public void age60s() { BucketFunction f = BucketFunctions.age(60, TimeUnit.SECONDS); Assertions.assertEquals("future", f.apply(TimeUnit.SECONDS.toNanos(-1))); Assertions.assertEquals("07s", f.apply(TimeUnit.SECONDS.toNanos(1))); Assertions.assertEquals("07s", f.apply(TimeUnit.SECONDS.toNanos(6))); Assertions.assertEquals("07s", f.apply(TimeUnit.SECONDS.toNanos(7))); Assertions.assertEquals("15s", f.apply(TimeUnit.SECONDS.toNanos(10))); Assertions.assertEquals("30s", f.apply(TimeUnit.SECONDS.toNanos(20))); Assertions.assertEquals("30s", f.apply(TimeUnit.SECONDS.toNanos(30))); Assertions.assertEquals("60s", f.apply(TimeUnit.SECONDS.toNanos(42))); Assertions.assertEquals("60s", f.apply(TimeUnit.SECONDS.toNanos(60))); Assertions.assertEquals("old", f.apply(TimeUnit.SECONDS.toNanos(61))); }
@Test public void age60sBiasOld() { BucketFunction f = BucketFunctions.ageBiasOld(60, TimeUnit.SECONDS); Assertions.assertEquals("future", f.apply(TimeUnit.SECONDS.toNanos(-1))); Assertions.assertEquals("30s", f.apply(TimeUnit.SECONDS.toNanos(1))); Assertions.assertEquals("30s", f.apply(TimeUnit.SECONDS.toNanos(6))); Assertions.assertEquals("30s", f.apply(TimeUnit.SECONDS.toNanos(7))); Assertions.assertEquals("30s", f.apply(TimeUnit.SECONDS.toNanos(10))); Assertions.assertEquals("30s", f.apply(TimeUnit.SECONDS.toNanos(20))); Assertions.assertEquals("30s", f.apply(TimeUnit.SECONDS.toNanos(30))); Assertions.assertEquals("45s", f.apply(TimeUnit.SECONDS.toNanos(42))); Assertions.assertEquals("52s", f.apply(TimeUnit.SECONDS.toNanos(48))); Assertions.assertEquals("60s", f.apply(TimeUnit.SECONDS.toNanos(59))); Assertions.assertEquals("60s", f.apply(TimeUnit.SECONDS.toNanos(60))); Assertions.assertEquals("old", f.apply(TimeUnit.SECONDS.toNanos(61))); }