Skip to content

Commit 9e72c12

Browse files
author
yaojiping
committed
fix: optimize host's monitor
1 parent b2401bb commit 9e72c12

File tree

8 files changed

+98
-42
lines changed

8 files changed

+98
-42
lines changed

web/src/components/Overview/Monitor/index.jsx

-6
Original file line numberDiff line numberDiff line change
@@ -113,12 +113,6 @@ const Monitor = (props) => {
113113
return monitor_configs?.node_stats?.enabled === false && monitor_configs?.index_stats?.enabled === false
114114
}, [JSON.stringify(selectedCluster?.monitor_configs)])
115115

116-
console.log("spinning")
117-
console.log(spinning)
118-
console.log("state.refresh")
119-
console.log(state.refresh)
120-
121-
122116
return (
123117
<div>
124118
<BreadcrumbList data={breadcrumbList} />

web/src/components/vendor/console/modules/autocomplete/autocomplete.ts

-3
Original file line numberDiff line numberDiff line change
@@ -356,7 +356,6 @@ export function getCurrentMethodAndTokenPaths(
356356
// mark the url as completed.
357357
ret.urlTokenPath.push(URL_PATH_END_MARKER);
358358
}
359-
debugger
360359

361360
if (t && t.type === "method") {
362361
ret.method = t.value;
@@ -593,7 +592,6 @@ export default function({ coreEditor: editor }: { coreEditor: CoreEditor }) {
593592
switch ((t || ({} as Token)).type) {
594593
case "method":
595594
// we moved one back
596-
debugger
597595
return "path";
598596
default:
599597
if (isUrlPathToken(t)) {
@@ -1110,7 +1108,6 @@ export default function({ coreEditor: editor }: { coreEditor: CoreEditor }) {
11101108
} else {
11111109
components = getUnmatchedEndpointComponents();
11121110
}
1113-
debugger
11141111
populateContext(ret.bodyTokenPath, context, editor, true, components);
11151112

11161113
return context;

web/src/pages/Platform/Overview/Cluster/Monitor/advanced.jsx

+29-12
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,24 @@ import QueueMetric from "../../components/queue_metric";
88
import { ESPrefix } from "@/services/common";
99
import { SearchEngines } from "@/lib/search_engines";
1010

11+
export const shouldHaveModelInferenceBreaker = (cluster) => {
12+
if ([SearchEngines.Easysearch, SearchEngines.Opensearch].includes(cluster?.distribution)) return false;
13+
const versions = cluster?.version?.split('.') || []
14+
if (parseInt(versions[0]) > 8 || (parseInt(versions[0]) === 8 && parseInt(versions[1]) >= 6 )) {
15+
return true
16+
}
17+
return false
18+
}
19+
20+
export const isVersionGTE6 = (cluster) => {
21+
if ([SearchEngines.Easysearch, SearchEngines.Opensearch].includes(cluster?.distribution)) return true;
22+
const main = cluster?.version?.split('.')[0]
23+
if (main && parseInt(main) >= 6) {
24+
return true
25+
}
26+
return false
27+
}
28+
1129
export default ({
1230
selectedCluster,
1331
clusterID,
@@ -29,14 +47,13 @@ export default ({
2947
refresh
3048
}
3149

32-
const isVersionGTE6 = useMemo(() => {
33-
if ([SearchEngines.Easysearch, SearchEngines.Opensearch].includes(selectedCluster?.distribution)) return true;
34-
const main = selectedCluster?.version?.split('.')[0]
35-
if (main && parseInt(main) >= 6) {
36-
return true
37-
}
38-
return false
39-
}, [selectedCluster?.version])
50+
const isVersionGTE8_6 = useMemo(() => {
51+
return shouldHaveModelInferenceBreaker(selectedCluster)
52+
}, [selectedCluster])
53+
54+
const versionGTE6 = useMemo(() => {
55+
return isVersionGTE6(selectedCluster)
56+
}, [selectedCluster])
4057

4158
const [param, setParam] = useState({
4259
tab: "cluster",
@@ -141,8 +158,8 @@ export default ({
141158
"fielddata_breaker",
142159
"request_breaker",
143160
"in_flight_requests_breaker",
144-
"model_inference_breaker"
145-
]
161+
isVersionGTE8_6 ? "model_inference_breaker" : undefined
162+
].filter((item) => !!item)
146163
],
147164
[
148165
"io",
@@ -314,7 +331,7 @@ export default ({
314331
param={param}
315332
setParam={setParam}
316333
metrics={[
317-
isVersionGTE6 ? [
334+
versionGTE6 ? [
318335
"thread_pool_write",
319336
[
320337
"write_active",
@@ -340,7 +357,7 @@ export default ({
340357
"search_threads"
341358
]
342359
],
343-
!isVersionGTE6 ? [
360+
!versionGTE6 ? [
344361
"thread_pool_bulk",
345362
[
346363
"bulk_active",

web/src/pages/Platform/Overview/Host/Detail/Metrics.js

+11-3
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,22 @@ export default (props) => {
1616
return null;
1717
}
1818

19-
const hasAgent = !!props.data?._source?.agent_id;
19+
const isAgent = !!props.data?._source?.agent_id;
2020

2121
return (
2222
<>
2323
<Metrics
2424
metricAction={`/host/${id}/metrics`}
25+
metrics={[
26+
'cpu_used_percent',
27+
'memory_used_percent',
28+
'disk_used_percent',
29+
isAgent ? 'network_summary' : undefined,
30+
isAgent ? 'disk_read_rate' : undefined,
31+
isAgent ? 'disk_write_rate' : undefined
32+
].filter((item) => !!item)}
2533
renderExtraMetric={() =>
26-
!hasAgent && (
34+
!isAgent && (
2735
<div
2836
style={{
2937
height: 150,
@@ -56,7 +64,7 @@ export default (props) => {
5664
)
5765
}
5866
extra={
59-
hasAgent && (
67+
isAgent && (
6068
<>
6169
<Agent id={id} />
6270
<Process id={id} />

web/src/pages/Platform/Overview/Host/Monitor/advanced.jsx

+26-4
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,46 @@ import { Button } from 'antd';
33
import InstallAgent from '@/components/Overview/Monitor/InstallAgent';
44
import { formatMessage } from "umi/locale";
55

6-
const timezone = "local";
7-
86
export default ({
97
hostID,
108
timeRange,
119
handleTimeChange,
12-
info
10+
info,
11+
bucketSize,
12+
timezone,
13+
timeout,
14+
refresh,
1315
}) => {
16+
17+
const isAgent = info?.agent_id
18+
1419
return (
1520
<ClusterMetric
1621
timezone={timezone}
1722
timeRange={timeRange}
23+
timeout={timeout}
24+
bucketSize={bucketSize}
25+
refresh={refresh}
1826
handleTimeChange={handleTimeChange}
1927
fetchUrl={`/host/${hostID}/metrics`}
2028
renderExtra={() => {
21-
if (info?.agent_id) return;
29+
if (isAgent) return;
2230
return <InstallAgent height={226} desc={formatMessage({ id: "cluster.metrics.host.uninstall_agent" })}/>
2331
}}
32+
metrics={[
33+
'cpu_used_percent',
34+
'memory_used_percent',
35+
'disk_used_percent',
36+
isAgent ? 'network_summary' : undefined,
37+
isAgent ? 'disk_read_rate' : undefined,
38+
isAgent ? 'disk_write_rate' : undefined,
39+
isAgent ? 'system_load' : undefined,
40+
isAgent ? 'cpu_iowait' : undefined,
41+
isAgent ? 'swap_memory_used_percent' : undefined,
42+
isAgent ? 'network_packets_summary' : undefined,
43+
isAgent ? 'disk_partition_usage' : undefined,
44+
isAgent ? 'network_interface_output_rate' : undefined,
45+
].filter((item) => !!item)}
2446
/>
2547
);
2648
}

web/src/pages/Platform/Overview/Host/Monitor/index.jsx

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ const panes = [
1515
export default (props) => {
1616
return (
1717
<Monitor
18+
selectedCluster={{}}
1819
formatState={(state) => {
1920
return {
2021
...state,

web/src/pages/Platform/Overview/Host/Monitor/overview.jsx

+19-2
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,36 @@ export default ({
99
hostID,
1010
timeRange,
1111
handleTimeChange,
12-
info
12+
info,
13+
bucketSize,
14+
timezone,
15+
timeout,
16+
refresh,
1317
}) => {
18+
const isAgent = info?.agent_id
19+
1420
return (
1521
<ClusterMetric
1622
timezone={timezone}
1723
timeRange={timeRange}
24+
timeout={timeout}
25+
bucketSize={bucketSize}
26+
refresh={refresh}
1827
handleTimeChange={handleTimeChange}
1928
overview={1}
2029
fetchUrl={`/host/${hostID}/metrics`}
2130
renderExtra={() => {
22-
if (info?.agent_id) return;
31+
if (isAgent) return;
2332
return <InstallAgent height={226} desc={formatMessage({ id: "cluster.metrics.host.uninstall_agent" })}/>
2433
}}
34+
metrics={[
35+
'cpu_used_percent',
36+
'memory_used_percent',
37+
'disk_used_percent',
38+
isAgent ? 'network_summary' : undefined,
39+
isAgent ? 'disk_read_rate' : undefined,
40+
isAgent ? 'disk_write_rate' : undefined
41+
].filter((item) => !!item)}
2542
/>
2643
);
2744
}

web/src/pages/Platform/Overview/Node/Monitor/advanced.jsx

+12-12
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import NodeMetric from "../../components/node_metric";
44
import QueueMetric from "../../components/queue_metric";
55
import { formatMessage } from "umi/locale";
66
import { SearchEngines } from "@/lib/search_engines";
7+
import { isVersionGTE6, shouldHaveModelInferenceBreaker } from "../../Cluster/Monitor/advanced";
78

89
export default ({
910
selectedCluster,
@@ -27,13 +28,12 @@ export default ({
2728
refresh
2829
}
2930

30-
const isVersionGTE6 = useMemo(() => {
31-
if ([SearchEngines.Easysearch, SearchEngines.Opensearch].includes(selectedCluster?.distribution)) return true;
32-
const main = selectedCluster?.version?.split('.')[0]
33-
if (main && parseInt(main) >= 6) {
34-
return true
35-
}
36-
return false
31+
const isVersionGTE8_6 = useMemo(() => {
32+
return shouldHaveModelInferenceBreaker(selectedCluster)
33+
}, [selectedCluster])
34+
35+
const versionGTE6 = useMemo(() => {
36+
return isVersionGTE6(selectedCluster)
3737
}, [selectedCluster])
3838

3939
const [param, setParam] = useState({
@@ -120,8 +120,8 @@ export default ({
120120
"fielddata_breaker",
121121
"request_breaker",
122122
"in_flight_requests_breaker",
123-
"model_inference_breaker"
124-
]
123+
isVersionGTE8_6 ? "model_inference_breaker" : undefined
124+
].filter((item) => !!item)
125125
],
126126
[
127127
"io",
@@ -215,7 +215,7 @@ export default ({
215215
param={param}
216216
setParam={setParam}
217217
metrics={[
218-
isVersionGTE6 ? [
218+
versionGTE6 ? [
219219
"thread_pool_write",
220220
[
221221
"write_active",
@@ -241,7 +241,7 @@ export default ({
241241
"search_threads"
242242
]
243243
],
244-
!isVersionGTE6 ? [
244+
!versionGTE6 ? [
245245
"thread_pool_bulk",
246246
[
247247
"bulk_active",
@@ -286,7 +286,7 @@ export default ({
286286
"force_merge_threads"
287287
]
288288
]
289-
].filter((item) => !!item)}
289+
]}
290290
/>
291291
</Tabs.TabPane>
292292
</Tabs>

0 commit comments

Comments
 (0)