-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
package com.navercorp.pinpoint.metric.web.authorization.controller; | ||
|
||
import com.navercorp.pinpoint.metric.web.service.SystemMetricHostExclusionService; | ||
import com.navercorp.pinpoint.pinot.tenant.TenantProvider; | ||
import org.apache.logging.log4j.LogManager; | ||
import org.apache.logging.log4j.Logger; | ||
import org.springframework.web.bind.annotation.RequestMapping; | ||
import org.springframework.web.bind.annotation.RequestParam; | ||
import org.springframework.web.bind.annotation.RestController; | ||
|
||
@RestController | ||
@RequestMapping(value = "/admin/systemMetric") | ||
public class SystemMetricHostExclusionController { | ||
private final Logger logger = LogManager.getLogger(this.getClass()); | ||
Check warning on line 14 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L14
|
||
|
||
private final SystemMetricHostExclusionService systemMetricHostExclusionService; | ||
private final TenantProvider tenantProvider; | ||
|
||
public SystemMetricHostExclusionController(SystemMetricHostExclusionService systemMetricHostExclusionService, TenantProvider tenantProvider) { | ||
this.systemMetricHostExclusionService = systemMetricHostExclusionService; | ||
this.tenantProvider = tenantProvider; | ||
} | ||
Check warning on line 22 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L19-L22
|
||
|
||
@RequestMapping(value = "/hostGroup/addExclusion") | ||
public String excludeHostGroup(@RequestParam("hostGroupName") String hostGroupName) { | ||
logger.info("add hostGroup exclusion - hostGroupName: [{}]", hostGroupName); | ||
Check warning on line 26 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L26
|
||
try { | ||
String tenantId = tenantProvider.getTenantId(); | ||
systemMetricHostExclusionService.insertHostGroupExclusion(tenantId, hostGroupName); | ||
return "OK"; | ||
} catch (Exception e) { | ||
logger.error("error while excluding hostGroupName", e); | ||
return e.getMessage(); | ||
Check warning on line 33 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L28-L33
|
||
} | ||
} | ||
|
||
@RequestMapping(value = "/hostGroup/host/addExclusion") | ||
public String excludeHostGroup(@RequestParam("hostGroupName") String hostGroupName, | ||
@RequestParam("hostName") String hostName) { | ||
logger.info("add host exclusion - hostGroupName: [{}], hostName: [{}]", hostGroupName, hostName); | ||
Check warning on line 40 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L40
|
||
try { | ||
String tenantId = tenantProvider.getTenantId(); | ||
systemMetricHostExclusionService.insertHostExclusion(tenantId, hostGroupName, hostName); | ||
return "OK"; | ||
} catch (Exception e) { | ||
logger.error("error while excluding hostName", e); | ||
return e.getMessage(); | ||
Check warning on line 47 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L42-L47
|
||
} | ||
} | ||
|
||
@RequestMapping(value = "/hostGroup/removeExclusion") | ||
public String acceptHostGroup(@RequestParam("hostGroupName") String hostGroupName) { | ||
logger.info("remove host group exclusion - hostGroupName: [{}]", hostGroupName); | ||
Check warning on line 53 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L53
|
||
try { | ||
String tenantId = tenantProvider.getTenantId(); | ||
systemMetricHostExclusionService.deleteHostGroupExclusion(tenantId, hostGroupName); | ||
return "OK"; | ||
} catch (Exception e) { | ||
logger.error("error while accepting hostGroupName", e); | ||
return e.getMessage(); | ||
Check warning on line 60 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L55-L60
|
||
} | ||
} | ||
|
||
@RequestMapping(value = "/hostGroup/host/removeExclusion") | ||
public String acceptHostGroup(@RequestParam("hostGroupName") String hostGroupName, | ||
@RequestParam("hostName") String hostName) { | ||
logger.info("remove host exclusion - hostGroupName: [{}], hostName: [{}]", hostGroupName, hostName); | ||
Check warning on line 67 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L67
|
||
try { | ||
String tenantId = tenantProvider.getTenantId(); | ||
systemMetricHostExclusionService.deleteHostExclusion(tenantId, hostGroupName, hostName); | ||
return "OK"; | ||
} catch (Exception e) { | ||
logger.error("error while accepting hostName", e); | ||
return e.getMessage(); | ||
Check warning on line 74 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L69-L74
|
||
} | ||
} | ||
|
||
@RequestMapping(value = "/hostGroup/removeUnusedExclusions") | ||
public String cleanupUnusedExclusions(@RequestParam("hostGroupName") String hostGroupName) { | ||
logger.info("remove unused hostGroup exclusion and host exclusions - hostGroupName: [{}]", hostGroupName); | ||
Check warning on line 80 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L80
|
||
try { | ||
String tenantId = tenantProvider.getTenantId(); | ||
systemMetricHostExclusionService.deleteUnusedHostExclusion(tenantId, hostGroupName); | ||
return "OK"; | ||
} catch (Exception e) { | ||
logger.error("error while removing unused exclusions", e); | ||
return e.getMessage(); | ||
Check warning on line 87 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/authorization/controller/SystemMetricHostExclusionController.java#L82-L87
|
||
} | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package com.navercorp.pinpoint.metric.web.cache; | ||
|
||
import com.github.benmanes.caffeine.cache.Caffeine; | ||
import org.springframework.cache.CacheManager; | ||
import org.springframework.cache.annotation.EnableCaching; | ||
import org.springframework.cache.caffeine.CaffeineCacheManager; | ||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.context.annotation.Configuration; | ||
|
||
import java.util.concurrent.TimeUnit; | ||
|
||
@Configuration | ||
@EnableCaching | ||
public class MetricWebCacheConfiguration { | ||
Check warning on line 14 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/cache/MetricWebCacheConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/cache/MetricWebCacheConfiguration.java#L14
|
||
|
||
public static final String METRIC_HOST_GROUP_EXCLUSION_CACHE_NAME = "metricHostGroupExclusion"; | ||
public static final String METRIC_HOST_EXCLUSION_CACHE_NAME = "metricHostExclusion"; | ||
|
||
@Bean | ||
public CacheManager metricHostGroupExclusion() { | ||
CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager(METRIC_HOST_GROUP_EXCLUSION_CACHE_NAME); | ||
caffeineCacheManager.setCaffeine(Caffeine.newBuilder() | ||
.expireAfterWrite(300, TimeUnit.SECONDS)); | ||
return caffeineCacheManager; | ||
Check warning on line 24 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/cache/MetricWebCacheConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/cache/MetricWebCacheConfiguration.java#L21-L24
|
||
} | ||
|
||
@Bean | ||
public CacheManager metricHostExclusion() { | ||
CaffeineCacheManager caffeineCacheManager = new CaffeineCacheManager(METRIC_HOST_EXCLUSION_CACHE_NAME); | ||
caffeineCacheManager.setCaffeine(Caffeine.newBuilder() | ||
.expireAfterWrite(300, TimeUnit.SECONDS)); | ||
return caffeineCacheManager; | ||
Check warning on line 32 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/cache/MetricWebCacheConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/cache/MetricWebCacheConfiguration.java#L29-L32
|
||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package com.navercorp.pinpoint.metric.web.config; | ||
|
||
import com.navercorp.pinpoint.metric.collector.config.MyBatisRegistryHandler; | ||
import com.navercorp.pinpoint.pinot.mybatis.MyBatisConfiguration; | ||
import org.apache.ibatis.session.Configuration; | ||
import org.apache.ibatis.session.SqlSessionFactory; | ||
import org.apache.logging.log4j.LogManager; | ||
import org.apache.logging.log4j.Logger; | ||
import org.mybatis.spring.SqlSessionFactoryBean; | ||
import org.mybatis.spring.SqlSessionTemplate; | ||
import org.springframework.beans.factory.annotation.Qualifier; | ||
import org.springframework.beans.factory.annotation.Value; | ||
import org.springframework.context.annotation.Bean; | ||
import org.springframework.core.io.Resource; | ||
|
||
import javax.sql.DataSource; | ||
|
||
@org.springframework.context.annotation.Configuration | ||
public class MetricWebMysqlDaoConfiguration { | ||
private final Logger logger = LogManager.getLogger(MetricWebMysqlDaoConfiguration.class); | ||
Check warning on line 20 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java#L19-L20
|
||
|
||
@Bean | ||
public SqlSessionFactoryBean metricSqlSessionFactory( | ||
@Qualifier("dataSource") DataSource dataSource, | ||
@Value("classpath*:/pinot-web/mapper/mysql/*Mapper.xml") Resource[] mappers) { | ||
|
||
for (Resource mapper : mappers) { | ||
logger.info("Mapper location: {}", mapper.getDescription()); | ||
Check warning on line 28 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java#L28
|
||
} | ||
|
||
SqlSessionFactoryBean sessionFactoryBean = new SqlSessionFactoryBean(); | ||
sessionFactoryBean.setDataSource(dataSource); | ||
sessionFactoryBean.setMapperLocations(mappers); | ||
Check warning on line 33 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java#L31-L33
|
||
|
||
Configuration config = MyBatisConfiguration.defaultConfiguration(); | ||
sessionFactoryBean.setConfiguration(config); | ||
Check warning on line 36 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java#L35-L36
|
||
|
||
MyBatisRegistryHandler registry = registryHandler(); | ||
registry.registerTypeAlias(config.getTypeAliasRegistry()); | ||
Check warning on line 39 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java#L38-L39
|
||
|
||
sessionFactoryBean.setFailFast(true); | ||
Check warning on line 41 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java#L41
|
||
|
||
return sessionFactoryBean; | ||
Check warning on line 43 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java#L43
|
||
} | ||
|
||
private MyBatisRegistryHandler registryHandler() { | ||
return new WebRegistryHandler(); | ||
Check warning on line 47 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java#L47
|
||
} | ||
|
||
@Bean | ||
public SqlSessionTemplate metricSqlSessionTemplate( | ||
@Qualifier("metricSqlSessionFactory") SqlSessionFactory sessionFactory) { | ||
return new SqlSessionTemplate(sessionFactory); | ||
Check warning on line 53 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/config/MetricWebMysqlDaoConfiguration.java#L53
|
||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
package com.navercorp.pinpoint.metric.web.dao; | ||
|
||
import java.util.List; | ||
|
||
public interface SystemMetricHostExclusionDao { | ||
|
||
List<String> selectExcludedHostGroupNameList(String tenantId); | ||
|
||
void insertMetricHostGroupExclusion(String tenantId, String hostGroupName); | ||
|
||
void deleteMetricHostGroupExclusion(String tenantId, String hostGroupName); | ||
|
||
List<String> selectExcludedHostNameList(String tenantId, String hostGroupName); | ||
|
||
void insertMetricHostExclusion(String tenantId, String hostGroupName, String hostName); | ||
|
||
void deleteMetricHostExclusion(String tenantId, String hostGroupName, String hostName); | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
package com.navercorp.pinpoint.metric.web.dao.mysql; | ||
|
||
import com.navercorp.pinpoint.metric.web.dao.SystemMetricHostExclusionDao; | ||
import com.navercorp.pinpoint.metric.web.dao.model.HostInfoSearchKey; | ||
import org.mybatis.spring.SqlSessionTemplate; | ||
import org.springframework.beans.factory.annotation.Qualifier; | ||
import org.springframework.context.annotation.Primary; | ||
import org.springframework.stereotype.Repository; | ||
|
||
import java.util.List; | ||
import java.util.Objects; | ||
|
||
@Primary | ||
@Repository | ||
public class MysqlSystemMetricHostExclusionDao implements SystemMetricHostExclusionDao { | ||
|
||
private static final String NAMESPACE = MysqlSystemMetricHostExclusionDao.class.getName() + "."; | ||
Check warning on line 17 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java#L17
|
||
|
||
private final SqlSessionTemplate sqlMetricSessionTemplate; | ||
|
||
public MysqlSystemMetricHostExclusionDao(@Qualifier("metricSqlSessionTemplate") SqlSessionTemplate sqlMetricSessionTemplate) { | ||
this.sqlMetricSessionTemplate = Objects.requireNonNull(sqlMetricSessionTemplate, "sqlSessionTemplate"); | ||
} | ||
Check warning on line 23 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java#L21-L23
|
||
|
||
@Override | ||
public List<String> selectExcludedHostGroupNameList(String tenantId) { | ||
return sqlMetricSessionTemplate.selectList(NAMESPACE + "selectExcludedHostGroupNames", tenantId); | ||
Check warning on line 27 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java#L27
|
||
} | ||
|
||
@Override | ||
public void insertMetricHostGroupExclusion(String tenantId, String hostGroupName) { | ||
sqlMetricSessionTemplate.insert(NAMESPACE + "insertHostGroupExclusion", new HostInfoSearchKey(tenantId, hostGroupName)); | ||
} | ||
Check warning on line 33 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java#L32-L33
|
||
|
||
@Override | ||
public void deleteMetricHostGroupExclusion(String tenantId, String hostGroupName) { | ||
sqlMetricSessionTemplate.delete(NAMESPACE + "deleteHostGroupExclusion", new HostInfoSearchKey(tenantId, hostGroupName)); | ||
} | ||
Check warning on line 38 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java#L37-L38
|
||
|
||
@Override | ||
public List<String> selectExcludedHostNameList(String tenantId, String hostGroupName) { | ||
return sqlMetricSessionTemplate.selectList(NAMESPACE + "selectExcludedHostNames", new HostInfoSearchKey(tenantId, hostGroupName)); | ||
Check warning on line 42 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java#L42
|
||
} | ||
|
||
@Override | ||
public void insertMetricHostExclusion(String tenantId, String hostGroupName, String hostName) { | ||
sqlMetricSessionTemplate.insert(NAMESPACE + "insertHostExclusion", new HostInfoSearchKey(tenantId, hostGroupName, hostName)); | ||
} | ||
Check warning on line 48 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java#L47-L48
|
||
|
||
@Override | ||
public void deleteMetricHostExclusion(String tenantId, String hostGroupName, String hostName) { | ||
sqlMetricSessionTemplate.delete(NAMESPACE + "deleteHostExclusion", new HostInfoSearchKey(tenantId, hostGroupName, hostName)); | ||
} | ||
Check warning on line 53 in metric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java Codecov / codecov/patchmetric-module/metric/src/main/java/com/navercorp/pinpoint/metric/web/dao/mysql/MysqlSystemMetricHostExclusionDao.java#L52-L53
|
||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package com.navercorp.pinpoint.metric.web.model; | ||
|
||
public class SystemMetricHostExclusionData { | ||
private final String hostName; | ||
private final boolean excluded; | ||
|
||
public SystemMetricHostExclusionData(String hostName, boolean excluded) { | ||
this.hostName = hostName; | ||
this.excluded = excluded; | ||
} | ||
|
||
public String getHostName() { | ||
return hostName; | ||
} | ||
|
||
public boolean isExcluded() { | ||
return excluded; | ||
} | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
package com.navercorp.pinpoint.metric.web.model; | ||
|
||
import java.util.List; | ||
import java.util.Objects; | ||
|
||
public class SystemMetricHostGroupExclusionData { | ||
private final String hostGroupName; | ||
private final boolean excluded; | ||
private final List<String> excludedHostNameList; | ||
private final List<SystemMetricHostExclusionData> hostExclusionDataList; | ||
|
||
public SystemMetricHostGroupExclusionData(String hostGroupName, boolean excluded, List<String> excludedHostNameList, List<SystemMetricHostExclusionData> hostExclusionData) { | ||
this.hostGroupName = Objects.requireNonNull(hostGroupName, "hostGroupName"); | ||
this.excluded = Objects.requireNonNull(excluded, "excluded"); | ||
this.excludedHostNameList = Objects.requireNonNull(excludedHostNameList, "excludedHostNameList"); | ||
this.hostExclusionDataList = Objects.requireNonNull(hostExclusionData, "hostExclusionData"); | ||
} | ||
|
||
public String getHostGroupName() { | ||
return hostGroupName; | ||
} | ||
|
||
public boolean isExcluded() { | ||
return excluded; | ||
} | ||
|
||
public List<String> getExcludedHostNameList() { | ||
return excludedHostNameList; | ||
} | ||
|
||
public List<SystemMetricHostExclusionData> getHostExclusionDataList() { | ||
return hostExclusionDataList; | ||
} | ||
} |