@Test public void testMonitor() { final TaskCountStatsMonitor monitor = new TaskCountStatsMonitor(statsProvider); final StubServiceEmitter emitter = new StubServiceEmitter("service", "host"); monitor.doMonitor(emitter); Assert.assertEquals(5, emitter.getEvents().size()); Assert.assertEquals("task/success/count", emitter.getEvents().get(0).toMap().get("metric")); Assert.assertEquals(1L, emitter.getEvents().get(0).toMap().get("value")); Assert.assertEquals("task/failed/count", emitter.getEvents().get(1).toMap().get("metric")); Assert.assertEquals(1L, emitter.getEvents().get(1).toMap().get("value")); Assert.assertEquals("task/running/count", emitter.getEvents().get(2).toMap().get("metric")); Assert.assertEquals(1L, emitter.getEvents().get(2).toMap().get("value")); Assert.assertEquals("task/pending/count", emitter.getEvents().get(3).toMap().get("metric")); Assert.assertEquals(1L, emitter.getEvents().get(3).toMap().get("value")); Assert.assertEquals("task/waiting/count", emitter.getEvents().get(4).toMap().get("metric")); Assert.assertEquals(1L, emitter.getEvents().get(4).toMap().get("value")); } }
@Test public void testMonitor() { final CgroupMemoryMonitor monitor = new CgroupMemoryMonitor(discoverer, ImmutableMap.of(), "some_feed"); final StubServiceEmitter emitter = new StubServiceEmitter("service", "host"); Assert.assertTrue(monitor.doMonitor(emitter)); final List<Event> actualEvents = emitter.getEvents(); Assert.assertEquals(44, actualEvents.size()); } }
@Test public void testMonitorWontCrash() { final CpuAcctDeltaMonitor monitor = new CpuAcctDeltaMonitor( "some_feed", ImmutableMap.of(), cgroup -> { throw new RuntimeException("Should continue"); } ); final StubServiceEmitter emitter = new StubServiceEmitter("service", "host"); monitor.doMonitor(emitter); monitor.doMonitor(emitter); monitor.doMonitor(emitter); Assert.assertTrue(emitter.getEvents().isEmpty()); }
@Test public void testSimpleMonitor() throws Exception { final File cpuacct = new File(cpuacctDir, "cpuacct.usage_all"); try (final FileOutputStream fos = new FileOutputStream(cpuacct)) { fos.write(StringUtils.toUtf8("cpu user system\n")); for (int i = 0; i < 128; ++i) { fos.write(StringUtils.toUtf8(StringUtils.format("%d 0 0\n", i))); } } final CpuAcctDeltaMonitor monitor = new CpuAcctDeltaMonitor( "some_feed", ImmutableMap.of(), (cgroup) -> cpuacctDir.toPath() ); final StubServiceEmitter emitter = new StubServiceEmitter("service", "host"); Assert.assertFalse(monitor.doMonitor(emitter)); // First should just cache Assert.assertEquals(0, emitter.getEvents().size()); Assert.assertTrue(cpuacct.delete()); TestUtils.copyResource("/cpuacct.usage_all", cpuacct); Assert.assertTrue(monitor.doMonitor(emitter)); Assert.assertEquals(2 * 128 + 1, emitter.getEvents().size()); } }
@Test public void testSetFeed() { String feed = "testFeed"; StubServiceEmitter emitter = new StubServiceEmitter("dev/monitor-test", "localhost:0000"); Monitor m = Monitors.createCompoundJvmMonitor(ImmutableMap.of(), feed); m.start(); m.monitor(emitter); m.stop(); checkEvents(emitter.getEvents(), feed); }
@Test public void testDefaultFeed() { StubServiceEmitter emitter = new StubServiceEmitter("dev/monitor-test", "localhost:0000"); Monitor m = Monitors.createCompoundJvmMonitor(ImmutableMap.of()); m.start(); m.monitor(emitter); m.stop(); checkEvents(emitter.getEvents(), "metrics"); }