Package com.bytedesk.core.server_metrics
Class ServerMetricsRestService
java.lang.Object
com.bytedesk.core.base.BaseRestService<ServerMetricsEntity,ServerMetricsRequest,ServerMetricsResponse>
com.bytedesk.core.server_metrics.ServerMetricsRestService
@Service
public class ServerMetricsRestService
extends BaseRestService<ServerMetricsEntity,ServerMetricsRequest,ServerMetricsResponse>
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.modelmapper.ModelMapper
private final ServerMetricsRepository
private final ServerRestService
private final UidUtils
Fields inherited from class com.bytedesk.core.base.BaseRestService
authService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionint
cleanupOldMetrics
(int retentionDays) convertToResponse
(ServerMetricsEntity entity) create
(ServerMetricsRequest request) protected org.springframework.data.jpa.domain.Specification<ServerMetricsEntity>
createSpecification
(ServerMetricsRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现void
delete
(ServerMetricsRequest request) void
deleteByUid
(String uid) doSave
(ServerMetricsEntity entity) 子类实现具体的保存逻辑protected org.springframework.data.domain.Page<ServerMetricsEntity>
executePageQuery
(org.springframework.data.jpa.domain.Specification<ServerMetricsEntity> spec, org.springframework.data.domain.Pageable pageable) 执行分页查询,子类必须实现 用于queryByOrg的通用实现findHighUsageMetrics
(Double cpuThreshold, Double memoryThreshold, Double diskThreshold, ZonedDateTime startTime, ZonedDateTime endTime) getAverageMetrics
(String serverUid, ZonedDateTime startTime, ZonedDateTime endTime) getLatestMetrics
(String serverUid) long
getMetricsCount
(String serverUid) getMetricsHistory
(String serverUid, ZonedDateTime startTime, ZonedDateTime endTime) getPeakMetrics
(String serverUid, ZonedDateTime startTime, ZonedDateTime endTime) protected String
getUidFromRequest
(ServerMetricsRequest request) 从请求对象中获取UID的通用实现 使用反射调用getUid方法handleOptimisticLockingFailureException
(org.springframework.orm.ObjectOptimisticLockingFailureException e, ServerMetricsEntity entity) recordMetrics
(ServerEntity serverEntity) update
(ServerMetricsRequest request) Methods inherited from class com.bytedesk.core.base.BaseRestService
deleteByOrgUid, findByOrgUid, queryByOrg, queryByUid, queryByUser, recover, save, setUserUidToRequest
-
Field Details
-
serverMetricsRepository
-
modelMapper
private final org.modelmapper.ModelMapper modelMapper -
uidUtils
-
serverRestService
-
-
Constructor Details
-
ServerMetricsRestService
public ServerMetricsRestService()
-
-
Method Details
-
createSpecification
protected org.springframework.data.jpa.domain.Specification<ServerMetricsEntity> createSpecification(ServerMetricsRequest request) Description copied from class:BaseRestService
创建Specification对象,子类必须实现 用于queryByOrg的通用实现- Specified by:
createSpecification
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
executePageQuery
protected org.springframework.data.domain.Page<ServerMetricsEntity> executePageQuery(org.springframework.data.jpa.domain.Specification<ServerMetricsEntity> spec, org.springframework.data.domain.Pageable pageable) Description copied from class:BaseRestService
执行分页查询,子类必须实现 用于queryByOrg的通用实现- Specified by:
executePageQuery
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
findByUid
@Cacheable(value="server_metrics", key="#uid", unless="#result==null") public Optional<ServerMetricsEntity> findByUid(String uid) - Specified by:
findByUid
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
create
- Specified by:
create
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
update
- Specified by:
update
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
deleteByUid
- Specified by:
deleteByUid
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
delete
- Specified by:
delete
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
getUidFromRequest
Description copied from class:BaseRestService
从请求对象中获取UID的通用实现 使用反射调用getUid方法- Overrides:
getUidFromRequest
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
doSave
Description copied from class:BaseRestService
子类实现具体的保存逻辑- Specified by:
doSave
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
handleOptimisticLockingFailureException
public ServerMetricsEntity handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, ServerMetricsEntity entity) -
convertToResponse
- Specified by:
convertToResponse
in classBaseRestService<ServerMetricsEntity,
ServerMetricsRequest, ServerMetricsResponse>
-
recordMetrics
-
getMetricsHistory
public List<ServerMetricsEntity> getMetricsHistory(String serverUid, ZonedDateTime startTime, ZonedDateTime endTime) -
getLatestMetrics
-
getAverageMetrics
public ServerMetricsRestService.ServerMetricsAverage getAverageMetrics(String serverUid, ZonedDateTime startTime, ZonedDateTime endTime) -
getPeakMetrics
public ServerMetricsRestService.ServerMetricsPeak getPeakMetrics(String serverUid, ZonedDateTime startTime, ZonedDateTime endTime) -
findHighUsageMetrics
public List<ServerMetricsEntity> findHighUsageMetrics(Double cpuThreshold, Double memoryThreshold, Double diskThreshold, ZonedDateTime startTime, ZonedDateTime endTime) -
cleanupOldMetrics
@Transactional public int cleanupOldMetrics(int retentionDays) -
getMetricsCount
-