/** * Extract all monitors across class hierarchy. */ static void addMonitors(List<Monitor<?>> monitors, String id, TagList tags, Object obj) { addMonitorFields(monitors, id, tags, obj); addAnnotatedFields(monitors, id, tags, obj); }
@Test public void testAddAnnotatedFields() throws Exception { List<Monitor<?>> monitors = new ArrayList<>(); ClassWithMonitors obj = new ClassWithMonitors(); Monitors.addAnnotatedFields(monitors, null, null, obj); Monitors.addAnnotatedFields(monitors, "foo", null, obj); //System.out.println(monitors); assertEquals(monitors.size(), 8); }
@Test public void testDefaultNames() throws Exception { Metrics m = new Metrics(); List<Monitor<?>> monitors = new ArrayList<>(); Monitors.addAnnotatedFields(monitors, null, null, m); List<String> expectedNames = UnmodifiableList.of( "annoCounter", "annoGauge", "annoInfo", "primitiveGauge"); List<String> actualNames = monitors.stream().map( monitor -> monitor.getConfig().getName()).collect(Collectors.toList()); Collections.sort(actualNames); assertEquals(actualNames, expectedNames); } }
/** * Extract all monitors across class hierarchy. */ static void addMonitors(List<Monitor<?>> monitors, String id, TagList tags, Object obj) { addMonitorFields(monitors, id, tags, obj); addAnnotatedFields(monitors, id, tags, obj); }