@Override public default Tags getTags() { return getGroup().getTags(); }
public Tags getTags() { return getGroup().getTags(); } }
@Override public default Tags getTags() { return getGroup().getTags(); }
private static GroupName calculate_new_name_(GroupName oldname, Map<String, MetricValue> tagged_values) { return GroupName.valueOf(oldname.getPath(), Stream.concat( oldname.getTags().stream().filter((Map.Entry<String, MetricValue> entry) -> !tagged_values.keySet().contains(entry.getKey())), tagged_values.entrySet().stream())); }
@Override public TimeSeriesMetricDeltaSet apply(Context ctx) { return new TimeSeriesMetricDeltaSet( expr_.mapCombine( expr -> expr.apply(ctx).streamAsMap() .map(t -> t.getKey()), group -> group.getTSDelta(ctx).asMap().values().stream() .flatMap(Collection::stream) .map(tsv -> tsv.getGroup()) .map(g -> g.getTags())) .map(tags -> SimpleMapEntry.create(tags, tags.getTag(tag_))) .map(tag_optval -> tag_optval.getValue().map(v -> SimpleMapEntry.create(tag_optval.getKey(), v))) .flatMap(opt -> opt.map(Stream::of).orElseGet(Stream::empty))); }
.map(old_name -> { Map<String, MetricValue> new_tags = new HashMap<>(); vectors.getOrDefault(old_name.getTags(), Collections.<Map.Entry<String, MetricValue>>emptyList()) .forEach(entry -> new_tags.put(entry.getKey(), entry.getValue())); scalars
public Stream<Alert> create_alert_(Context ctx) { final TimeSeriesCollectionPair ts_data = ctx.getTSData(); final Map<String, Any2<TimeSeriesMetricDeltaSet, List<TimeSeriesMetricDeltaSet>>> attr_map = calculate_attributes_(ctx); return alert_defn_.getName().apply(ctx) .map(path -> SimpleGroupPath.valueOf(path.getPath())) .map((name) -> { return alert_defn_.getPredicate().apply(ctx) .streamAsMap() .map((tag_val) -> SimpleMapEntry.create(tag_val.getKey(), tag_val.getValue().asBool())) .map((tag_bool) -> { final GroupName alert_name = GroupName.valueOf(name, tag_bool.getKey()); final Optional<Boolean> triggering = tag_bool.getValue(); Map<String, Any2<MetricValue, List<MetricValue>>> attrs = lookup_attributes_(alert_name.getTags(), attr_map); return new Alert(ts_data.getCurrentCollection().getTimestamp(), alert_name, alert_defn_::configString, triggering, alert_defn_.getFireDuration(), alert_defn_.getMessage(), attrs); }); }) .orElseGet(Stream::empty); }