mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2025-02-25 15:10:48 +01:00
Add a timestamp field to the CIRC_BW and STREAM_BW events
Closes ticket 19254.
This commit is contained in:
parent
cd77ea782e
commit
2be4f793e6
2 changed files with 25 additions and 6 deletions
3
changes/feature19254
Normal file
3
changes/feature19254
Normal file
|
@ -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".
|
|
@ -5567,15 +5567,20 @@ control_event_stream_bandwidth(edge_connection_t *edge_conn)
|
||||||
{
|
{
|
||||||
circuit_t *circ;
|
circuit_t *circ;
|
||||||
origin_circuit_t *ocirc;
|
origin_circuit_t *ocirc;
|
||||||
|
struct timeval now;
|
||||||
|
char tbuf[ISO_TIME_USEC_LEN+1];
|
||||||
if (EVENT_IS_INTERESTING(EVENT_STREAM_BANDWIDTH_USED)) {
|
if (EVENT_IS_INTERESTING(EVENT_STREAM_BANDWIDTH_USED)) {
|
||||||
if (!edge_conn->n_read && !edge_conn->n_written)
|
if (!edge_conn->n_read && !edge_conn->n_written)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
tor_gettimeofday(&now);
|
||||||
|
format_iso_time_nospace_usec(tbuf, &now);
|
||||||
send_control_event(EVENT_STREAM_BANDWIDTH_USED,
|
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),
|
U64_PRINTF_ARG(edge_conn->base_.global_identifier),
|
||||||
(unsigned long)edge_conn->n_read,
|
(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);
|
circ = circuit_get_by_edge_conn(edge_conn);
|
||||||
if (circ && CIRCUIT_IS_ORIGIN(circ)) {
|
if (circ && CIRCUIT_IS_ORIGIN(circ)) {
|
||||||
|
@ -5597,6 +5602,8 @@ control_event_stream_bandwidth_used(void)
|
||||||
if (EVENT_IS_INTERESTING(EVENT_STREAM_BANDWIDTH_USED)) {
|
if (EVENT_IS_INTERESTING(EVENT_STREAM_BANDWIDTH_USED)) {
|
||||||
smartlist_t *conns = get_connection_array();
|
smartlist_t *conns = get_connection_array();
|
||||||
edge_connection_t *edge_conn;
|
edge_connection_t *edge_conn;
|
||||||
|
struct timeval now;
|
||||||
|
char tbuf[ISO_TIME_USEC_LEN+1];
|
||||||
|
|
||||||
SMARTLIST_FOREACH_BEGIN(conns, connection_t *, conn)
|
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)
|
if (!edge_conn->n_read && !edge_conn->n_written)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
tor_gettimeofday(&now);
|
||||||
|
format_iso_time_nospace_usec(tbuf, &now);
|
||||||
send_control_event(EVENT_STREAM_BANDWIDTH_USED,
|
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),
|
U64_PRINTF_ARG(edge_conn->base_.global_identifier),
|
||||||
(unsigned long)edge_conn->n_read,
|
(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;
|
edge_conn->n_written = edge_conn->n_read = 0;
|
||||||
}
|
}
|
||||||
|
@ -5626,6 +5636,8 @@ int
|
||||||
control_event_circ_bandwidth_used(void)
|
control_event_circ_bandwidth_used(void)
|
||||||
{
|
{
|
||||||
origin_circuit_t *ocirc;
|
origin_circuit_t *ocirc;
|
||||||
|
struct timeval now;
|
||||||
|
char tbuf[ISO_TIME_USEC_LEN+1];
|
||||||
if (!EVENT_IS_INTERESTING(EVENT_CIRC_BANDWIDTH_USED))
|
if (!EVENT_IS_INTERESTING(EVENT_CIRC_BANDWIDTH_USED))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -5635,11 +5647,15 @@ control_event_circ_bandwidth_used(void)
|
||||||
ocirc = TO_ORIGIN_CIRCUIT(circ);
|
ocirc = TO_ORIGIN_CIRCUIT(circ);
|
||||||
if (!ocirc->n_read_circ_bw && !ocirc->n_written_circ_bw)
|
if (!ocirc->n_read_circ_bw && !ocirc->n_written_circ_bw)
|
||||||
continue;
|
continue;
|
||||||
|
tor_gettimeofday(&now);
|
||||||
|
format_iso_time_nospace_usec(tbuf, &now);
|
||||||
send_control_event(EVENT_CIRC_BANDWIDTH_USED,
|
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,
|
ocirc->global_identifier,
|
||||||
(unsigned long)ocirc->n_read_circ_bw,
|
(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;
|
ocirc->n_written_circ_bw = ocirc->n_read_circ_bw = 0;
|
||||||
}
|
}
|
||||||
SMARTLIST_FOREACH_END(circ);
|
SMARTLIST_FOREACH_END(circ);
|
||||||
|
|
Loading…
Add table
Reference in a new issue