public void addTag(String key, String value) { tags.add(new Tag(key, value)); }
public void addTag(String key, String value) { tags.add(new Tag(key, value)); }
@Test public void testStatFilterTags() { MonitorFactory mf = new MonitorFactory(); Monitor monitor = mf.getInstance(); StatFilter filter = new StatFilter(); filter.setName("bender.test.tags"); filter.setTags(Sets.newSet(new Tag("foo", "3"))); List<StatFilter> filters = new ArrayList<StatFilter>(1); filters.add(filter); DummyReporter reporter = new DummyReporter(filters); monitor.addReporters(Arrays.asList(reporter)); Stat statFail = new Stat("bender.test.tags"); statFail.addTag("foo", "3"); Stat statPass = new Stat("bender.test.tags"); statPass.addTag("bar", "4"); monitor.addInvocationStat(statFail); monitor.addInvocationStat(statPass); monitor.writeStats(); assertEquals(1, reporter.buffer.size()); assertEquals(true, reporter.buffer.contains("bender.test.tags bar:4 0")); assertEquals(false, reporter.buffer.contains("bender.test.tags foo:3 0")); }
filterBarTags.setName("bender.test.bar"); filterBarTags.setReportZeros(true); filterBarTags.setTags(Sets.newSet(new Tag("t0", "7")));
@Override public void write(ArrayList<Stat> stats, long invokeTimeMs, Set<Tag> tags) { Set<Tag> allTags = new HashSet<Tag>(); /* * DataDog only tracks to second precision */ long ts = invokeTimeMs / 1000; for (Stat stat : stats) { allTags.addAll(tags); allTags.addAll(stat.getTags()); String tagsString = allTags.stream().map(e -> formatEntry(e.getKey(), e.getValue())) .collect(Collectors.joining(",")); /* * MONITORING|unix_epoch_timestamp|value|metric_type|my.metric.name|#tag1:value,tag2 */ String[] logParts = {"MONITORING", "" + ts, "" + stat.getValue(), stat.getType().name(), prefix + "." + stat.getName(), "#" + tagsString}; allTags.clear(); System.out.println(String.join("|", logParts)); } }
@Override public void write(ArrayList<Stat> stats, long invokeTimeMs, Set<Tag> tags) { Set<Tag> allTags = new HashSet<Tag>(); /* * DataDog only tracks to second precision */ long ts = invokeTimeMs / 1000; for (Stat stat : stats) { allTags.addAll(tags); allTags.addAll(stat.getTags()); String tagsString = allTags.stream().map(e -> formatEntry(e.getKey(), e.getValue())) .collect(Collectors.joining(",")); /* * MONITORING|unix_epoch_timestamp|value|metric_type|my.metric.name|#tag1:value,tag2 */ String[] logParts = {"MONITORING", "" + ts, "" + stat.getValue(), stat.getType().name(), prefix + "." + stat.getName(), "#" + tagsString}; allTags.clear(); System.out.println(String.join("|", logParts)); } }
@Override public void write(ArrayList<Stat> stats, long invokeTimeMs, Set<Tag> tags) { Set<Tag> allTags = new HashSet<Tag>(); for (Stat stat : stats) { allTags.addAll(tags); allTags.addAll(stat.getTags()); String tagsString = allTags.stream().map(e -> formatEntry(e.getKey(), e.getValue())) .collect(Collectors.joining(",")); String metric = String.format("%s %s %d", stat.getName(), tagsString, stat.getValue()); buffer.add(metric); allTags.clear(); } }