[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [onionoo/master] Avoid passing around formatted timestamps if feasible.
commit 29109e2b8136234ba36b3c5f6b1e4418e5cc794a
Author: Karsten Loesing <karsten.loesing@xxxxxxx>
Date: Fri Aug 15 10:07:31 2014 +0200
Avoid passing around formatted timestamps if feasible.
Implements part of #12866.
---
.../onionoo/docs/ClientsGraphHistory.java | 18 ++++++-----
.../torproject/onionoo/docs/DetailsDocument.java | 34 +++++++++++---------
.../org/torproject/onionoo/docs/DetailsStatus.java | 17 +++++-----
.../org/torproject/onionoo/docs/GraphHistory.java | 18 ++++++-----
.../org/torproject/onionoo/server/NodeIndex.java | 11 ++++---
.../org/torproject/onionoo/server/NodeIndexer.java | 6 ++--
.../onionoo/updater/NodeDetailsStatusUpdater.java | 32 +++++++-----------
.../onionoo/writer/BandwidthDocumentWriter.java | 4 +--
.../onionoo/writer/ClientsDocumentWriter.java | 4 +--
.../onionoo/writer/DetailsDocumentWriter.java | 14 +++-----
.../onionoo/writer/UptimeDocumentWriter.java | 4 +--
.../onionoo/writer/WeightsDocumentWriter.java | 4 +--
.../onionoo/UptimeDocumentWriterTest.java | 8 ++---
13 files changed, 85 insertions(+), 89 deletions(-)
diff --git a/src/main/java/org/torproject/onionoo/docs/ClientsGraphHistory.java b/src/main/java/org/torproject/onionoo/docs/ClientsGraphHistory.java
index e1db663..00d11a0 100644
--- a/src/main/java/org/torproject/onionoo/docs/ClientsGraphHistory.java
+++ b/src/main/java/org/torproject/onionoo/docs/ClientsGraphHistory.java
@@ -6,22 +6,24 @@ import java.util.ArrayList;
import java.util.List;
import java.util.SortedMap;
+import org.torproject.onionoo.util.DateTimeHelper;
+
public class ClientsGraphHistory {
private String first;
- public void setFirst(String first) {
- this.first = first;
+ public void setFirst(long first) {
+ this.first = DateTimeHelper.format(first);
}
- public String getFirst() {
- return this.first;
+ public long getFirst() {
+ return DateTimeHelper.parse(this.first);
}
private String last;
- public void setLast(String last) {
- this.last = last;
+ public void setLast(long last) {
+ this.last = DateTimeHelper.format(last);
}
- public String getLast() {
- return this.last;
+ public long getLast() {
+ return DateTimeHelper.parse(this.last);
}
private Integer interval;
diff --git a/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java b/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java
index 142b591..9196153 100644
--- a/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java
+++ b/src/main/java/org/torproject/onionoo/docs/DetailsDocument.java
@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringEscapeUtils;
+import org.torproject.onionoo.util.DateTimeHelper;
public class DetailsDocument extends Document {
@@ -75,28 +76,29 @@ public class DetailsDocument extends Document {
}
private String last_seen;
- public void setLastSeen(String lastSeen) {
- this.last_seen = lastSeen;
+ public void setLastSeen(long lastSeen) {
+ this.last_seen = DateTimeHelper.format(lastSeen);
}
- public String getLastSeen() {
- return this.last_seen;
+ public long getLastSeen() {
+ return DateTimeHelper.parse(this.last_seen);
}
private String last_changed_address_or_port;
public void setLastChangedAddressOrPort(
- String lastChangedAddressOrPort) {
- this.last_changed_address_or_port = lastChangedAddressOrPort;
+ long lastChangedAddressOrPort) {
+ this.last_changed_address_or_port = DateTimeHelper.format(
+ lastChangedAddressOrPort);
}
- public String getLastChangedAddressOrPort() {
- return this.last_changed_address_or_port;
+ public long getLastChangedAddressOrPort() {
+ return DateTimeHelper.parse(this.last_changed_address_or_port);
}
private String first_seen;
- public void setFirstSeen(String firstSeen) {
- this.first_seen = firstSeen;
+ public void setFirstSeen(long firstSeen) {
+ this.first_seen = DateTimeHelper.format(firstSeen);
}
- public String getFirstSeen() {
- return this.first_seen;
+ public long getFirstSeen() {
+ return DateTimeHelper.parse(this.first_seen);
}
private Boolean running;
@@ -196,11 +198,11 @@ public class DetailsDocument extends Document {
}
private String last_restarted;
- public void setLastRestarted(String lastRestarted) {
- this.last_restarted = lastRestarted;
+ public void setLastRestarted(long lastRestarted) {
+ this.last_restarted = DateTimeHelper.format(lastRestarted);
}
- public String getLastRestarted() {
- return this.last_restarted;
+ public long getLastRestarted() {
+ return DateTimeHelper.parse(this.last_restarted);
}
private Integer bandwidth_rate;
diff --git a/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java b/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java
index a19b4b9..77ab269 100644
--- a/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java
+++ b/src/main/java/org/torproject/onionoo/docs/DetailsStatus.java
@@ -6,6 +6,7 @@ import java.util.List;
import java.util.Map;
import org.apache.commons.lang.StringEscapeUtils;
+import org.torproject.onionoo.util.DateTimeHelper;
public class DetailsStatus extends Document {
@@ -27,19 +28,19 @@ public class DetailsStatus extends Document {
}
private String desc_published;
- public void setDescPublished(String descPublished) {
- this.desc_published = descPublished;
+ public void setDescPublished(long descPublished) {
+ this.desc_published = DateTimeHelper.format(descPublished);
}
- public String getDescPublished() {
- return this.desc_published;
+ public long getDescPublished() {
+ return DateTimeHelper.parse(this.desc_published);
}
private String last_restarted;
- public void setLastRestarted(String lastRestarted) {
- this.last_restarted = lastRestarted;
+ public void setLastRestarted(long lastRestarted) {
+ this.last_restarted = DateTimeHelper.format(lastRestarted);
}
- public String getLastRestarted() {
- return this.last_restarted;
+ public long getLastRestarted() {
+ return DateTimeHelper.parse(this.last_restarted);
}
private Integer bandwidth_rate;
diff --git a/src/main/java/org/torproject/onionoo/docs/GraphHistory.java b/src/main/java/org/torproject/onionoo/docs/GraphHistory.java
index 19ace31..10941db 100644
--- a/src/main/java/org/torproject/onionoo/docs/GraphHistory.java
+++ b/src/main/java/org/torproject/onionoo/docs/GraphHistory.java
@@ -4,22 +4,24 @@ package org.torproject.onionoo.docs;
import java.util.List;
+import org.torproject.onionoo.util.DateTimeHelper;
+
public class GraphHistory {
private String first;
- public void setFirst(String first) {
- this.first = first;
+ public void setFirst(long first) {
+ this.first = DateTimeHelper.format(first);
}
- public String getFirst() {
- return this.first;
+ public long getFirst() {
+ return DateTimeHelper.parse(this.first);
}
private String last;
- public void setLast(String last) {
- this.last = last;
+ public void setLast(long last) {
+ this.last = DateTimeHelper.format(last);
}
- public String getLast() {
- return this.last;
+ public long getLast() {
+ return DateTimeHelper.parse(this.last);
}
private Integer interval;
diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndex.java b/src/main/java/org/torproject/onionoo/server/NodeIndex.java
index 7b95d2e..f2859a5 100644
--- a/src/main/java/org/torproject/onionoo/server/NodeIndex.java
+++ b/src/main/java/org/torproject/onionoo/server/NodeIndex.java
@@ -6,20 +6,23 @@ import java.util.Set;
import java.util.SortedMap;
import org.torproject.onionoo.docs.SummaryDocument;
+import org.torproject.onionoo.util.DateTimeHelper;
class NodeIndex {
private String relaysPublishedString;
- public void setRelaysPublishedString(String relaysPublishedString) {
- this.relaysPublishedString = relaysPublishedString;
+ public void setRelaysPublishedMillis(long relaysPublishedMillis) {
+ this.relaysPublishedString =
+ DateTimeHelper.format(relaysPublishedMillis);
}
public String getRelaysPublishedString() {
return relaysPublishedString;
}
private String bridgesPublishedString;
- public void setBridgesPublishedString(String bridgesPublishedString) {
- this.bridgesPublishedString = bridgesPublishedString;
+ public void setBridgesPublishedMillis(long bridgesPublishedMillis) {
+ this.bridgesPublishedString =
+ DateTimeHelper.format(bridgesPublishedMillis);
}
public String getBridgesPublishedString() {
return bridgesPublishedString;
diff --git a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
index f72d322..1cbd75e 100644
--- a/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
+++ b/src/main/java/org/torproject/onionoo/server/NodeIndexer.java
@@ -286,10 +286,8 @@ public class NodeIndexer implements ServletContextListener, Runnable {
newNodeIndex.setRelaysByLastSeenDays(newRelaysByLastSeenDays);
newNodeIndex.setBridgesByFirstSeenDays(newBridgesByFirstSeenDays);
newNodeIndex.setBridgesByLastSeenDays(newBridgesByLastSeenDays);
- newNodeIndex.setRelaysPublishedString(DateTimeHelper.format(
- relaysLastValidAfterMillis));
- newNodeIndex.setBridgesPublishedString(DateTimeHelper.format(
- bridgesLastPublishedMillis));
+ newNodeIndex.setRelaysPublishedMillis(relaysLastValidAfterMillis);
+ newNodeIndex.setBridgesPublishedMillis(bridgesLastPublishedMillis);
synchronized (this) {
this.lastIndexed = updateStatusMillis;
this.latestNodeIndex = newNodeIndex;
diff --git a/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java b/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
index 979c49b..827c890 100644
--- a/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
+++ b/src/main/java/org/torproject/onionoo/updater/NodeDetailsStatusUpdater.java
@@ -105,25 +105,21 @@ public class NodeDetailsStatusUpdater implements DescriptorListener,
String fingerprint = descriptor.getFingerprint();
DetailsStatus detailsStatus = this.documentStore.retrieve(
DetailsStatus.class, true, fingerprint);
- String publishedDateTime =
- DateTimeHelper.format(descriptor.getPublishedMillis());
if (detailsStatus == null) {
detailsStatus = new DetailsStatus();
- } else if (detailsStatus.getDescPublished() != null &&
- publishedDateTime.compareTo(
- detailsStatus.getDescPublished()) <= 0) {
+ } else if (descriptor.getPublishedMillis() >
+ detailsStatus.getDescPublished()) {
return;
}
- String lastRestartedString = DateTimeHelper.format(
- descriptor.getPublishedMillis() - descriptor.getUptime()
- * DateTimeHelper.ONE_SECOND);
+ long lastRestartedMillis = descriptor.getPublishedMillis()
+ - descriptor.getUptime() * DateTimeHelper.ONE_SECOND;
int bandwidthRate = descriptor.getBandwidthRate();
int bandwidthBurst = descriptor.getBandwidthBurst();
int observedBandwidth = descriptor.getBandwidthObserved();
int advertisedBandwidth = Math.min(bandwidthRate,
Math.min(bandwidthBurst, observedBandwidth));
- detailsStatus.setDescPublished(publishedDateTime);
- detailsStatus.setLastRestarted(lastRestartedString);
+ detailsStatus.setDescPublished(descriptor.getPublishedMillis());
+ detailsStatus.setLastRestarted(lastRestartedMillis);
detailsStatus.setBandwidthRate(bandwidthRate);
detailsStatus.setBandwidthBurst(bandwidthBurst);
detailsStatus.setObservedBandwidth(observedBandwidth);
@@ -227,23 +223,19 @@ public class NodeDetailsStatusUpdater implements DescriptorListener,
String fingerprint = descriptor.getFingerprint();
DetailsStatus detailsStatus = this.documentStore.retrieve(
DetailsStatus.class, true, fingerprint);
- String publishedDateTime =
- DateTimeHelper.format(descriptor.getPublishedMillis());
if (detailsStatus == null) {
detailsStatus = new DetailsStatus();
- } else if (detailsStatus.getDescPublished() != null &&
- publishedDateTime.compareTo(
- detailsStatus.getDescPublished()) <= 0) {
+ } else if (detailsStatus.getDescPublished() >
+ descriptor.getPublishedMillis()) {
return;
}
- String lastRestartedString = DateTimeHelper.format(
- descriptor.getPublishedMillis() - descriptor.getUptime()
- * DateTimeHelper.ONE_SECOND);
+ long lastRestartedMillis = descriptor.getPublishedMillis()
+ - descriptor.getUptime() * DateTimeHelper.ONE_SECOND;
int advertisedBandwidth = Math.min(descriptor.getBandwidthRate(),
Math.min(descriptor.getBandwidthBurst(),
descriptor.getBandwidthObserved()));
- detailsStatus.setDescPublished(publishedDateTime);
- detailsStatus.setLastRestarted(lastRestartedString);
+ detailsStatus.setDescPublished(descriptor.getPublishedMillis());
+ detailsStatus.setLastRestarted(lastRestartedMillis);
detailsStatus.setAdvertisedBandwidth(advertisedBandwidth);
detailsStatus.setPlatform(descriptor.getPlatform());
this.documentStore.store(detailsStatus, fingerprint);
diff --git a/src/main/java/org/torproject/onionoo/writer/BandwidthDocumentWriter.java b/src/main/java/org/torproject/onionoo/writer/BandwidthDocumentWriter.java
index c5ae22e..5ce467c 100644
--- a/src/main/java/org/torproject/onionoo/writer/BandwidthDocumentWriter.java
+++ b/src/main/java/org/torproject/onionoo/writer/BandwidthDocumentWriter.java
@@ -168,8 +168,8 @@ public class BandwidthDocumentWriter implements FingerprintListener,
double factor = ((double) maxValue) / 999.0;
int count = lastNonNullIndex - firstNonNullIndex + 1;
GraphHistory graphHistory = new GraphHistory();
- graphHistory.setFirst(DateTimeHelper.format(firstDataPointMillis));
- graphHistory.setLast(DateTimeHelper.format(lastDataPointMillis));
+ graphHistory.setFirst(firstDataPointMillis);
+ graphHistory.setLast(lastDataPointMillis);
graphHistory.setInterval((int) (dataPointInterval
/ DateTimeHelper.ONE_SECOND));
graphHistory.setFactor(factor);
diff --git a/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java b/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java
index ae64f86..6684db7 100644
--- a/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java
+++ b/src/main/java/org/torproject/onionoo/writer/ClientsDocumentWriter.java
@@ -227,8 +227,8 @@ public class ClientsDocumentWriter implements FingerprintListener,
double factor = ((double) maxValue) / 999.0;
int count = lastNonNullIndex - firstNonNullIndex + 1;
ClientsGraphHistory graphHistory = new ClientsGraphHistory();
- graphHistory.setFirst(DateTimeHelper.format(firstDataPointMillis));
- graphHistory.setLast(DateTimeHelper.format(lastDataPointMillis));
+ graphHistory.setFirst(firstDataPointMillis);
+ graphHistory.setLast(lastDataPointMillis);
graphHistory.setInterval((int) (dataPointInterval
/ DateTimeHelper.ONE_SECOND));
graphHistory.setFactor(factor);
diff --git a/src/main/java/org/torproject/onionoo/writer/DetailsDocumentWriter.java b/src/main/java/org/torproject/onionoo/writer/DetailsDocumentWriter.java
index 8e2cb9f..8d69079 100644
--- a/src/main/java/org/torproject/onionoo/writer/DetailsDocumentWriter.java
+++ b/src/main/java/org/torproject/onionoo/writer/DetailsDocumentWriter.java
@@ -92,12 +92,10 @@ public class DetailsDocumentWriter implements FingerprintListener,
detailsDocument.setDirAddress(entry.getAddress() + ":"
+ entry.getDirPort());
}
- detailsDocument.setLastSeen(DateTimeHelper.format(
- entry.getLastSeenMillis()));
- detailsDocument.setFirstSeen(DateTimeHelper.format(
- entry.getFirstSeenMillis()));
+ detailsDocument.setLastSeen(entry.getLastSeenMillis());
+ detailsDocument.setFirstSeen(entry.getFirstSeenMillis());
detailsDocument.setLastChangedAddressOrPort(
- DateTimeHelper.format(entry.getLastChangedOrAddress()));
+ entry.getLastChangedOrAddress());
detailsDocument.setRunning(entry.getRunning());
if (!entry.getRelayFlags().isEmpty()) {
detailsDocument.setFlags(new ArrayList<String>(
@@ -202,10 +200,8 @@ public class DetailsDocumentWriter implements FingerprintListener,
orAddresses.add(orAddress.toLowerCase());
}
detailsDocument.setOrAddresses(orAddresses);
- detailsDocument.setLastSeen(DateTimeHelper.format(
- entry.getLastSeenMillis()));
- detailsDocument.setFirstSeen(DateTimeHelper.format(
- entry.getFirstSeenMillis()));
+ detailsDocument.setLastSeen(entry.getLastSeenMillis());
+ detailsDocument.setFirstSeen(entry.getFirstSeenMillis());
detailsDocument.setRunning(entry.getRunning());
detailsDocument.setFlags(new ArrayList<String>(
entry.getRelayFlags()));
diff --git a/src/main/java/org/torproject/onionoo/writer/UptimeDocumentWriter.java b/src/main/java/org/torproject/onionoo/writer/UptimeDocumentWriter.java
index f58ec93..71f4d9a 100644
--- a/src/main/java/org/torproject/onionoo/writer/UptimeDocumentWriter.java
+++ b/src/main/java/org/torproject/onionoo/writer/UptimeDocumentWriter.java
@@ -267,8 +267,8 @@ public class UptimeDocumentWriter implements FingerprintListener,
+ (lastNonNullIndex - firstNonNullIndex) * dataPointInterval;
int count = lastNonNullIndex - firstNonNullIndex + 1;
GraphHistory graphHistory = new GraphHistory();
- graphHistory.setFirst(DateTimeHelper.format(firstDataPointMillis));
- graphHistory.setLast(DateTimeHelper.format(lastDataPointMillis));
+ graphHistory.setFirst(firstDataPointMillis);
+ graphHistory.setLast(lastDataPointMillis);
graphHistory.setInterval((int) (dataPointInterval
/ DateTimeHelper.ONE_SECOND));
graphHistory.setFactor(1.0 / 999.0);
diff --git a/src/main/java/org/torproject/onionoo/writer/WeightsDocumentWriter.java b/src/main/java/org/torproject/onionoo/writer/WeightsDocumentWriter.java
index e0601c1..cfb410c 100644
--- a/src/main/java/org/torproject/onionoo/writer/WeightsDocumentWriter.java
+++ b/src/main/java/org/torproject/onionoo/writer/WeightsDocumentWriter.java
@@ -199,8 +199,8 @@ public class WeightsDocumentWriter implements FingerprintListener,
double factor = ((double) maxValue) / 999.0;
int count = lastNonNullIndex - firstNonNullIndex + 1;
GraphHistory graphHistory = new GraphHistory();
- graphHistory.setFirst(DateTimeHelper.format(firstDataPointMillis));
- graphHistory.setLast(DateTimeHelper.format(lastDataPointMillis));
+ graphHistory.setFirst(firstDataPointMillis);
+ graphHistory.setLast(lastDataPointMillis);
graphHistory.setInterval((int) (dataPointInterval
/ DateTimeHelper.ONE_SECOND));
graphHistory.setFactor(factor);
diff --git a/src/test/java/org/torproject/onionoo/UptimeDocumentWriterTest.java b/src/test/java/org/torproject/onionoo/UptimeDocumentWriterTest.java
index f430c0b..afae0e8 100644
--- a/src/test/java/org/torproject/onionoo/UptimeDocumentWriterTest.java
+++ b/src/test/java/org/torproject/onionoo/UptimeDocumentWriterTest.java
@@ -97,10 +97,10 @@ public class UptimeDocumentWriterTest {
assertTrue("Should contain a graph for " + graphName + ".",
document.getUptime().containsKey(graphName));
GraphHistory history = document.getUptime().get(graphName);
- assertEquals("First data point should be " + first + ".", first,
- history.getFirst());
- assertEquals("Last data point should be " + last + ".", last,
- history.getLast());
+ assertEquals("First data point should be " + first + ".",
+ DateTimeHelper.parse(first), history.getFirst());
+ assertEquals("Last data point should be " + last + ".",
+ DateTimeHelper.parse(last), history.getLast());
assertEquals("Interval should be " + interval + " seconds.", interval,
(int) history.getInterval());
assertEquals("Factor should be 1.0 / 999.0.", 1.0 / 999.0,
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits