Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
B
byh-alarm-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
包
包
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
杨凯
byh-alarm-service
Commits
4106125d
提交
4106125d
authored
7月 07, 2026
作者:
Edwin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
refactor: update GraphQL query formatting and improve logging in HttpKit
上级
d5c9ea29
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
15 行增加
和
12 行删除
+15
-12
SkyWalkingQueryService.java
...baiyihui/alarm/server/service/SkyWalkingQueryService.java
+14
-11
HttpKit.java
...rc/main/java/com/ebaiyihui/alarm/server/util/HttpKit.java
+1
-1
没有找到文件。
alarm-server/src/main/java/com/ebaiyihui/alarm/server/service/SkyWalkingQueryService.java
浏览文件 @
4106125d
...
@@ -84,13 +84,13 @@ public class SkyWalkingQueryService {
...
@@ -84,13 +84,13 @@ public class SkyWalkingQueryService {
String
[]
range
=
buildDurationRange
(
skyWalkingProperties
.
getLookbackMinutes
());
String
[]
range
=
buildDurationRange
(
skyWalkingProperties
.
getLookbackMinutes
());
String
endpointField
=
StringUtil
.
isBlank
(
endpointId
)
String
endpointField
=
StringUtil
.
isBlank
(
endpointId
)
?
""
?
""
:
String
.
format
(
", endpointId: \
\\"%s\\\""
,
escapeGraphql
(
endpointId
));
:
String
.
format
(
", endpointId: \
"%s\""
,
quoteGraphqlValue
(
endpointId
));
String
query
=
String
.
format
(
String
query
=
String
.
format
(
"{ queryBasicTraces(condition: {serviceId: \
\\"%s\\
\"%s, traceState: ERROR, "
"{ queryBasicTraces(condition: {serviceId: \
"%s
\"%s, traceState: ERROR, "
+
"queryDuration: {start: \
\\"%s\\\", end: \\\"%s\\
\", step: MINUTE}, "
+
"queryDuration: {start: \
"%s\", end: \"%s
\", step: MINUTE}, "
+
"queryOrder: BY_START_TIME, paging: {pageNum: 1, pageSize: %d}}) "
+
"queryOrder: BY_START_TIME, paging: {pageNum: 1, pageSize: %d}}) "
+
"{ traces { traceIds endpointNames } } }"
,
+
"{ traces { traceIds endpointNames } } }"
,
escapeGraphql
(
serviceId
),
quoteGraphqlValue
(
serviceId
),
endpointField
,
endpointField
,
range
[
0
],
range
[
0
],
range
[
1
],
range
[
1
],
...
@@ -118,8 +118,8 @@ public class SkyWalkingQueryService {
...
@@ -118,8 +118,8 @@ public class SkyWalkingQueryService {
private
TraceErrorDetail
queryTraceError
(
String
traceId
)
throws
Exception
{
private
TraceErrorDetail
queryTraceError
(
String
traceId
)
throws
Exception
{
String
query
=
String
.
format
(
String
query
=
String
.
format
(
"{ queryTrace(traceId: \
\\"%s\\
\") { spans { endpointName serviceCode isError logs { data { key value } } } } }"
,
"{ queryTrace(traceId: \
"%s
\") { spans { endpointName serviceCode isError logs { data { key value } } } } }"
,
escapeGraphql
(
traceId
)
quoteGraphqlValue
(
traceId
)
);
);
JsonObject
data
=
executeGraphQL
(
query
);
JsonObject
data
=
executeGraphQL
(
query
);
JsonArray
spans
=
data
.
getAsJsonObject
(
"queryTrace"
).
getAsJsonArray
(
"spans"
);
JsonArray
spans
=
data
.
getAsJsonObject
(
"queryTrace"
).
getAsJsonArray
(
"spans"
);
...
@@ -165,7 +165,7 @@ public class SkyWalkingQueryService {
...
@@ -165,7 +165,7 @@ public class SkyWalkingQueryService {
private
String
findServiceId
(
String
serviceName
)
throws
Exception
{
private
String
findServiceId
(
String
serviceName
)
throws
Exception
{
String
[]
range
=
buildDurationRange
(
skyWalkingProperties
.
getLookbackMinutes
());
String
[]
range
=
buildDurationRange
(
skyWalkingProperties
.
getLookbackMinutes
());
String
query
=
String
.
format
(
String
query
=
String
.
format
(
"{ getAllServices(duration: {start: \
\\"%s\\\", end: \\\"%s\\
\", step: MINUTE}) { key: id label: name } }"
,
"{ getAllServices(duration: {start: \
"%s\", end: \"%s
\", step: MINUTE}) { key: id label: name } }"
,
range
[
0
],
range
[
0
],
range
[
1
]
range
[
1
]
);
);
...
@@ -197,9 +197,9 @@ public class SkyWalkingQueryService {
...
@@ -197,9 +197,9 @@ public class SkyWalkingQueryService {
keyword
=
keyword
.
substring
(
slashIndex
+
1
);
keyword
=
keyword
.
substring
(
slashIndex
+
1
);
}
}
String
query
=
String
.
format
(
String
query
=
String
.
format
(
"{ searchEndpoint(serviceId: \
\\"%s\\\", keyword: \\\"%s\\
\", limit: 10) { key: id label: name } }"
,
"{ searchEndpoint(serviceId: \
"%s\", keyword: \"%s
\", limit: 10) { key: id label: name } }"
,
escapeGraphql
(
serviceId
),
quoteGraphqlValue
(
serviceId
),
escapeGraphql
(
keyword
)
quoteGraphqlValue
(
keyword
)
);
);
JsonObject
data
=
executeGraphQL
(
query
);
JsonObject
data
=
executeGraphQL
(
query
);
JsonArray
endpoints
=
data
.
getAsJsonArray
(
"searchEndpoint"
);
JsonArray
endpoints
=
data
.
getAsJsonArray
(
"searchEndpoint"
);
...
@@ -266,7 +266,10 @@ public class SkyWalkingQueryService {
...
@@ -266,7 +266,10 @@ public class SkyWalkingQueryService {
return
value
.
substring
(
0
,
maxLength
)
+
"..."
;
return
value
.
substring
(
0
,
maxLength
)
+
"..."
;
}
}
private
String
escapeGraphql
(
String
value
)
{
private
String
quoteGraphqlValue
(
String
value
)
{
if
(
value
==
null
)
{
return
""
;
}
return
value
.
replace
(
"\\"
,
"\\\\"
).
replace
(
"\""
,
"\\\""
);
return
value
.
replace
(
"\\"
,
"\\\\"
).
replace
(
"\""
,
"\\\""
);
}
}
...
...
alarm-server/src/main/java/com/ebaiyihui/alarm/server/util/HttpKit.java
浏览文件 @
4106125d
...
@@ -145,7 +145,7 @@ public final class HttpKit {
...
@@ -145,7 +145,7 @@ public final class HttpKit {
builder
.
setHeader
(
"Content-Type"
,
"application/json"
);
builder
.
setHeader
(
"Content-Type"
,
"application/json"
);
builder
.
setBodyEncoding
(
DEFAULT_CHARSET
);
builder
.
setBodyEncoding
(
DEFAULT_CHARSET
);
builder
.
setBody
(
s
);
builder
.
setBody
(
s
);
log
.
info
(
"http请求 url->{},
param->:"
+
url
,
s
);
log
.
info
(
"http请求 url->{},
param->{}"
,
url
,
s
);
Future
<
Response
>
f
=
builder
.
execute
();
Future
<
Response
>
f
=
builder
.
execute
();
String
body
=
f
.
get
().
getResponseBody
(
DEFAULT_CHARSET
);
String
body
=
f
.
get
().
getResponseBody
(
DEFAULT_CHARSET
);
log
.
info
(
"http响应:"
+
body
);
log
.
info
(
"http响应:"
+
body
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论