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

Reply via email to