Add CLOSE_MS and CLOSE_RATE keywords to buildtimeout event.

This commit is contained in:
Mike Perry
2010-06-15 18:02:19 -07:00
parent 82922ea45a
commit 2abe1ceccf
4 changed files with 30 additions and 4 deletions
+19
View File
@@ -1088,6 +1088,25 @@ circuit_build_times_timeout_rate(const circuit_build_times_t *cbt)
return ((double)timeouts)/cbt->total_build_times;
}
/**
* Count the number of closed circuits in a set of cbt data.
*/
double
circuit_build_times_close_rate(const circuit_build_times_t *cbt)
{
int i=0,closed=0;
for (i = 0; i < CBT_NCIRCUITS_TO_OBSERVE; i++) {
if (cbt->circuit_build_times[i] == CBT_BUILD_ABANDONED) {
closed++;
}
}
if (!cbt->total_build_times)
return 0;
return ((double)closed)/cbt->total_build_times;
}
/**
* Store a timeout as a synthetic value.
*
+4 -2
View File
@@ -3530,11 +3530,13 @@ control_event_buildtimeout_set(const circuit_build_times_t *cbt,
send_control_event(EVENT_BUILDTIMEOUT_SET, ALL_FORMATS,
"650 BUILDTIMEOUT_SET %s TOTAL_TIMES=%lu "
"TIMEOUT_MS=%lu XM=%lu ALPHA=%lf CUTOFF_QUANTILE=%lf "
"TIMEOUT_RATE=%lf\r\n",
"TIMEOUT_RATE=%lf CLOSE_MS=%lu CLOSE_RATE=%lf\r\n",
type_string, (unsigned long)cbt->total_build_times,
(unsigned long)cbt->timeout_ms,
(unsigned long)cbt->Xm, cbt->alpha, qnt,
circuit_build_times_timeout_rate(cbt));
circuit_build_times_timeout_rate(cbt),
(unsigned long)cbt->close_ms,
circuit_build_times_close_rate(cbt));
return 0;
}
+1
View File
@@ -3173,6 +3173,7 @@ void circuit_build_times_init(circuit_build_times_t *cbt);
void circuit_build_times_new_consensus_params(circuit_build_times_t *cbt,
networkstatus_t *ns);
double circuit_build_times_timeout_rate(const circuit_build_times_t *cbt);
double circuit_build_times_close_rate(const circuit_build_times_t *cbt);
#ifdef CIRCUIT_PRIVATE
double circuit_build_times_calculate_timeout(circuit_build_times_t *cbt,