From 71b2665799f79316ca2588660981e5353ccee311 Mon Sep 17 00:00:00 2001 From: rusefi Date: Thu, 30 Jul 2020 23:44:36 -0400 Subject: [PATCH] stats into JSON --- .../io/src/main/java/com/rusefi/io/IoStream.java | 3 ++- .../com/rusefi/io/serial/AbstractIoStream.java | 2 +- .../src/main/java/com/rusefi/server/Backend.java | 16 ++++++++++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/java_console/io/src/main/java/com/rusefi/io/IoStream.java b/java_console/io/src/main/java/com/rusefi/io/IoStream.java index d49bb6cd3b..d0b6871763 100644 --- a/java_console/io/src/main/java/com/rusefi/io/IoStream.java +++ b/java_console/io/src/main/java/com/rusefi/io/IoStream.java @@ -7,6 +7,7 @@ import com.rusefi.binaryprotocol.BinaryProtocol; import com.rusefi.binaryprotocol.IncomingDataBuffer; import com.rusefi.binaryprotocol.IoHelper; import com.rusefi.io.serial.AbstractIoStream; +import com.rusefi.io.serial.StreamStatistics; import com.rusefi.io.tcp.BinaryProtocolServer; import org.jetbrains.annotations.NotNull; @@ -23,7 +24,7 @@ import static com.devexperts.logging.Logging.getLogging; *

* 5/11/2015. */ -public interface IoStream extends WriteStream, Closeable { +public interface IoStream extends WriteStream, Closeable, StreamStatistics { Logging log = getLogging(IoStream.class); static String printHexBinary(byte[] data) { diff --git a/java_console/io/src/main/java/com/rusefi/io/serial/AbstractIoStream.java b/java_console/io/src/main/java/com/rusefi/io/serial/AbstractIoStream.java index 385cea143d..c5d7f5221f 100644 --- a/java_console/io/src/main/java/com/rusefi/io/serial/AbstractIoStream.java +++ b/java_console/io/src/main/java/com/rusefi/io/serial/AbstractIoStream.java @@ -5,7 +5,7 @@ import com.rusefi.io.IoStream; import java.io.IOException; import java.util.concurrent.atomic.AtomicInteger; -public abstract class AbstractIoStream implements IoStream, StreamStatistics { +public abstract class AbstractIoStream implements IoStream { private boolean isClosed; protected StreamStats streamStats = new StreamStats(); diff --git a/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java b/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java index 642cc2d264..6a9e175632 100644 --- a/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java +++ b/java_tools/proxy_server/src/main/java/com/rusefi/server/Backend.java @@ -271,17 +271,25 @@ public class Backend implements Closeable { JsonArrayBuilder builder = Json.createArrayBuilder(); List applications = getApplications(); for (ApplicationConnectionState application : applications) { - JsonObject applicationObject = Json.createObjectBuilder() + JsonObjectBuilder b = Json.createObjectBuilder() .add(UserDetails.USER_ID, application.getUserDetails().getUserId()) .add(UserDetails.USERNAME, application.getUserDetails().getUserName()) .add(AGE, application.getBirthday().getDuration()) - .add(MAX_PACKET_GAP, application.getClientStream().getStreamStats().getMaxPacketGap()) + ; + JsonObject applicationObject = addStreamStats(b, application.getClientStream()) .build(); builder.add(applicationObject); } return new RsJson(builder.build()); } + private static JsonObjectBuilder addStreamStats(JsonObjectBuilder builder, IoStream stream) { + return builder + .add(MAX_PACKET_GAP, stream.getStreamStats().getMaxPacketGap()) + .add("in", stream.getBytesIn()) + .add("out", stream.getBytesOut()); + } + @NotNull private RsJson getControllersOnline() throws IOException { JsonArrayBuilder builder = Json.createArrayBuilder(); @@ -303,8 +311,8 @@ public class Backend implements Closeable { .add(ControllerInfo.SIGNATURE, client.getSessionDetails().getControllerInfo().getSignature()) .add(ControllerInfo.VEHICLE_NAME, client.getSessionDetails().getControllerInfo().getVehicleName()) .add(ControllerInfo.ENGINE_MAKE, client.getSessionDetails().getControllerInfo().getEngineMake()) - .add(ControllerInfo.ENGINE_CODE, client.getSessionDetails().getControllerInfo().getEngineCode()) - .add(MAX_PACKET_GAP, client.getStream().getStreamStats().getMaxPacketGap()); + .add(ControllerInfo.ENGINE_CODE, client.getSessionDetails().getControllerInfo().getEngineCode()); + objectBuilder = addStreamStats(objectBuilder, client.getStream()); if (owner != null) { objectBuilder = objectBuilder.add(ProxyClient.OWNER, owner.getUserName()); }