Search in sources :

Example 1 with VmMetricsResponse

use of org.apache.cloudstack.response.VmMetricsResponse in project cloudstack by apache.

the class MetricsServiceImpl method listVmMetrics.

@Override
public List<VmMetricsResponse> listVmMetrics(List<UserVmResponse> vmResponses) {
    final List<VmMetricsResponse> metricsResponses = new ArrayList<>();
    for (final UserVmResponse vmResponse : vmResponses) {
        VmMetricsResponse metricsResponse = new VmMetricsResponse();
        try {
            BeanUtils.copyProperties(metricsResponse, vmResponse);
        } catch (IllegalAccessException | InvocationTargetException e) {
            throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, "Failed to generate vm metrics response");
        }
        metricsResponse.setHasAnnotation(vmResponse.hasAnnotation());
        metricsResponse.setIpAddress(vmResponse.getNics());
        metricsResponse.setCpuTotal(vmResponse.getCpuNumber(), vmResponse.getCpuSpeed());
        metricsResponse.setMemTotal(vmResponse.getMemory());
        metricsResponse.setNetworkRead(vmResponse.getNetworkKbsRead());
        metricsResponse.setNetworkWrite(vmResponse.getNetworkKbsWrite());
        metricsResponse.setDiskRead(vmResponse.getDiskKbsRead());
        metricsResponse.setDiskWrite(vmResponse.getDiskKbsWrite());
        metricsResponse.setDiskIopsTotal(vmResponse.getDiskIORead(), vmResponse.getDiskIOWrite());
        metricsResponse.setLastUpdated(vmResponse.getLastUpdated());
        metricsResponses.add(metricsResponse);
    }
    return metricsResponses;
}
Also used : VmMetricsResponse(org.apache.cloudstack.response.VmMetricsResponse) ServerApiException(org.apache.cloudstack.api.ServerApiException) ArrayList(java.util.ArrayList) UserVmResponse(org.apache.cloudstack.api.response.UserVmResponse) InvocationTargetException(java.lang.reflect.InvocationTargetException)

Aggregations

InvocationTargetException (java.lang.reflect.InvocationTargetException)1 ArrayList (java.util.ArrayList)1 ServerApiException (org.apache.cloudstack.api.ServerApiException)1 UserVmResponse (org.apache.cloudstack.api.response.UserVmResponse)1 VmMetricsResponse (org.apache.cloudstack.response.VmMetricsResponse)1