@Override public List<DependencyLink> apply(List<DependencyLink> input) { return input == null ? Collections.<DependencyLink>emptyList() : DependencyLinker.merge(input); } });
DependencyLinker linker = new DependencyLinker(); linker.putTrace(traces.next()); return linker.link(); } catch (SQLException e) { throw new RuntimeException("Error querying dependencies for endTs " + endTs + " and lookback " + lookback + ": " + e.getMessage());
DependencyLinker linker = new DependencyLinker(); linker.putTrace(traces.next()); return linker.link(); } catch (SQLException e) { throw new RuntimeException("Error querying dependencies for endTs " + endTs + " and lookback " + lookback + ": " + e.getMessage());
DependencyLinker linker = new DependencyLinker(); linker.putTrace(traces.next()); return linker.link(); } catch (SQLException e) { throw new RuntimeException("Error querying dependencies for endTs " + endTs + " and lookback " + lookback + ": " + e.getMessage());
@Override public List<DependencyLink> convert(BufferedSource content) throws IOException { List<DependencyLink> result = super.convert(content); return result.isEmpty() ? result : zipkin.internal.DependencyLinker.merge(result); } };
DependencyLinker linker = new DependencyLinker(); linker.putTrace(traces.next()); return linker.link();
@Override public List<DependencyLink> apply(@Nullable ResultSet rs) { ImmutableList.Builder<DependencyLink> unmerged = ImmutableList.builder(); for (Row row : rs) { ByteBuffer encodedDayOfDependencies = row.getBytes("dependencies"); for (DependencyLink link : Dependencies.fromThrift(encodedDayOfDependencies).links) { unmerged.add(link); } } return DependencyLinker.merge(unmerged.build()); }
@Override public List<DependencyLink> getDependencies(long endTs, @Nullable Long lookback) { try (Connection conn = datasource.getConnection()) { if (schema.hasPreAggregatedDependencies) { List<Date> days = getDays(endTs, lookback); List<DependencyLink> unmerged = context.get(conn) .select(schema.dependencyLinkFields) .from(ZIPKIN_DEPENDENCIES) .where(ZIPKIN_DEPENDENCIES.DAY.in(days)) .fetch((Record l) -> DependencyLink.builder() .parent(l.get(ZIPKIN_DEPENDENCIES.PARENT)) .child(l.get(ZIPKIN_DEPENDENCIES.CHILD)) .callCount(l.get(ZIPKIN_DEPENDENCIES.CALL_COUNT)) .errorCount(maybeGet(l, ZIPKIN_DEPENDENCIES.ERROR_COUNT, 0L)) .build() ); return DependencyLinker.merge(unmerged); } else { return aggregateDependencies(endTs, lookback, conn); } } catch (SQLException e) { throw new RuntimeException("Error querying dependencies for endTs " + endTs + " and lookback " + lookback + ": " + e.getMessage()); } }