[tor-commits] [tor/master] Add a timestamp field to the CIRC_BW and STREAM_BW events

nickm at torproject.org nickm at torproject.org
Fri Sep 15 15:53:08 UTC 2017


commit 2be4f793e63e3e998e95bc678a231f225ccad441
Author: Donncha O'Cearbhaill <donncha at donncha.is>
Date:   Fri Jun 3 10:45:38 2016 +0100

    Add a timestamp field to the CIRC_BW and STREAM_BW events
    
    Closes ticket 19254.
---
 changes/feature19254 |  3 +++
 src/or/control.c     | 28 ++++++++++++++++++++++------
 2 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/changes/feature19254 b/changes/feature19254
new file mode 100644
index 000000000..598ecc88d
--- /dev/null
+++ b/changes/feature19254
@@ -0,0 +1,3 @@
+  o Minor features (controller):
+    - Adds a timestamp field to the CIRC_BW and STREAM_BW bandwidth
+      events. Closes ticket 19254. Patch by "DonnchaC".
diff --git a/src/or/control.c b/src/or/control.c
index dc431d6d5..2d1c60295 100644
--- a/src/or/control.c
+++ b/src/or/control.c
@@ -5567,15 +5567,20 @@ control_event_stream_bandwidth(edge_connection_t *edge_conn)
 {
   circuit_t *circ;
   origin_circuit_t *ocirc;
+  struct timeval now;
+  char tbuf[ISO_TIME_USEC_LEN+1];
   if (EVENT_IS_INTERESTING(EVENT_STREAM_BANDWIDTH_USED)) {
     if (!edge_conn->n_read && !edge_conn->n_written)
       return 0;
 
+    tor_gettimeofday(&now);
+    format_iso_time_nospace_usec(tbuf, &now);
     send_control_event(EVENT_STREAM_BANDWIDTH_USED,
-                       "650 STREAM_BW "U64_FORMAT" %lu %lu\r\n",
+                       "650 STREAM_BW "U64_FORMAT" %lu %lu %s\r\n",
                        U64_PRINTF_ARG(edge_conn->base_.global_identifier),
                        (unsigned long)edge_conn->n_read,
-                       (unsigned long)edge_conn->n_written);
+                       (unsigned long)edge_conn->n_written,
+                       tbuf);
 
     circ = circuit_get_by_edge_conn(edge_conn);
     if (circ && CIRCUIT_IS_ORIGIN(circ)) {
@@ -5597,6 +5602,8 @@ control_event_stream_bandwidth_used(void)
   if (EVENT_IS_INTERESTING(EVENT_STREAM_BANDWIDTH_USED)) {
     smartlist_t *conns = get_connection_array();
     edge_connection_t *edge_conn;
+    struct timeval now;
+    char tbuf[ISO_TIME_USEC_LEN+1];
 
     SMARTLIST_FOREACH_BEGIN(conns, connection_t *, conn)
     {
@@ -5606,11 +5613,14 @@ control_event_stream_bandwidth_used(void)
         if (!edge_conn->n_read && !edge_conn->n_written)
           continue;
 
+        tor_gettimeofday(&now);
+        format_iso_time_nospace_usec(tbuf, &now);
         send_control_event(EVENT_STREAM_BANDWIDTH_USED,
-                           "650 STREAM_BW "U64_FORMAT" %lu %lu\r\n",
+                           "650 STREAM_BW "U64_FORMAT" %lu %lu %s\r\n",
                            U64_PRINTF_ARG(edge_conn->base_.global_identifier),
                            (unsigned long)edge_conn->n_read,
-                           (unsigned long)edge_conn->n_written);
+                           (unsigned long)edge_conn->n_written,
+                           tbuf);
 
         edge_conn->n_written = edge_conn->n_read = 0;
     }
@@ -5626,6 +5636,8 @@ int
 control_event_circ_bandwidth_used(void)
 {
   origin_circuit_t *ocirc;
+  struct timeval now;
+  char tbuf[ISO_TIME_USEC_LEN+1];
   if (!EVENT_IS_INTERESTING(EVENT_CIRC_BANDWIDTH_USED))
     return 0;
 
@@ -5635,11 +5647,15 @@ control_event_circ_bandwidth_used(void)
     ocirc = TO_ORIGIN_CIRCUIT(circ);
     if (!ocirc->n_read_circ_bw && !ocirc->n_written_circ_bw)
       continue;
+    tor_gettimeofday(&now);
+    format_iso_time_nospace_usec(tbuf, &now);
     send_control_event(EVENT_CIRC_BANDWIDTH_USED,
-                       "650 CIRC_BW ID=%d READ=%lu WRITTEN=%lu\r\n",
+                       "650 CIRC_BW ID=%d READ=%lu WRITTEN=%lu "
+                       "TIME=%s\r\n",
                        ocirc->global_identifier,
                        (unsigned long)ocirc->n_read_circ_bw,
-                       (unsigned long)ocirc->n_written_circ_bw);
+                       (unsigned long)ocirc->n_written_circ_bw,
+                       tbuf);
     ocirc->n_written_circ_bw = ocirc->n_read_circ_bw = 0;
   }
   SMARTLIST_FOREACH_END(circ);





More information about the tor-commits mailing list