Skip to content

Commit

Permalink
refactor: optimize result of dataquery
Browse files Browse the repository at this point in the history
  • Loading branch information
霄鸿 committed Jan 25, 2024
1 parent 7bc16f2 commit 1a6698f
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,8 @@ private void tryQueryLogSample(List<AlertNotify> alertNotifyList) {
List<String> logs = new ArrayList<>();
Long alertTime = alertNotify.getAlarmTime();
for (QueryProto.QueryRequest queryRequest : queryRequests) {
QueryProto.QueryResponse response = this.queryClientService.queryData(queryRequest);
QueryProto.QueryResponse response =
this.queryClientService.queryData(queryRequest, "LOG_ALERT");
if (response != null && !CollectionUtils.isEmpty(response.getResultsList())) {
LOGGER.debug("{} log sample result {} request {}", alertNotify.getTraceId(),
J.toJson(response.getResultsList()), J.toJson(queryRequest));
Expand Down Expand Up @@ -226,7 +227,8 @@ private void tryQueryLogAnalysis(List<AlertNotify> alertNotifyList) {
List<String> logs = new ArrayList<>();
Long alertTime = alertNotify.getAlarmTime();
for (QueryProto.QueryRequest queryRequest : queryRequests) {
QueryProto.QueryResponse response = this.queryClientService.queryData(queryRequest);
QueryProto.QueryResponse response =
this.queryClientService.queryData(queryRequest, "LOG_ALERT");
if (response != null && !CollectionUtils.isEmpty(response.getResultsList())) {
LOGGER.debug("{} log analysis result {} request {}", alertNotify.getTraceId(),
J.toJson(response.getResultsList()), J.toJson(queryRequest));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ private CheckResult doCheck(Record record) {

QueryProto.QueryRequest request =
ruleAlarmLoadData.buildRequest(record.period, record.tenant, record.trigger);
QueryProto.QueryResponse response = queryClientService.queryData(request);
QueryProto.QueryResponse response = queryClientService.queryData(request, "ALERT");

Map<Long, Double> points = new HashMap<>();
if (response != null && !CollectionUtils.isEmpty(response.getResultsList())) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ private QueryProto.QueryResponse getData(InspectConfig inspectConfig, Trigger tr

request = QueryProto.QueryRequest.newBuilder().setTenant(inspectConfig.getTenant())
.setQuery(trigger.getQuery()).addAllDatasources(datasources).build();
response = queryClientService.queryData(request);
response = queryClientService.queryData(request, "AI_ALERT");
if (LOGGER.isDebugEnabled()) {
LOGGER.debug("{} QueryData Success Request:{} Response:{}", inspectConfig.getTraceId(),
G.get().toJson(request), G.get().toJson(response));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,13 @@ public List<DataResult> queryDataResult(ComputeTaskPackage computeTask,
try {
request = buildRequest(computeTask.getTimestamp(), inspectConfig.getTenant(), trigger);
LOGGER.debug("{} alert query request {}", inspectConfig.getTraceId(), request.toString());
response = queryClientService.queryData(request);
response = queryClientService.queryData(request, "ALERT");
dataResults = merge(dataResults, response);
long deltaTimestamp = getDeltaTimestamp(trigger.getPeriodType());
if (deltaTimestamp > 0) {
deltaRequest = buildRequest(computeTask.getTimestamp() - deltaTimestamp,
inspectConfig.getTenant(), trigger);
deltaResponse = queryClientService.queryData(deltaRequest);
deltaResponse = queryClientService.queryData(deltaRequest, "ALERT");
dataResults = merge(dataResults, deltaResponse);
}
} catch (Exception exception) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -427,14 +427,14 @@ private QueryProto.QueryTraceRequest convertRequest(QueryTraceRequest request) {
return requestBuilder.build();
}

public QueryProto.QueryResponse queryData(QueryProto.QueryRequest request) {
public QueryProto.QueryResponse queryData(QueryProto.QueryRequest request, String source) {

QueryProto.QueryRequest queryRequest = this.requestContextAdapter.requestAdapte(request);
long start = System.currentTimeMillis();
QueryProto.QueryResponse response =
queryServiceBlockingStub.withMaxInboundMessageSize(4194304 * 100).queryData(queryRequest);
int pointSize = getPointSizeFromResp(response);
log.info("HOME_QUERY_STAT from[ALERT] invoke[1], cost[{}], pointSize[{}]",
log.info("HOME_QUERY_STAT from[{}] invoke[1], cost[{}], pointSize[{}]", source,
System.currentTimeMillis() - start, pointSize);
return response;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,10 @@ public class QueryResponse {
*/
private List<Result> completes;

private String message;

private Boolean success = true;

private String errorCode;

}
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,17 @@ public void doManage() {
JsonResult.createSuccessResult(result, response);
} catch (Throwable t) {
log.error("query error", t);
QueryResponse response = new QueryResponse();
if ((t.getMessage().contains("Evaluated points num")
|| t.getMessage().contains("Evaluated series num"))
&& t.getMessage().contains("larger than")) {
throw new MonitorException(ResultCodeEnum.EXCEED_SERIES_LIMIT, t.getMessage());
response.setErrorCode(ResultCodeEnum.EXCEED_SERIES_LIMIT.name());
} else {
response.setErrorCode(ResultCodeEnum.DOWNSTREAM_SYSTEM_ERROR.name());
}
throw new MonitorException(ResultCodeEnum.DOWNSTREAM_SYSTEM_ERROR, t.getMessage());
response.setSuccess(false);
response.setMessage(t.getMessage());
JsonResult.fillFailResultTo(result, t.getMessage());
}
}
});
Expand Down Expand Up @@ -183,12 +188,17 @@ public void doManage() {
QueryResponse response = queryClientService.queryTags(convertRequest(request));
JsonResult.createSuccessResult(result, response);
} catch (Throwable t) {
QueryResponse response = new QueryResponse();
if ((t.getMessage().contains("Evaluated points num")
|| t.getMessage().contains("Evaluated series num"))
&& t.getMessage().contains("larger than")) {
throw new MonitorException(ResultCodeEnum.EXCEED_SERIES_LIMIT, t.getMessage());
response.setErrorCode(ResultCodeEnum.EXCEED_SERIES_LIMIT.name());
} else {
response.setErrorCode(ResultCodeEnum.DOWNSTREAM_SYSTEM_ERROR.name());
}
throw new MonitorException(ResultCodeEnum.DOWNSTREAM_SYSTEM_ERROR, t.getMessage());
response.setSuccess(false);
response.setMessage(t.getMessage());
JsonResult.fillFailResultTo(result, t.getMessage());
}
}
});
Expand Down Expand Up @@ -411,12 +421,17 @@ public void doManage() {
QueryResponse response = queryClientService.pqlRangeQuery(rangeRequest);
JsonResult.createSuccessResult(result, response.getResults());
} catch (Throwable t) {
QueryResponse response = new QueryResponse();
if ((t.getMessage().contains("Evaluated points num")
|| t.getMessage().contains("Evaluated series num"))
&& t.getMessage().contains("larger than")) {
throw new MonitorException(ResultCodeEnum.EXCEED_SERIES_LIMIT, t.getMessage());
response.setErrorCode(ResultCodeEnum.EXCEED_SERIES_LIMIT.name());
} else {
response.setErrorCode(ResultCodeEnum.DOWNSTREAM_SYSTEM_ERROR.name());
}
throw new MonitorException(ResultCodeEnum.DOWNSTREAM_SYSTEM_ERROR, t.getMessage());
response.setSuccess(false);
response.setMessage(t.getMessage());
JsonResult.fillFailResultTo(result, t.getMessage());
}
}
});
Expand Down Expand Up @@ -452,12 +467,17 @@ public void doManage() {
QueryResponse response = queryClientService.pqlInstantQuery(instantRequest);
JsonResult.createSuccessResult(result, response.getResults());
} catch (Throwable t) {
QueryResponse response = new QueryResponse();
if ((t.getMessage().contains("Evaluated points num")
|| t.getMessage().contains("Evaluated series num"))
&& t.getMessage().contains("larger than")) {
throw new MonitorException(ResultCodeEnum.EXCEED_SERIES_LIMIT, t.getMessage());
response.setErrorCode(ResultCodeEnum.EXCEED_SERIES_LIMIT.name());
} else {
response.setErrorCode(ResultCodeEnum.DOWNSTREAM_SYSTEM_ERROR.name());
}
throw new MonitorException(ResultCodeEnum.DOWNSTREAM_SYSTEM_ERROR, t.getMessage());
response.setSuccess(false);
response.setMessage(t.getMessage());
JsonResult.fillFailResultTo(result, t.getMessage());
}
}
});
Expand Down

0 comments on commit 1a6698f

Please sign in to comment.