Commit e19d9663 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

r19118@catbus: nickm | 2008-03-29 00:27:08 -0400

 Code (disabled) to get way too much info about the contents of old_routers on USR1.


svn:r14230
parent e89bf1c5
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -2939,6 +2939,7 @@ connection_dirserv_finish_spooling(dir_connection_t *conn)
static int
connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn)
{
  time_t now = time(NULL);
  int by_fp = (conn->dir_spool_src == DIR_SPOOL_SERVER_BY_FP ||
               conn->dir_spool_src == DIR_SPOOL_EXTRA_BY_FP);
  int extra = (conn->dir_spool_src == DIR_SPOOL_EXTRA_BY_FP ||
@@ -2966,7 +2967,7 @@ connection_dirserv_add_servers_to_outbuf(dir_connection_t *conn)
       * unknown bridge descriptor has shown up between then and now. */
      continue;
    }

    sd->last_served_at = now;
    body = signed_descriptor_get_body(sd);
    if (conn->zlib_state) {
      int last = ! smartlist_len(conn->fingerprint_stack);
+2 −0
Original line number Diff line number Diff line
@@ -1221,6 +1221,8 @@ typedef struct signed_descriptor_t {
  /** The valid-until time of the most recent consensus that listed this
   * descriptor.  0 for "never listed in a consensus, so far as we know." */
  time_t last_listed_as_valid_until;
  /** DOCDOC */
  time_t last_served_at; /*XXXX021 remove if not useful. */
  /* If true, we do not ever try to save this object in the cache. */
  unsigned int do_not_cache : 1;
  /* If true, this item is meant to represent an extrainfo. */
+33 −1
Original line number Diff line number Diff line
@@ -2247,11 +2247,43 @@ dump_routerlist_mem_usage(int severity)
  SMARTLIST_FOREACH(routerlist->old_routers, signed_descriptor_t *, sd,
                    olddescs += sd->signed_descriptor_len);

  log(severity, LD_GENERAL,
  log(severity, LD_DIR,
      "In %d live descriptors: "U64_FORMAT" bytes.  "
      "In %d old descriptors: "U64_FORMAT" bytes.",
      smartlist_len(routerlist->routers), U64_PRINTF_ARG(livedescs),
      smartlist_len(routerlist->old_routers), U64_PRINTF_ARG(olddescs));

#if 0
  {
    const smartlist_t *networkstatus_v2_list = networkstatus_get_v2_list();
    networkstatus_t *consensus = networkstatus_get_latest_consensus();
    log(severity, LD_DIR, "Now let's look through old_descriptors!");
    SMARTLIST_FOREACH(routerlist->old_routers, signed_descriptor_t *, sd, {
        int in_v2 = 0;
        int in_v3 = 0;
        char published[ISO_TIME_LEN+1];
        char last_valid_until[ISO_TIME_LEN+1];
        char last_served_at[ISO_TIME_LEN+1];
        char id[HEX_DIGEST_LEN+1];
        format_iso_time(published, sd->published_on);
        format_iso_time(last_valid_until, sd->last_listed_as_valid_until);
        format_iso_time(last_served_at, sd->last_served_at);
        base16_encode(id, sizeof(id), sd->identity_digest, DIGEST_LEN);
        SMARTLIST_FOREACH(networkstatus_v2_list, networkstatus_v2_t *, ns,
          if (networkstatus_v2_find_entry(ns, sd->identity_digest)) {
            in_v2 = 1; break;
          });
        if (consensus && networkstatus_vote_find_entry(consensus,
                                                       sd->identity_digest))
          in_v3 = 1;
        log(severity, LD_DIR,
            "Old descriptor for %s (published %s) %sin v2 ns, %sin v3 "
            "consensus.  Last valid until %s; last served at %s.",
            id, published, in_v2 ? "" : "not ", in_v3 ? "" : "not ",
            last_valid_until, last_served_at);
    });
  }
#endif
}

static INLINE int