This is an automated email from the ASF dual-hosted git repository.
zhaoqingran pushed a commit to branch log-oltp
in repository https://gitbox.apache.org/repos/asf/hertzbeat.git
The following commit(s) were added to refs/heads/log-oltp by this push:
new ece13b5e6 modify api endpoints
ece13b5e6 is described below
commit ece13b5e6be7f766fa24b6be60daeed3deda5c46
Author: Logic <[email protected]>
AuthorDate: Tue Nov 19 00:44:07 2024 +0800
modify api endpoints
---
.../client/VictoriaLogsQueryClient.java | 28 +++++++++++++++-------
.../log/victorialogs/model/LogQueryRequest.java | 2 ++
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git
a/hertzbeat-log/src/main/java/org/apache/hertzbeat/log/victorialogs/client/VictoriaLogsQueryClient.java
b/hertzbeat-log/src/main/java/org/apache/hertzbeat/log/victorialogs/client/VictoriaLogsQueryClient.java
index a4d42b46b..60ab26eb1 100644
---
a/hertzbeat-log/src/main/java/org/apache/hertzbeat/log/victorialogs/client/VictoriaLogsQueryClient.java
+++
b/hertzbeat-log/src/main/java/org/apache/hertzbeat/log/victorialogs/client/VictoriaLogsQueryClient.java
@@ -18,6 +18,8 @@
package org.apache.hertzbeat.log.victorialogs.client;
import com.fasterxml.jackson.databind.ObjectMapper;
+import java.net.URLEncoder;
+import java.nio.charset.StandardCharsets;
import lombok.extern.slf4j.Slf4j;
import org.apache.hertzbeat.log.victorialogs.config.VictoriaLogsProperties;
import org.apache.hertzbeat.log.victorialogs.model.LogQueryResponse;
@@ -37,6 +39,7 @@ import java.time.Duration;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Consumer;
+import org.springframework.web.util.UriUtils;
@Slf4j
@Component
@@ -77,7 +80,7 @@ public class VictoriaLogsQueryClient {
*/
public List<LogQueryResponse> query(LogQueryRequest request) {
String url = buildQueryUrl(request);
- log.debug("Executing query: {}", url);
+ log.info("Executing query: {}", url);
try {
String response = restTemplate.getForObject(url, String.class);
@@ -153,24 +156,31 @@ public class VictoriaLogsQueryClient {
* Build URL for regular queries
*/
private String buildQueryUrl(LogQueryRequest request) {
- UriComponentsBuilder builder = UriComponentsBuilder
- .fromHttpUrl(properties.url())
- .path(QUERY)
- .queryParam("query", request.getQuery());
+ // 不使用 UriComponentsBuilder,因为它可能会导致多次编码
+ StringBuilder urlBuilder = new StringBuilder(properties.url())
+ .append("/select/logsql/query?query=");
+ // 只编码一次查询参数
+ urlBuilder.append(URLEncoder.encode(request.getQuery(),
StandardCharsets.UTF_8));
+
+ // 添加其他参数
if (StringUtils.hasText(request.getStart())) {
- builder.queryParam("start", request.getStart());
+
urlBuilder.append("&start=").append(URLEncoder.encode(request.getStart(),
StandardCharsets.UTF_8));
}
if (StringUtils.hasText(request.getEnd())) {
- builder.queryParam("end", request.getEnd());
+
urlBuilder.append("&end=").append(URLEncoder.encode(request.getEnd(),
StandardCharsets.UTF_8));
}
if (request.getLimit() != null) {
- builder.queryParam("limit", request.getLimit());
+ urlBuilder.append("&limit=").append(request.getLimit());
+ } else {
+ urlBuilder.append("&limit=500");
}
- return builder.build().encode().toUriString();
+ return urlBuilder.toString();
}
+
+
/**
* Build URL for count queries
*/
diff --git
a/hertzbeat-log/src/main/java/org/apache/hertzbeat/log/victorialogs/model/LogQueryRequest.java
b/hertzbeat-log/src/main/java/org/apache/hertzbeat/log/victorialogs/model/LogQueryRequest.java
index f7e37b567..7906ee2f5 100644
---
a/hertzbeat-log/src/main/java/org/apache/hertzbeat/log/victorialogs/model/LogQueryRequest.java
+++
b/hertzbeat-log/src/main/java/org/apache/hertzbeat/log/victorialogs/model/LogQueryRequest.java
@@ -23,6 +23,8 @@ import jakarta.validation.constraints.NotBlank;
import java.util.Set;
import lombok.Builder;
import lombok.Data;
+import lombok.Value;
+import org.springframework.boot.context.properties.bind.DefaultValue;
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]