public static Predicate<Stat> isMatch(StatFilter filter) { return stat -> { if ((stat.getValue() != 0 && !filter.reportZeros)) { return false; } if (filter.name != null && !stat.getName().equals(filter.name)) { return false; } if (!stat.getTags().containsAll(filter.tags)) { return false; } return true; }; } }
public static Predicate<Stat> isMatch(StatFilter filter) { return stat -> { if ((stat.getValue() != 0 && !filter.reportZeros)) { return false; } if (filter.name != null && !stat.getName().equals(filter.name)) { return false; } if (!stat.getTags().containsAll(filter.tags)) { return false; } return true; }; } }
@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(); } }
metric.setMetricName(stat.getName());
metric.setMetricName(stat.getName());