Remove display of data from last second

This commit is contained in:
chimp1984 2020-08-27 15:43:13 -05:00
parent a88e8f88fa
commit 8c619530a4
No known key found for this signature in database
GPG key ID: 9801B4EC591F90E3
3 changed files with 10 additions and 48 deletions

View file

@ -1138,8 +1138,8 @@ settings.net.heightColumn=Height
settings.net.needRestart=You need to restart the application to apply that change.\nDo you want to do that now? settings.net.needRestart=You need to restart the application to apply that change.\nDo you want to do that now?
settings.net.notKnownYet=Not known yet... settings.net.notKnownYet=Not known yet...
settings.net.sentData=Sent data: {0}, {1} messages, {2} messages/sec, {3} messages sent in last second settings.net.sentData=Sent data: {0}, {1} messages, {2} messages/sec
settings.net.receivedData=Received data: {0}, {1} messages, {2} messages/sec, {3} messages received in last second settings.net.receivedData=Received data: {0}, {1} messages, {2} messages/sec
settings.net.ips=[IP address:port | host name:port | onion address:port] (comma separated). Port can be omitted if default is used (8333). settings.net.ips=[IP address:port | host name:port | onion address:port] (comma separated). Port can be omitted if default is used (8333).
settings.net.seedNode=Seed node settings.net.seedNode=Seed node
settings.net.directPeer=Peer (direct) settings.net.directPeer=Peer (direct)

View file

@ -304,16 +304,14 @@ public class NetworkSettingsView extends ActivatableView<GridPane, Void> {
sentDataTextField.textProperty().bind(createStringBinding(() -> Res.get("settings.net.sentData", sentDataTextField.textProperty().bind(createStringBinding(() -> Res.get("settings.net.sentData",
FormattingUtils.formatBytes(Statistic.totalSentBytesProperty().get()), FormattingUtils.formatBytes(Statistic.totalSentBytesProperty().get()),
Statistic.numTotalSentMessagesProperty().get(), Statistic.numTotalSentMessagesProperty().get(),
Statistic.numTotalSentMessagesPerSecProperty().get(), Statistic.numTotalSentMessagesPerSecProperty().get()),
Statistic.numTotalSentMessagesLastSecProperty().get()), Statistic.numTotalSentMessagesPerSecProperty()));
Statistic.numTotalSentMessagesLastSecProperty()));
receivedDataTextField.textProperty().bind(createStringBinding(() -> Res.get("settings.net.receivedData", receivedDataTextField.textProperty().bind(createStringBinding(() -> Res.get("settings.net.receivedData",
FormattingUtils.formatBytes(Statistic.totalReceivedBytesProperty().get()), FormattingUtils.formatBytes(Statistic.totalReceivedBytesProperty().get()),
Statistic.numTotalReceivedMessagesProperty().get(), Statistic.numTotalReceivedMessagesProperty().get(),
Statistic.numTotalReceivedMessagesPerSecProperty().get(), Statistic.numTotalReceivedMessagesPerSecProperty().get()),
Statistic.numTotalReceivedMessagesLastSecProperty().get()), Statistic.numTotalReceivedMessagesPerSecProperty()));
Statistic.numTotalReceivedMessagesLastSecProperty()));
bitcoinSortedList.comparatorProperty().bind(bitcoinPeersTableView.comparatorProperty()); bitcoinSortedList.comparatorProperty().bind(bitcoinPeersTableView.comparatorProperty());
bitcoinPeersTableView.setItems(bitcoinSortedList); bitcoinPeersTableView.setItems(bitcoinSortedList);

View file

@ -50,35 +50,19 @@ public class Statistic {
private final static LongProperty totalReceivedBytes = new SimpleLongProperty(0); private final static LongProperty totalReceivedBytes = new SimpleLongProperty(0);
private final static Map<String, Integer> totalReceivedMessages = new ConcurrentHashMap<>(); private final static Map<String, Integer> totalReceivedMessages = new ConcurrentHashMap<>();
private final static Map<String, Integer> totalSentMessages = new ConcurrentHashMap<>(); private final static Map<String, Integer> totalSentMessages = new ConcurrentHashMap<>();
private final static Map<String, Integer> totalReceivedMessagesLastSec = new ConcurrentHashMap<>();
private final static Map<String, Integer> totalSentMessagesLastSec = new ConcurrentHashMap<>();
private final static LongProperty numTotalSentMessages = new SimpleLongProperty(0); private final static LongProperty numTotalSentMessages = new SimpleLongProperty(0);
private final static LongProperty numTotalSentMessagesLastSec = new SimpleLongProperty(0);
private final static DoubleProperty numTotalSentMessagesPerSec = new SimpleDoubleProperty(0); private final static DoubleProperty numTotalSentMessagesPerSec = new SimpleDoubleProperty(0);
private final static LongProperty numTotalReceivedMessages = new SimpleLongProperty(0); private final static LongProperty numTotalReceivedMessages = new SimpleLongProperty(0);
private final static LongProperty numTotalReceivedMessagesLastSec = new SimpleLongProperty(0);
private final static DoubleProperty numTotalReceivedMessagesPerSec = new SimpleDoubleProperty(0); private final static DoubleProperty numTotalReceivedMessagesPerSec = new SimpleDoubleProperty(0);
private static String totalSentMessagesLastSecString;
private static String totalReceivedMessagesLastSecString;
static { static {
UserThread.runPeriodically(() -> { UserThread.runPeriodically(() -> {
numTotalSentMessages.set(totalSentMessages.values().stream().mapToInt(Integer::intValue).sum()); numTotalSentMessages.set(totalSentMessages.values().stream().mapToInt(Integer::intValue).sum());
numTotalSentMessagesLastSec.set(totalSentMessagesLastSec.values().stream().mapToInt(Integer::intValue).sum());
numTotalReceivedMessages.set(totalReceivedMessages.values().stream().mapToInt(Integer::intValue).sum()); numTotalReceivedMessages.set(totalReceivedMessages.values().stream().mapToInt(Integer::intValue).sum());
numTotalReceivedMessagesLastSec.set(totalReceivedMessagesLastSec.values().stream().mapToInt(Integer::intValue).sum());
long passed = (System.currentTimeMillis() - startTime) / 1000; long passed = (System.currentTimeMillis() - startTime) / 1000;
numTotalSentMessagesPerSec.set(((double) numTotalSentMessages.get()) / passed); numTotalSentMessagesPerSec.set(((double) numTotalSentMessages.get()) / passed);
numTotalReceivedMessagesPerSec.set(((double) numTotalReceivedMessages.get()) / passed); numTotalReceivedMessagesPerSec.set(((double) numTotalReceivedMessages.get()) / passed);
// We keep totalSentMessagesPerSec in a string so it is available at logging (totalSentMessagesPerSec is reset)
totalSentMessagesLastSecString = totalSentMessagesLastSec.toString();
totalReceivedMessagesLastSecString = totalReceivedMessagesLastSec.toString();
// We do not clear the map as the totalSentMessagesPerSec is not thread safe and clearing could lead to null pointers
totalSentMessagesLastSec.entrySet().forEach(e -> e.setValue(0));
totalReceivedMessagesLastSec.entrySet().forEach(e -> e.setValue(0));
}, 1); }, 1);
// We log statistics every minute // We log statistics every minute
@ -86,16 +70,16 @@ public class Statistic {
log.info("Network statistics:\n" + log.info("Network statistics:\n" +
"Bytes sent: {} kb;\n" + "Bytes sent: {} kb;\n" +
"Number of sent messages/Sent messages: {} / {};\n" + "Number of sent messages/Sent messages: {} / {};\n" +
"Number of sent messages of last sec/Sent messages of last sec: {} / {};\n" + "Number of sent messages per sec: {};\n" +
"Bytes received: {} kb\n" + "Bytes received: {} kb\n" +
"Number of received messages/Received messages: {} / {};\n" + "Number of received messages/Received messages: {} / {};\n" +
"Number of received messages of last sec/Received messages of last sec: {} / {};", "Number of received messages per sec: {};",
totalSentBytes.get() / 1024d, totalSentBytes.get() / 1024d,
numTotalSentMessages.get(), totalSentMessages, numTotalSentMessages.get(), totalSentMessages,
numTotalSentMessagesLastSec.get(), totalSentMessagesLastSecString, numTotalSentMessagesPerSec.get(),
totalReceivedBytes.get() / 1024d, totalReceivedBytes.get() / 1024d,
numTotalReceivedMessages.get(), totalReceivedMessages, numTotalReceivedMessages.get(), totalReceivedMessages,
numTotalReceivedMessagesLastSec.get(), totalReceivedMessagesLastSecString); numTotalReceivedMessagesPerSec.get());
}, 60); }, 60);
} }
@ -111,10 +95,6 @@ public class Statistic {
return numTotalSentMessages; return numTotalSentMessages;
} }
public static LongProperty numTotalSentMessagesLastSecProperty() {
return numTotalSentMessagesLastSec;
}
public static DoubleProperty numTotalSentMessagesPerSecProperty() { public static DoubleProperty numTotalSentMessagesPerSecProperty() {
return numTotalSentMessagesPerSec; return numTotalSentMessagesPerSec;
} }
@ -123,10 +103,6 @@ public class Statistic {
return numTotalReceivedMessages; return numTotalReceivedMessages;
} }
public static LongProperty numTotalReceivedMessagesLastSecProperty() {
return numTotalReceivedMessagesLastSec;
}
public static DoubleProperty numTotalReceivedMessagesPerSecProperty() { public static DoubleProperty numTotalReceivedMessagesPerSecProperty() {
return numTotalReceivedMessagesPerSec; return numTotalReceivedMessagesPerSec;
} }
@ -189,12 +165,6 @@ public class Statistic {
counter = totalReceivedMessages.get(messageClassName) + 1; counter = totalReceivedMessages.get(messageClassName) + 1;
} }
totalReceivedMessages.put(messageClassName, counter); totalReceivedMessages.put(messageClassName, counter);
counter = 1;
if (totalReceivedMessagesLastSec.containsKey(messageClassName)) {
counter = totalReceivedMessagesLastSec.get(messageClassName) + 1;
}
totalReceivedMessagesLastSec.put(messageClassName, counter);
} }
void addSentMessage(NetworkEnvelope networkEnvelope) { void addSentMessage(NetworkEnvelope networkEnvelope) {
@ -210,12 +180,6 @@ public class Statistic {
counter = totalSentMessages.get(messageClassName) + 1; counter = totalSentMessages.get(messageClassName) + 1;
} }
totalSentMessages.put(messageClassName, counter); totalSentMessages.put(messageClassName, counter);
counter = 1;
if (totalSentMessagesLastSec.containsKey(messageClassName)) {
counter = totalSentMessagesLastSec.get(messageClassName) + 1;
}
totalSentMessagesLastSec.put(messageClassName, counter);
} }
public void setRoundTripTime(int roundTripTime) { public void setRoundTripTime(int roundTripTime) {