Alona Kaplan has uploaded a new change for review. Change subject: restapi: Rx and Tx should be displayed as BYTES_PER_SECOND ......................................................................
restapi: Rx and Tx should be displayed as BYTES_PER_SECOND The rx and tx are reported and displayed in the rest as percent of the speed. It should be converted and displayed as BYTES_PER_SECOND. Change-Id: Icb004ae50c00acbcb7aeb53fb3962028e6966fbc Bug-Url: https://bugzilla.redhat.com/887230 Signed-off-by: Alona Kaplan <alkap...@redhat.com> --- M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java M backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java A backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/RxTxCalculator.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNicsResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendSubResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java M backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmNicResourceTest.java 8 files changed, 46 insertions(+), 19 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/64/12164/1 diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java index 162cc95..54747e2 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/HostNicStatisticalQuery.java @@ -5,6 +5,7 @@ import org.ovirt.engine.api.model.Host; import org.ovirt.engine.api.model.HostNIC; import org.ovirt.engine.api.model.Statistic; +import org.ovirt.engine.api.restapi.util.RxTxCalculator; import org.ovirt.engine.core.common.businessentities.network.NetworkStatistics; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; import org.ovirt.engine.core.compat.Guid; @@ -28,10 +29,11 @@ @Override public List<Statistic> getStatistics(VdsNetworkInterface iface) { NetworkStatistics s = iface.getStatistics(); - return asList(setDatum(clone(DATA_RX), s.getReceiveRate()), - setDatum(clone(DATA_TX), s.getTransmitRate()), - setDatum(clone(ERRS_RX), s.getReceiveDropRate()), - setDatum(clone(ERRS_TX), s.getTransmitDropRate())); + + return asList(setDatum(clone(DATA_RX), RxTxCalculator.calcRxTx(iface.getSpeed(), s.getReceiveRate())), + setDatum(clone(DATA_TX), RxTxCalculator.calcRxTx(iface.getSpeed(), s.getTransmitRate())), + setDatum(clone(ERRS_RX), s.getReceiveDropRate()), + setDatum(clone(ERRS_TX), s.getTransmitDropRate())); } @Override diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java index ff723cf..daeefa2 100644 --- a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/resource/NicStatisticalQuery.java @@ -5,6 +5,7 @@ import org.ovirt.engine.api.model.NIC; import org.ovirt.engine.api.model.Statistic; import org.ovirt.engine.api.model.VM; +import org.ovirt.engine.api.restapi.util.RxTxCalculator; import org.ovirt.engine.core.common.businessentities.network.NetworkStatistics; import org.ovirt.engine.core.common.businessentities.network.VmNetworkInterface; import org.ovirt.engine.core.compat.Guid; @@ -28,10 +29,10 @@ @Override public List<Statistic> getStatistics(VmNetworkInterface iface) { NetworkStatistics s = iface.getStatistics(); - return asList(setDatum(clone(DATA_RX), s.getReceiveRate()), - setDatum(clone(DATA_TX), s.getTransmitRate()), - setDatum(clone(ERRS_RX), s.getReceiveDropRate()), - setDatum(clone(ERRS_TX), s.getTransmitDropRate())); + return asList(setDatum(clone(DATA_RX), RxTxCalculator.calcRxTx(iface.getSpeed(), s.getReceiveRate())), + setDatum(clone(DATA_TX), RxTxCalculator.calcRxTx(iface.getSpeed(), s.getTransmitRate())), + setDatum(clone(ERRS_RX), s.getReceiveDropRate()), + setDatum(clone(ERRS_TX), s.getTransmitDropRate())); } @Override diff --git a/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/RxTxCalculator.java b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/RxTxCalculator.java new file mode 100644 index 0000000..69fa07a --- /dev/null +++ b/backend/manager/modules/restapi/jaxrs/src/main/java/org/ovirt/engine/api/restapi/util/RxTxCalculator.java @@ -0,0 +1,16 @@ +package org.ovirt.engine.api.restapi.util; + +public class RxTxCalculator { + + public static Double calcRxTx(Integer speedValueInMegaBits, Double rxTxValueInPrecent) { + if (speedValueInMegaBits == null || rxTxValueInPrecent == null) { + return null; + } + return megaBitToByte(speedValueInMegaBits * rxTxValueInPrecent / 100); + } + + private static double megaBitToByte(double megaBit) { + return megaBit * 125000; + } + +} diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNicsResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNicsResourceTest.java index b41f0f6..11fd2de 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNicsResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendNicsResourceTest.java @@ -106,6 +106,7 @@ expect(entity.getName()).andReturn(NAMES[index]).anyTimes(); expect(entity.getMacAddress()).andReturn(ADDRESSES[2]).anyTimes(); expect(entity.getType()).andReturn(0).anyTimes(); + expect(entity.getSpeed()).andReturn(50).anyTimes(); return setUpStatisticalEntityExpectations(entity, statistics); } diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendSubResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendSubResourceTest.java index d3e8bbd..49a7b4e 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendSubResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/AbstractBackendSubResourceTest.java @@ -3,6 +3,7 @@ import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.math.BigDecimal; +import java.math.MathContext; import java.util.List; import javax.ws.rs.Path; @@ -11,11 +12,10 @@ import javax.ws.rs.core.UriInfo; import org.junit.Test; - import org.ovirt.engine.api.model.Action; import org.ovirt.engine.api.model.BaseResource; -import org.ovirt.engine.api.model.Statistic; import org.ovirt.engine.api.model.CreationStatus; +import org.ovirt.engine.api.model.Statistic; public abstract class AbstractBackendSubResourceTest<R extends BaseResource, Q /* extends IVdcQueryable */, S extends AbstractBackendSubResource<R, Q>> extends AbstractBackendResourceTest<R, Q> { @@ -136,6 +136,6 @@ } protected BigDecimal asDec(double d) { - return new BigDecimal(d); + return new BigDecimal(d, new MathContext(2)); } } diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java index 7101b91..27752d0 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicResourceTest.java @@ -1,12 +1,12 @@ package org.ovirt.engine.api.restapi.resource; +import static org.easymock.EasyMock.expect; import static org.ovirt.engine.api.restapi.resource.BackendHostNicsResourceTest.NETWORK_GUID; import static org.ovirt.engine.api.restapi.resource.BackendHostNicsResourceTest.NETWORK_NAME; import static org.ovirt.engine.api.restapi.resource.BackendHostNicsResourceTest.PARENT_GUID; import static org.ovirt.engine.api.restapi.resource.BackendHostNicsResourceTest.getEntitySpecific; import static org.ovirt.engine.api.restapi.resource.BackendHostNicsResourceTest.getNetwork; import static org.ovirt.engine.api.restapi.resource.BackendHostNicsResourceTest.setUpInterfaces; -import static org.easymock.EasyMock.expect; import java.math.BigDecimal; import java.util.ArrayList; @@ -17,21 +17,21 @@ import javax.ws.rs.core.Response; import org.junit.Test; - import org.ovirt.engine.api.model.Action; import org.ovirt.engine.api.model.Cluster; import org.ovirt.engine.api.model.HostNIC; import org.ovirt.engine.api.model.Network; import org.ovirt.engine.api.model.Statistic; +import org.ovirt.engine.api.restapi.util.RxTxCalculator; import org.ovirt.engine.core.common.action.AttachNetworkToVdsParameters; import org.ovirt.engine.core.common.action.UpdateNetworkToVdsParameters; import org.ovirt.engine.core.common.action.VdcActionType; import org.ovirt.engine.core.common.businessentities.VDS; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkInterface; import org.ovirt.engine.core.common.businessentities.network.VdsNetworkStatistics; -import org.ovirt.engine.core.common.queries.InterfaceAndIdQueryParameters; import org.ovirt.engine.core.common.queries.GetVdsByVdsIdParameters; import org.ovirt.engine.core.common.queries.IdQueryParameters; +import org.ovirt.engine.core.common.queries.InterfaceAndIdQueryParameters; import org.ovirt.engine.core.common.queries.VdcQueryType; import org.ovirt.engine.core.compat.Guid; @@ -427,6 +427,7 @@ protected VdsNetworkInterface setUpStatisticalExpectations() throws Exception { VdsNetworkStatistics stats = control.createMock(VdsNetworkStatistics.class); VdsNetworkInterface entity = control.createMock(VdsNetworkInterface.class); + expect(entity.getSpeed()).andReturn(50).anyTimes(); expect(entity.getStatistics()).andReturn(stats); expect(entity.getId()).andReturn(NIC_ID).anyTimes(); expect(stats.getReceiveRate()).andReturn(10D); @@ -449,8 +450,9 @@ assertSame(entity, query.resolve(NIC_ID)); List<Statistic> statistics = query.getStatistics(entity); verifyStatistics(statistics, - new String[] {"data.current.rx", "data.current.tx", "errors.total.rx", "errors.total.tx"}, - new BigDecimal[] {asDec(10), asDec(20), asDec(30), asDec(40)}); + new String[] { "data.current.rx", "data.current.tx", "errors.total.rx", "errors.total.tx" }, + new BigDecimal[] { asDec(RxTxCalculator.calcRxTx(50, 10D)), asDec(RxTxCalculator.calcRxTx(50, 20D)), + asDec(30), asDec(40) }); Statistic adopted = query.adopt(new Statistic()); assertTrue(adopted.isSetHostNic()); assertEquals(NIC_ID.toString(), adopted.getHostNic().getId()); diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java index e660abd..dca458f 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendHostNicsResourceTest.java @@ -1,7 +1,6 @@ package org.ovirt.engine.api.restapi.resource; import static org.easymock.EasyMock.expect; -import static org.junit.Assert.*; import java.util.ArrayList; import java.util.Collections; @@ -268,6 +267,7 @@ collection.setupNetworks(action); } + @Override @Test public void testList() throws Exception { UriInfo uriInfo = setUpActionsUriExpectations(); @@ -390,6 +390,7 @@ entity.setId(MASTER_GUID); entity.setName(MASTER_NAME); entity.setNetworkName(NETWORK_NAME); + entity.setSpeed(NIC_SPEED); entity.setBonded(true); entity.setBootProtocol(BOOT_PROTOCOL); return setUpStatistics(entity, MASTER_GUID); @@ -400,6 +401,7 @@ entity.setId(SLAVE_GUID); entity.setName(SLAVE_NAME); entity.setNetworkName(NETWORK_NAME); + entity.setSpeed(NIC_SPEED); entity.setBondName(MASTER_NAME); entity.setBootProtocol(BOOT_PROTOCOL); return setUpStatistics(entity, SLAVE_GUID); diff --git a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmNicResourceTest.java b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmNicResourceTest.java index 73fd99b..57b60e6 100644 --- a/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmNicResourceTest.java +++ b/backend/manager/modules/restapi/jaxrs/src/test/java/org/ovirt/engine/api/restapi/resource/BackendVmNicResourceTest.java @@ -26,6 +26,7 @@ import org.ovirt.engine.api.model.Statistic; import org.ovirt.engine.api.resource.NicResource; import org.ovirt.engine.api.restapi.resource.BaseBackendResource.WebFaultException; +import org.ovirt.engine.api.restapi.util.RxTxCalculator; import org.ovirt.engine.core.common.action.AddVmInterfaceParameters; import org.ovirt.engine.core.common.action.VdcActionParametersBase; import org.ovirt.engine.core.common.action.VdcActionType; @@ -291,6 +292,7 @@ VmNetworkStatistics stats = control.createMock(VmNetworkStatistics.class); VmNetworkInterface entity = control.createMock(VmNetworkInterface.class); expect(entity.getStatistics()).andReturn(stats); + expect(entity.getSpeed()).andReturn(50).anyTimes(); expect(entity.getId()).andReturn(NIC_ID).anyTimes(); expect(stats.getReceiveRate()).andReturn(10D); expect(stats.getTransmitRate()).andReturn(20D); @@ -312,8 +314,9 @@ assertSame(entity, query.resolve(NIC_ID)); List<Statistic> statistics = query.getStatistics(entity); verifyStatistics(statistics, - new String[] {"data.current.rx", "data.current.tx", "errors.total.rx", "errors.total.tx"}, - new BigDecimal[] {asDec(10), asDec(20), asDec(30), asDec(40)}); + new String[] { "data.current.rx", "data.current.tx", "errors.total.rx", "errors.total.tx" }, + new BigDecimal[] { asDec(RxTxCalculator.calcRxTx(50, 10D)), asDec(RxTxCalculator.calcRxTx(50, 20D)), + asDec(30), asDec(40) }); Statistic adopted = query.adopt(new Statistic()); assertTrue(adopted.isSetNic()); assertEquals(NIC_ID.toString(), adopted.getNic().getId()); -- To view, visit http://gerrit.ovirt.org/12164 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Icb004ae50c00acbcb7aeb53fb3962028e6966fbc Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alona Kaplan <alkap...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches