Переглянути джерело

parameterize RephistTrackTime

svn:r4673
Roger Dingledine 19 роки тому
батько
коміт
1e0fdcae98
4 змінених файлів з 7 додано та 3 видалено
  1. 1 0
      src/or/config.c
  2. 4 2
      src/or/main.c
  3. 1 0
      src/or/or.h
  4. 1 1
      src/or/rephist.c

+ 1 - 0
src/or/config.c

@@ -163,6 +163,7 @@ static config_var_t _config_vars[] = {
   VAR("LongLivedPorts",      CSV,      LongLivedPorts,       "21,22,706,1863,5050,5190,5222,5223,6667,8300,8888"),
   VAR("PathlenCoinWeight",   DOUBLE,   PathlenCoinWeight,    "0.3"),
   VAR("RedirectExit",        LINELIST, RedirectExit,         NULL),
+  VAR("RephistTrackTime",    INTERVAL, RephistTrackTime,     "24 hours"),
   OBSOLETE("RouterFile"),
   VAR("RunAsDaemon",         BOOL,     RunAsDaemon,          "0"),
   VAR("RunTesting",          BOOL,     RunTesting,           "0"),

+ 4 - 2
src/or/main.c

@@ -709,7 +709,7 @@ run_scheduled_events(time_t now)
     }
 
     /* Also, take this chance to remove old information from rephist. */
-    rep_history_clean(now-24*60*60);
+    rep_history_clean(now - options->RephistTrackTime);
   }
 
   if (time_to_fetch_running_routers < now) {
@@ -873,8 +873,10 @@ second_elapsed_callback(int fd, short event, void *args)
   current_second = now.tv_sec; /* remember which second it is, for next time */
 
 #if 0
-  if (current_second % 60 == 0)
+  if (current_second % 300 == 0) {
+    rep_history_clean(now - options->RephistTrackTime);
     dumpmemusage(get_min_log_level()<LOG_INFO ? get_min_log_level() : LOG_INFO);
+  }
 #endif
 
   if (evtimer_add(timeout_event, &one_second))

+ 1 - 0
src/or/or.h

@@ -1173,6 +1173,7 @@ typedef struct {
   int UseHelperNodes; /**< Boolean: Do we try to enter from a smallish number
                        * of fixed nodes? */
   int NumHelperNodes; /**< How many helper nodes do we try to establish? */
+  int RephistTrackTime; /**< How many seconds do we keep rephist info? */
 } or_options_t;
 
 #define MAX_SOCKS_REPLY_LEN 1024

+ 1 - 1
src/or/rephist.c

@@ -290,7 +290,7 @@ rep_hist_dump_stats(time_t now, int severity)
   unsigned long upt, downt;
   routerinfo_t *r;
 
-  rep_history_clean(now-24*60*60);
+  rep_history_clean(now - get_options()->RephistTrackTime);
 
   log(severity, "--------------- Dumping history information:");