提交 ba244901 编写于 作者: wu-sheng's avatar wu-sheng 提交者: Jared Tan

Remove "IDs can't be null" in backend, as UI hasn't fixed this for a long time. (#3039)

上级 3bc03f8e
......@@ -20,25 +20,32 @@ package org.apache.skywalking.oap.server.core.query;
import java.io.IOException;
import java.text.ParseException;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import org.apache.skywalking.apm.util.StringUtil;
import org.apache.skywalking.oap.server.core.Const;
import org.apache.skywalking.oap.server.core.analysis.Downsampling;
import org.apache.skywalking.oap.server.core.analysis.metrics.Metrics;
import org.apache.skywalking.oap.server.core.query.entity.*;
import org.apache.skywalking.oap.server.core.query.sql.*;
import org.apache.skywalking.oap.server.core.query.entity.IntValues;
import org.apache.skywalking.oap.server.core.query.entity.Thermodynamic;
import org.apache.skywalking.oap.server.core.query.sql.KeyValues;
import org.apache.skywalking.oap.server.core.query.sql.Where;
import org.apache.skywalking.oap.server.core.storage.StorageModule;
import org.apache.skywalking.oap.server.core.storage.annotation.ValueColumnIds;
import org.apache.skywalking.oap.server.core.storage.query.IMetricsQueryDAO;
import org.apache.skywalking.oap.server.library.module.ModuleManager;
import org.apache.skywalking.oap.server.library.module.Service;
import org.apache.skywalking.oap.server.library.module.*;
import org.apache.skywalking.oap.server.library.util.CollectionUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author peng-yongsheng
*/
public class MetricQueryService implements Service {
private static final Logger logger = LoggerFactory.getLogger(MetricQueryService.class);
private final ModuleManager moduleManager;
private IMetricsQueryDAO metricQueryDAO;
......@@ -53,10 +60,17 @@ public class MetricQueryService implements Service {
return metricQueryDAO;
}
public IntValues getValues(final String indName, final List<String> ids, final Downsampling downsampling, final long startTB,
public IntValues getValues(final String indName, final List<String> ids, final Downsampling downsampling,
final long startTB,
final long endTB) throws IOException {
if (CollectionUtils.isEmpty(ids)) {
throw new RuntimeException("IDs can't be null");
/**
* Don't support query values w/o ID. but UI still did this(as bug),
* we return an empty list, and a debug level log,
* rather than an exception, which always being considered as a serious error from new users.
*/
logger.debug("query metrics[{}] w/o IDs", indName);
return new IntValues();
}
Where where = new Where();
......@@ -68,7 +82,8 @@ public class MetricQueryService implements Service {
return getMetricQueryDAO().getValues(indName, downsampling, startTB, endTB, where, ValueColumnIds.INSTANCE.getValueCName(indName), ValueColumnIds.INSTANCE.getValueFunction(indName));
}
public IntValues getLinearIntValues(final String indName, final String id, final Downsampling downsampling, final long startTB,
public IntValues getLinearIntValues(final String indName, final String id, final Downsampling downsampling,
final long startTB,
final long endTB) throws IOException, ParseException {
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(downsampling, startTB, endTB);
List<String> ids = new ArrayList<>();
......@@ -81,7 +96,8 @@ public class MetricQueryService implements Service {
return getMetricQueryDAO().getLinearIntValues(indName, downsampling, ids, ValueColumnIds.INSTANCE.getValueCName(indName));
}
public Thermodynamic getThermodynamic(final String indName, final String id, final Downsampling downsampling, final long startTB,
public Thermodynamic getThermodynamic(final String indName, final String id, final Downsampling downsampling,
final long startTB,
final long endTB) throws IOException, ParseException {
List<DurationPoint> durationPoints = DurationUtils.INSTANCE.getDurationPoints(downsampling, startTB, endTB);
List<String> ids = new ArrayList<>();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册