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 classstatic class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.modelmapper.ModelMapperprivate final ServerMetricsRepositoryprivate final ServerRestServiceprivate final UidUtilsFields inherited from class com.bytedesk.core.base.BaseRestService
authService -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcleanupOldMetrics(int retentionDays) convertToResponse(ServerMetricsEntity entity) create(ServerMetricsRequest request) protected org.springframework.data.jpa.domain.Specification<ServerMetricsEntity>createSpecification(ServerMetricsRequest request) 创建Specification对象,子类必须实现 用于queryByOrg的通用实现voiddelete(ServerMetricsRequest request) voiddeleteByUid(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) longgetMetricsCount(String serverUid) getMetricsHistory(String serverUid, ZonedDateTime startTime, ZonedDateTime endTime) getPeakMetrics(String serverUid, ZonedDateTime startTime, ZonedDateTime endTime) protected StringgetUidFromRequest(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:
createSpecificationin 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:
executePageQueryin classBaseRestService<ServerMetricsEntity,ServerMetricsRequest, ServerMetricsResponse>
-
findByUid
@Cacheable(value="server_metrics", key="#uid", unless="#result==null") public Optional<ServerMetricsEntity> findByUid(String uid) - Specified by:
findByUidin classBaseRestService<ServerMetricsEntity,ServerMetricsRequest, ServerMetricsResponse>
-
create
- Specified by:
createin classBaseRestService<ServerMetricsEntity,ServerMetricsRequest, ServerMetricsResponse>
-
update
- Specified by:
updatein classBaseRestService<ServerMetricsEntity,ServerMetricsRequest, ServerMetricsResponse>
-
deleteByUid
- Specified by:
deleteByUidin classBaseRestService<ServerMetricsEntity,ServerMetricsRequest, ServerMetricsResponse>
-
delete
- Specified by:
deletein classBaseRestService<ServerMetricsEntity,ServerMetricsRequest, ServerMetricsResponse>
-
getUidFromRequest
Description copied from class:BaseRestService从请求对象中获取UID的通用实现 使用反射调用getUid方法- Overrides:
getUidFromRequestin classBaseRestService<ServerMetricsEntity,ServerMetricsRequest, ServerMetricsResponse>
-
doSave
Description copied from class:BaseRestService子类实现具体的保存逻辑- Specified by:
doSavein classBaseRestService<ServerMetricsEntity,ServerMetricsRequest, ServerMetricsResponse>
-
handleOptimisticLockingFailureException
public ServerMetricsEntity handleOptimisticLockingFailureException(org.springframework.orm.ObjectOptimisticLockingFailureException e, ServerMetricsEntity entity) -
convertToResponse
- Specified by:
convertToResponsein 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
-