summaryrefslogtreecommitdiffstats
path: root/src/libserver
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2016-11-01 12:26:43 +0000
committerVsevolod Stakhov <vsevolod@highsecure.ru>2016-11-01 12:26:43 +0000
commitc1a32980153a8f90ce6e25fdf8ec7c8c769cd38a (patch)
tree4b7e998aa1bcb56e32c28a90201384313477b50c /src/libserver
parent31e9ec3a264940b74d05e1dd29758264039d224b (diff)
downloadrspamd-c1a32980153a8f90ce6e25fdf8ec7c8c769cd38a.tar.gz
rspamd-c1a32980153a8f90ce6e25fdf8ec7c8c769cd38a.zip
[Feature] Add frequency and time display to webui
Diffstat (limited to 'src/libserver')
-rw-r--r--src/libserver/symbols_cache.c26
-rw-r--r--src/libserver/symbols_cache.h12
2 files changed, 38 insertions, 0 deletions
diff --git a/src/libserver/symbols_cache.c b/src/libserver/symbols_cache.c
index 1313f0840..68b4ffa84 100644
--- a/src/libserver/symbols_cache.c
+++ b/src/libserver/symbols_cache.c
@@ -1934,6 +1934,32 @@ rspamd_symbols_cache_find_symbol (struct symbols_cache *cache, const gchar *name
return -1;
}
+gboolean
+rspamd_symbols_cache_stat_symbol (struct symbols_cache *cache,
+ const gchar *name,
+ guint *frequency,
+ gdouble *tm)
+{
+ struct cache_item *item;
+
+ g_assert (cache != NULL);
+
+ if (name == NULL) {
+ return FALSE;
+ }
+
+ item = g_hash_table_lookup (cache->items_by_symbol, name);
+
+ if (item != NULL) {
+ *frequency = item->frequency;
+ *tm = item->avg_time;
+
+ return TRUE;
+ }
+
+ return FALSE;
+}
+
static gint
rspamd_symbols_cache_find_symbol_parent (struct symbols_cache *cache,
const gchar *name)
diff --git a/src/libserver/symbols_cache.h b/src/libserver/symbols_cache.h
index 0b5ed3cb1..c9877a830 100644
--- a/src/libserver/symbols_cache.h
+++ b/src/libserver/symbols_cache.h
@@ -120,6 +120,18 @@ gint rspamd_symbols_cache_find_symbol (struct symbols_cache *cache,
const gchar *name);
/**
+ * Get statistics for a specific symbol
+ * @param cache
+ * @param name
+ * @param frequency
+ * @param tm
+ * @return
+ */
+gboolean rspamd_symbols_cache_stat_symbol (struct symbols_cache *cache,
+ const gchar *name,
+ guint *frequency,
+ gdouble *tm);
+/**
* Find symbol in cache by its id
* @param cache
* @param id