Sfoglia il codice sorgente

* Add statistics for fuzzy storage

tags/0.3.0
cebka@lenovo-laptop 14 anni fa
parent
commit
164e887eca
3 ha cambiato i file con 13 aggiunte e 0 eliminazioni
  1. 2
    0
      src/controller.c
  2. 9
    0
      src/fuzzy_storage.c
  3. 2
    0
      src/main.h

+ 2
- 0
src/controller.c Vedi File

@@ -354,6 +354,8 @@ process_stat_command (struct controller_session *session)
r += snprintf (out_buf + r, sizeof (out_buf) - r, "Shared chunks allocated: %ld" CRLF, (long int)mem_st.shared_chunks_allocated);
r += snprintf (out_buf + r, sizeof (out_buf) - r, "Chunks freed: %ld" CRLF, (long int)mem_st.chunks_freed);
r += snprintf (out_buf + r, sizeof (out_buf) - r, "Oversized chunks: %ld" CRLF, (long int)mem_st.oversized_chunks);
r += snprintf (out_buf + r, sizeof (out_buf) - r, "Fuzzy hashes stored: %u" CRLF, session->worker->srv->stat->fuzzy_hashes);
r += snprintf (out_buf + r, sizeof (out_buf) - r, "Fuzzy hashes expired: %u" CRLF, session->worker->srv->stat->fuzzy_hashes_expired);
/* Now write statistics for each statfile */
cur_cl = g_list_first (session->cfg->classifiers);
while (cur_cl) {

+ 9
- 0
src/fuzzy_storage.c Vedi File

@@ -60,6 +60,7 @@ static uint32_t mods = 0;
/* For evtimer */
static struct timeval tmv;
static struct event tev;
static struct rspamd_stat *server_stat;

struct rspamd_fuzzy_node {
int32_t value;
@@ -141,6 +142,8 @@ sync_cache (struct rspamd_worker *wrk)
cur = g_list_next (cur);
g_queue_delete_link (hashes[i], tmp);
bloom_del (bf, node->h.hash_pipe);
server_stat->fuzzy_hashes_expired ++;
server_stat->fuzzy_hashes --;
g_free (node);
continue;
}
@@ -224,6 +227,7 @@ read_hashes_file (struct rspamd_worker *wrk)
}
g_queue_push_head (hashes[node->h.block_size % BUCKETS], node);
bloom_add (bf, node->h.hash_pipe);
server_stat->fuzzy_hashes ++;
}

(void)unlock_file (fd, FALSE);
@@ -314,6 +318,7 @@ process_write_command (struct fuzzy_cmd *cmd)
g_queue_push_head (hashes[cmd->blocksize % BUCKETS], h);
bloom_add (bf, cmd->hash);
mods++;
server_stat->fuzzy_hashes ++;
msg_info ("fuzzy hash was successfully added");

return TRUE;
@@ -345,6 +350,7 @@ process_delete_command (struct fuzzy_cmd *cmd)
g_queue_delete_link (hashes[cmd->blocksize % BUCKETS], tmp);
bloom_del (bf, cmd->hash);
msg_info ("fuzzy hash was successfully deleted");
server_stat->fuzzy_hashes --;
res = TRUE;
mods++;
continue;
@@ -468,6 +474,8 @@ start_fuzzy_storage (struct rspamd_worker *worker)

event_init ();

server_stat = worker->srv->stat;

init_signals (&signals, sig_handler);
sigprocmask (SIG_UNBLOCK, &signals.sa_mask, NULL);

@@ -503,6 +511,7 @@ start_fuzzy_storage (struct rspamd_worker *worker)

gperf_profiler_init (worker->srv->cfg, "fuzzy");


event_loop (0);
exit (EXIT_SUCCESS);
}

+ 2
- 0
src/main.h Vedi File

@@ -84,6 +84,8 @@ struct rspamd_stat {
unsigned int connections_count; /**< total connections count */
unsigned int control_connections_count; /**< connections count to control interface */
unsigned int messages_learned; /**< messages learned */
unsigned int fuzzy_hashes; /**< number of fuzzy hashes stored */
unsigned int fuzzy_hashes_expired; /**< number of fuzzy hashes expired */
};

/**

Loading…
Annulla
Salva