@SuppressWarnings("unchecked") @Override public <T> Observable<Metric<T>> findMetrics(String tenantId, MetricType<T> metricType) { Observable<Metric<T>> setFromMetricsIndex = null; Observable<Metric<T>> setFromData = dataAccess.findAllMetricIdentifiersInData() .doOnError(Throwable::printStackTrace) .filter(row -> tenantId.equals(row.getString(0))) .compose(new MetricIdentifierFromFullDataRowTransformer(defaultTTL)) .distinct() .map(m -> new Metric(m, DEFAULT_RETENTION)); if (metricType == null) { setFromMetricsIndex = Observable.from(MetricType.userTypes()) .map(type -> (MetricType<T>) type) .flatMap(type -> dataAccess.findMetricsInMetricsIndex(tenantId, type) .compose(new MetricsIndexRowTransformer<>(tenantId, type, defaultTTL))); } else { setFromMetricsIndex = dataAccess.findMetricsInMetricsIndex(tenantId, metricType) .compose(new MetricsIndexRowTransformer<>(tenantId, metricType, defaultTTL)); setFromData = setFromData.filter(m -> metricType.equals(m.getType())); } return setFromMetricsIndex.concatWith(setFromData).distinct(Metric::getMetricId); }
@SuppressWarnings("unchecked") @Override public <T> Observable<Metric<T>> findMetrics(String tenantId, MetricType<T> metricType) { Observable<Metric<T>> setFromMetricsIndex = null; Observable<Metric<T>> setFromData = dataAccess.findAllMetricIdentifiersInData() .doOnError(Throwable::printStackTrace) .filter(row -> tenantId.equals(row.getString(0))) .compose(new MetricIdentifierFromFullDataRowTransformer(defaultTTL)) .distinct() .map(m -> new Metric(m, DEFAULT_RETENTION)); if (metricType == null) { setFromMetricsIndex = Observable.from(MetricType.userTypes()) .map(type -> (MetricType<T>) type) .flatMap(type -> dataAccess.findMetricsInMetricsIndex(tenantId, type) .compose(new MetricsIndexRowTransformer<>(tenantId, type, defaultTTL))); } else { setFromMetricsIndex = dataAccess.findMetricsInMetricsIndex(tenantId, metricType) .compose(new MetricsIndexRowTransformer<>(tenantId, metricType, defaultTTL)); setFromData = setFromData.filter(m -> metricType.equals(m.getType())); } return setFromMetricsIndex.concatWith(setFromData).distinct(Metric::getMetricId); }
for (MetricType<?> metricType : MetricType.userTypes()) { if(metricType == STRING) { continue; } // We don't support String metrics in temp tables yet for (TempStatement st : TempStatement.values()) {
for (MetricType<?> metricType : MetricType.userTypes()) { if(metricType == STRING) { continue; } // We don't support String metrics in temp tables yet for (TempStatement st : TempStatement.values()) {
.distinct(); } else { for (MetricType<?> ltype : MetricType.userTypes()) { @SuppressWarnings({ "unchecked", "rawtypes" }) Observable<MetricId<T>> lresult = dataAccess.findMetricsInMetricsIndex(tenantId, ltype)
.distinct(); } else { for (MetricType<?> ltype : MetricType.userTypes()) { @SuppressWarnings({ "unchecked", "rawtypes" }) Observable<MetricId<T>> lresult = dataAccess.findMetricsInMetricsIndex(tenantId, ltype)