Skip to content

Commit 1c8a137

Browse files
committed
[#9903] fix table names, change exclusion api
1 parent 3b2e1ec commit 1c8a137

10 files changed

+74
-96
lines changed

metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/controller/SystemMetricController.java

+6-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2023 NAVER Corp.
2+
* Copyright 2020 NAVER Corp.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -50,7 +50,7 @@ public class SystemMetricController {
5050
private final TenantProvider tenantProvider;
5151

5252
private final TimeWindowSampler DEFAULT_TIME_WINDOW_SAMPLER = new TimeWindowSlotCentricSampler(10000L, 200);
53-
53+
5454
public SystemMetricController(SystemMetricDataService systemMetricDataService,
5555
SystemMetricHostInfoService systemMetricHostInfoService,
5656
YMLSystemMetricBasicGroupManager systemMetricBasicGroupManager,
@@ -62,16 +62,15 @@ public SystemMetricController(SystemMetricDataService systemMetricDataService,
6262
}
6363

6464
@GetMapping(value = "/hostGroup")
65-
public List<String> getHostGroup(@RequestParam(value = "showAll", defaultValue = "false", required = false) boolean showAll) {
65+
public List<String> getHostGroup() {
6666
String tenantId = tenantProvider.getTenantId();
67-
return systemMetricHostInfoService.getHostGroupNameList(tenantId, showAll);
67+
return systemMetricHostInfoService.getHostGroupNameList(tenantId);
6868
}
6969

7070
@GetMapping(value = "/hostGroup/host")
71-
public List<String> getHostGroup(@RequestParam("hostGroupName") String hostGroupName,
72-
@RequestParam(value = "showAll", defaultValue = "false", required = false) boolean showAll) {
71+
public List<String> getHostGroup(@RequestParam("hostGroupName") String hostGroupName) {
7372
String tenantId = tenantProvider.getTenantId();
74-
return systemMetricHostInfoService.getHostList(tenantId, hostGroupName, showAll);
73+
return systemMetricHostInfoService.getHostList(tenantId, hostGroupName);
7574
}
7675

7776
@GetMapping(value = "/hostGroup/host/collectedMetricInfoV2")
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.navercorp.pinpoint.metric.web.authorization.controller;
1+
package com.navercorp.pinpoint.metric.web.controller;
22

33
import com.navercorp.pinpoint.metric.web.service.SystemMetricHostExclusionService;
44
import com.navercorp.pinpoint.metric.web.view.SystemMetricHostGroupInfo;
@@ -30,19 +30,23 @@ public SystemMetricExclusionController(SystemMetricHostExclusionService systemMe
3030
this.tenantProvider = tenantProvider;
3131
}
3232

33-
@GetMapping(value = "/hostGroup/hostGroupInfo")
33+
@GetMapping(value = "/hostGroup")
34+
public List<String> getHostGroupNameList() {
35+
String tenantId = tenantProvider.getTenantId();
36+
return systemMetricHostExclusionService.getHostGroupNameList(tenantId);
37+
}
38+
39+
@GetMapping(value = "/hostGroup", params = {"hostGroupName"})
3440
public SystemMetricHostGroupInfo getHostGroupExclusionInfo(@RequestParam("hostGroupName") String hostGroupName) {
3541
String tenantId = tenantProvider.getTenantId();
3642
return systemMetricHostExclusionService.getHostGroupInfo(tenantId, hostGroupName);
3743
}
3844

39-
@GetMapping(value = "/hostGroup/hostInfoList")
40-
public List<SystemMetricHostInfo> getHostExclusionInfoList(
41-
@RequestParam("hostGroupName") String hostGroupName) {
45+
@GetMapping(value = "/hostGroup/host")
46+
public List<SystemMetricHostInfo> getHostExclusionInfoList(@RequestParam("hostGroupName") String hostGroupName,
47+
@RequestParam(value = "orderBy", defaultValue = "hostName") String orderBy) {
4248
String tenantId = tenantProvider.getTenantId();
43-
List<SystemMetricHostInfo> result = systemMetricHostExclusionService.getHostInfoList(tenantId, hostGroupName);
44-
45-
return result;
49+
return systemMetricHostExclusionService.getHostInfoList(tenantId, hostGroupName, orderBy);
4650
}
4751

4852
@PostMapping(value = "/hostGroup")
@@ -95,18 +99,6 @@ public String deleteHostExclusion(@RequestParam("hostGroupName") String hostGrou
9599
}
96100
}
97101

98-
@DeleteMapping(value = "/hostGroup/unusedHosts")
99-
public String deleteUnusedHostExclusions(@RequestParam("hostGroupName") String hostGroupName) {
100-
logger.debug("delete unused host exclusions - hostGroupName: [{}]", hostGroupName);
101-
String tenantId = tenantProvider.getTenantId();
102-
try {
103-
systemMetricHostExclusionService.deleteUnusedHostExclusions(tenantId, hostGroupName);
104-
return "OK";
105-
} catch (Exception e) {
106-
logger.error("error while deleting unused host exclusions", e);
107-
throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, e.getMessage());
108-
}
109-
}
110102

111103
@DeleteMapping(value = "/unusedGroups")
112104
public String deleteUnusedGroupExclusions() {

metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricHostExclusionService.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77

88
public interface SystemMetricHostExclusionService {
99

10+
List<String> getHostGroupNameList(String tenantId);
11+
1012
SystemMetricHostGroupInfo getHostGroupInfo(String tenantId, String hostGroupName);
1113

12-
List<SystemMetricHostInfo> getHostInfoList(String tenantId, String hostGroupName);
14+
List<SystemMetricHostInfo> getHostInfoList(String tenantId, String hostGroupName, String orderBy);
1315

1416
void insertHostGroupExclusion(String hostGroupName);
1517

@@ -19,7 +21,5 @@ public interface SystemMetricHostExclusionService {
1921

2022
void deleteHostExclusion(String hostGroupName, String hostName);
2123

22-
void deleteUnusedHostExclusions(String tenantId, String hostGroupName);
23-
2424
void deleteUnusedGroupExclusions(String tenantId);
2525
}

metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricHostExclusionServiceImpl.java

+13-13
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,21 @@ public SystemMetricHostExclusionServiceImpl(SystemMetricHostInfoDao systemMetric
2424
this.systemMetricHostExclusionDao = Objects.requireNonNull(systemMetricHostExclusionDao, "systemMetricHostExclusionDao");
2525
}
2626

27+
@Override
28+
public List<String> getHostGroupNameList(String tenantId) {
29+
List<String> hostGroupNameList = systemMetricHostInfoDao.selectHostGroupNameList(tenantId);
30+
hostGroupNameList.sort(Comparator.naturalOrder());
31+
return hostGroupNameList;
32+
}
33+
2734
@Override
2835
public SystemMetricHostGroupInfo getHostGroupInfo(String tenantId, String hostGroupName) {
2936
boolean excluded = systemMetricHostExclusionDao.selectExcludedHostGroupNameList().contains(hostGroupName);
3037
return new SystemMetricHostGroupInfo(hostGroupName, excluded);
3138
}
3239

3340
@Override
34-
public List<SystemMetricHostInfo> getHostInfoList(String tenantId, String hostGroupName) {
41+
public List<SystemMetricHostInfo> getHostInfoList(String tenantId, String hostGroupName, String orderBy) {
3542
List<SystemMetricHostInfo> result = new ArrayList<>();
3643
List<String> hostNames = systemMetricHostInfoDao.selectHostList(tenantId, hostGroupName);
3744
List<String> excludedHostNames = systemMetricHostExclusionDao.selectExcludedHostNameList(hostGroupName);
@@ -44,7 +51,11 @@ public List<SystemMetricHostInfo> getHostInfoList(String tenantId, String hostGr
4451
}
4552
}
4653

47-
result.sort(Comparator.comparing(SystemMetricHostInfo::getHostName));
54+
if ("excluded".equals(orderBy)) {
55+
result.sort(Comparator.comparing(SystemMetricHostInfo::isExcluded));
56+
} else {
57+
result.sort(Comparator.comparing(SystemMetricHostInfo::getHostName));
58+
}
4859
return result;
4960
}
5061

@@ -68,17 +79,6 @@ public void deleteHostExclusion(String hostGroupName, String hostName) {
6879
systemMetricHostExclusionDao.deleteHostExclusion(hostGroupName, hostName);
6980
}
7081

71-
@Override
72-
public void deleteUnusedHostExclusions(String tenantId, String hostGroupName) {
73-
List<String> hostNames = systemMetricHostInfoDao.selectHostList(tenantId, hostGroupName);
74-
List<String> excludedHostNames = systemMetricHostExclusionDao.selectExcludedHostNameList(hostGroupName);
75-
for (String excludedHostName : excludedHostNames) {
76-
if (!hostNames.contains(excludedHostName)) {
77-
systemMetricHostExclusionDao.deleteHostExclusion(hostGroupName, excludedHostName);
78-
}
79-
}
80-
}
81-
8282
@Override
8383
public void deleteUnusedGroupExclusions(String tenantId) {
8484
List<String> hostGroupNames = systemMetricHostInfoDao.selectHostGroupNameList(tenantId);

metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricHostInfoService.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
* @author minwoo.jung
2929
*/
3030
public interface SystemMetricHostInfoService {
31-
List<String> getHostGroupNameList(String tenantId, boolean showAll);
31+
List<String> getHostGroupNameList(String tenantId);
3232

33-
List<String> getHostList(String tenantId, String hostGroupName, boolean showAll);
33+
List<String> getHostList(String tenantId, String hostGroupName);
3434

3535
List<MetricInfo> getCollectedMetricInfoV2(String tenantId, String hostGroupName, String hostName);
3636

metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/service/SystemMetricHostInfoServiceImpl.java

+12-16
Original file line numberDiff line numberDiff line change
@@ -59,31 +59,27 @@ public SystemMetricHostInfoServiceImpl(SystemMetricHostInfoDao systemMetricHostI
5959
}
6060

6161
@Override
62-
public List<String> getHostGroupNameList(String tenantId, boolean showAll) {
62+
public List<String> getHostGroupNameList(String tenantId) {
6363
List<String> hostGroupNameList = systemMetricHostInfoDao.selectHostGroupNameList(tenantId);
64-
if (!showAll){
65-
try {
66-
List<String> excludedHostGroupList = systemMetricHostExclusionDao.selectExcludedHostGroupNameList();
67-
hostGroupNameList.removeAll(excludedHostGroupList);
68-
} catch (Exception e) {
69-
throttledLogger.warn("error getting excludedHostGroupNameList", e);
70-
}
64+
try {
65+
List<String> excludedHostGroupList = systemMetricHostExclusionDao.selectExcludedHostGroupNameList();
66+
hostGroupNameList.removeAll(excludedHostGroupList);
67+
} catch (Exception e) {
68+
throttledLogger.warn("error getting excludedHostGroupNameList", e);
7169
}
7270

7371
hostGroupNameList.sort(Comparator.naturalOrder());
7472
return hostGroupNameList;
7573
}
7674

7775
@Override
78-
public List<String> getHostList(String tenantId, String hostGroupName, boolean showAll) {
76+
public List<String> getHostList(String tenantId, String hostGroupName) {
7977
List<String> hostList = systemMetricHostInfoDao.selectHostList(tenantId, hostGroupName);
80-
if (!showAll) {
81-
try {
82-
List<String> excludedHostList = systemMetricHostExclusionDao.selectExcludedHostNameList(hostGroupName);
83-
hostList.removeAll(excludedHostList);
84-
} catch (Exception e) {
85-
throttledLogger.warn("error getting excludedHostNameList", e);
86-
}
78+
try {
79+
List<String> excludedHostList = systemMetricHostExclusionDao.selectExcludedHostNameList(hostGroupName);
80+
hostList.removeAll(excludedHostList);
81+
} catch (Exception e) {
82+
throttledLogger.warn("error getting excludedHostNameList", e);
8783
}
8884

8985
hostList.sort(Comparator.naturalOrder());

metric-module/metric/src/main/resources/pinot-web/mapper/mysql/MetricHostExclusionMapper.xml

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,47 +4,47 @@
44
<mapper namespace="com.navercorp.pinpoint.metric.web.dao.mysql.MysqlSystemMetricHostExclusionDao">
55

66
<select id="selectExcludedHostGroupNames" resultType="string">
7-
SELECT hostGroupName
7+
SELECT host_group_name as hostGroupName
88
FROM system_metric_host_group_exclusion
99
</select>
1010

1111
<insert id="insertHostGroupExclusion" parameterType="string">
12-
INSERT INTO system_metric_host_group_exclusion (hostGroupName)
12+
INSERT INTO system_metric_host_group_exclusion (host_group_name)
1313
VALUES (#{hostGroupName})
1414
</insert>
1515

1616
<delete id="deleteHostGroupExclusion" parameterType="string">
1717
DELETE
1818
FROM system_metric_host_group_exclusion
19-
WHERE hostGroupName = #{hostGroupName}
19+
WHERE host_group_name = #{hostGroupName}
2020
</delete>
2121

2222
<select id="selectExcludedHostNames" parameterType="string" resultType="string">
23-
SELECT hostName
23+
SELECT host_name as hostName
2424
FROM system_metric_host_exclusion
25-
WHERE hostGroupName = #{hostGroupName}
25+
WHERE host_group_name = #{hostGroupName}
2626
</select>
2727

2828
<insert id="insertHostExclusion" parameterType="HostExclusionSearchKey">
29-
INSERT INTO system_metric_host_exclusion (hostGroupName, hostName)
29+
INSERT INTO system_metric_host_exclusion (host_group_name, host_name)
3030
VALUES (#{hostGroupName}, #{hostName})
3131
</insert>
3232

3333
<delete id="deleteHostExclusion" parameterType="HostExclusionSearchKey">
3434
DELETE
3535
FROM system_metric_host_exclusion
36-
WHERE hostGroupName = #{hostGroupName}
37-
AND hostName = #{hostName}
36+
WHERE host_group_name = #{hostGroupName}
37+
AND host_name = #{hostName}
3838
</delete>
3939

4040
<select id="selectGroupNamesFromHostExclusion" resultType="string">
41-
SELECT DISTINCT hostGroupName
41+
SELECT DISTINCT host_group_name as hostGroupName
4242
FROM system_metric_host_exclusion
4343
</select>
4444

4545
<delete id="deleteHostExclusions" parameterType="string">
4646
DELETE
4747
FROM system_metric_host_exclusion
48-
WHERE hostGroupName = #{hostGroupName}
48+
WHERE host_group_name = #{hostGroupName}
4949
</delete>
5050
</mapper>
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
1-
-- DROP TABLE system_metric_host_Group_exclusion;
1+
-- DROP TABLE system_metric_host_group_exclusion;
22
-- DROP TABLE system_metric_host_exclusion;
33

4-
CREATE TABLE system_metric_host_Group_exclusion (
5-
hostGroupName VARCHAR(50),
6-
PRIMARY KEY(hostGroupName)
4+
CREATE TABLE system_metric_host_group_exclusion (
5+
`number` int(10) unsigned NOT NULL AUTO_INCREMENT,
6+
`host_group_name` VARCHAR(50),
7+
PRIMARY KEY(`number`),
8+
UNIQUE KEY `host_group_name_idx` (`host_group_name`)
79
);
810

911
CREATE TABLE system_metric_host_exclusion (
10-
hostGroupName VARCHAR(50),
11-
hostName VARCHAR(50),
12-
PRIMARY KEY(hostGroupName, hostName)
12+
`number` int(10) unsigned NOT NULL AUTO_INCREMENT,
13+
`host_group_name` VARCHAR(50),
14+
`host_name` VARCHAR(50),
15+
PRIMARY KEY(`number`),
16+
UNIQUE KEY `host_group_name_host_name_idx` (`host_group_name`, `host_name`)
1317
);

metric-module/metric/src/test/java/com/navercorp/pinpoint/metric/web/service/SystemMetricHostExclusionServiceImplTest.java

+1-14
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void getEmptyHostGroupExclusionInfoTest() {
5959
void getExcludedHostInfoTest() {
6060
when(systemMetricHostInfoDao.selectHostList("tenantId", "hostGroupName")).thenReturn(List.of("hostName", "excludedHostName"));
6161
when(systemMetricHostExclusionDao.selectExcludedHostNameList("hostGroupName")).thenReturn(List.of("excludedHostName", "anotherExcludedHostName"));
62-
List<SystemMetricHostInfo> hostResultList = systemMetricHostExclusionService.getHostInfoList("tenantId", "hostGroupName");
62+
List<SystemMetricHostInfo> hostResultList = systemMetricHostExclusionService.getHostInfoList("tenantId", "hostGroupName", "hostName");
6363

6464
hostResultList.sort(Comparator.comparing(SystemMetricHostInfo::getHostName));
6565
assertThat(hostResultList.get(0).getHostName()).isEqualTo("anotherExcludedHostName");
@@ -70,19 +70,6 @@ void getExcludedHostInfoTest() {
7070
assertThat(hostResultList.get(2).isExcluded()).isFalse();
7171
}
7272

73-
@Test
74-
public void deleteUnusedHostExclusionsTest() {
75-
when(systemMetricHostExclusionDao.selectExcludedHostNameList("hostGroupName")).thenReturn(List.of("liveHostName", "deadHostName"));
76-
when(systemMetricHostInfoDao.selectHostList("tenantId", "hostGroupName")).thenReturn(List.of("liveHostName"));
77-
lenient().doNothing().when(systemMetricHostExclusionDao).deleteHostExclusion("hostGroupName", "liveHostName");
78-
doNothing().when(systemMetricHostExclusionDao).deleteHostExclusion("hostGroupName", "deadHostName");
79-
80-
systemMetricHostExclusionService.deleteUnusedHostExclusions("tenantId", "hostGroupName");
81-
82-
verify(systemMetricHostExclusionDao, never()).deleteHostExclusion("hostGroupName", "liveHostName");
83-
verify(systemMetricHostExclusionDao).deleteHostExclusion("hostGroupName", "deadHostName");
84-
}
85-
8673
@Test
8774
public void deleteUnusedGroupExclusionsTest() {
8875
when(systemMetricHostExclusionDao.selectExcludedHostGroupNameList()).thenReturn(List.of("liveHostGroupName", "deadHostGroupName1"));

metric-module/metric/src/test/java/com/navercorp/pinpoint/metric/web/service/SystemMetricHostInfoServiceImplTest.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public void hostGroupExclusionTest() {
4949
when(systemMetricHostInfoDao.selectHostGroupNameList("tenantId")).thenReturn(hostGroupNames);
5050
when(systemMetricHostExclusionDao.selectExcludedHostGroupNameList()).thenReturn(excludedHostGroupNames);
5151

52-
List<String> result = systemMetricHostInfoService.getHostGroupNameList("tenantId", false);
52+
List<String> result = systemMetricHostInfoService.getHostGroupNameList("tenantId");
5353

5454
verify(systemMetricHostInfoDao).selectHostGroupNameList("tenantId");
5555
verify(systemMetricHostExclusionDao).selectExcludedHostGroupNameList();
@@ -68,7 +68,7 @@ public void hostGroupExclusionErrorTest() {
6868
when(systemMetricHostInfoDao.selectHostGroupNameList("tenantId")).thenReturn(hostGroupNames);
6969
when(systemMetricHostExclusionDao.selectExcludedHostGroupNameList()).thenThrow(new RuntimeException("Test Exception"));
7070

71-
List<String> result = systemMetricHostInfoService.getHostGroupNameList("tenantId", false);
71+
List<String> result = systemMetricHostInfoService.getHostGroupNameList("tenantId");
7272

7373
verify(systemMetricHostInfoDao).selectHostGroupNameList("tenantId");
7474
verify(systemMetricHostExclusionDao).selectExcludedHostGroupNameList();
@@ -83,7 +83,7 @@ public void hostExclusionTest() {
8383
when(systemMetricHostInfoDao.selectHostList("tenantId", "hostGroupName")).thenReturn(hostNames);
8484
when(systemMetricHostExclusionDao.selectExcludedHostNameList("hostGroupName")).thenReturn(List.of("hostName1", "hostName3"));
8585

86-
List<String> result = systemMetricHostInfoService.getHostList("tenantId", "hostGroupName", false);
86+
List<String> result = systemMetricHostInfoService.getHostList("tenantId", "hostGroupName");
8787

8888
verify(systemMetricHostInfoDao).selectHostList("tenantId", "hostGroupName");
8989
verify(systemMetricHostExclusionDao).selectExcludedHostNameList("hostGroupName");
@@ -98,7 +98,7 @@ public void hostExclusionErrorTest() {
9898
when(systemMetricHostInfoDao.selectHostList("tenantId", "hostGroupName")).thenReturn(hostNames);
9999
when(systemMetricHostExclusionDao.selectExcludedHostNameList("hostGroupName")).thenThrow(new RuntimeException("Test Exception"));
100100

101-
List<String> result = systemMetricHostInfoService.getHostList("tenantId", "hostGroupName", false);
101+
List<String> result = systemMetricHostInfoService.getHostList("tenantId", "hostGroupName");
102102

103103
verify(systemMetricHostInfoDao).selectHostList("tenantId", "hostGroupName");
104104
verify(systemMetricHostExclusionDao).selectExcludedHostNameList("hostGroupName");

0 commit comments

Comments
 (0)