commit f3587ce: [Minor] Add ability to log mempool usage for a task
Vsevolod Stakhov
vsevolod at highsecure.ru
Thu Dec 12 20:28:08 UTC 2019
Author: Vsevolod Stakhov
Date: 2019-12-12 20:27:03 +0000
URL: https://github.com/rspamd/rspamd/commit/f3587ce1bebb7fcaf529f796dbcec6e436253c05 (HEAD -> master)
[Minor] Add ability to log mempool usage for a task
---
src/libserver/cfg_file.h | 2 ++
src/libserver/cfg_utils.c | 6 ++++++
src/libserver/task.c | 12 ++++++++++++
3 files changed, 20 insertions(+)
diff --git a/src/libserver/cfg_file.h b/src/libserver/cfg_file.h
index fbddd9096..8e1ce2c42 100644
--- a/src/libserver/cfg_file.h
+++ b/src/libserver/cfg_file.h
@@ -262,6 +262,8 @@ enum rspamd_log_format_type {
RSPAMD_LOG_SETTINGS_ID,
RSPAMD_LOG_GROUPS,
RSPAMD_LOG_PUBLIC_GROUPS,
+ RSPAMD_LOG_MEMPOOL_SIZE,
+ RSPAMD_LOG_MEMPOOL_WASTE,
};
enum rspamd_log_format_flags {
diff --git a/src/libserver/cfg_utils.c b/src/libserver/cfg_utils.c
index 857f7a0ac..76731eec4 100644
--- a/src/libserver/cfg_utils.c
+++ b/src/libserver/cfg_utils.c
@@ -518,6 +518,12 @@ rspamd_config_process_var (struct rspamd_config *cfg, const rspamd_ftok_t *var,
else if (rspamd_ftok_cstr_equal (&tok, "settings_id", TRUE)) {
type = RSPAMD_LOG_SETTINGS_ID;
}
+ else if (rspamd_ftok_cstr_equal (&tok, "mempool_size", TRUE)) {
+ type = RSPAMD_LOG_MEMPOOL_SIZE;
+ }
+ else if (rspamd_ftok_cstr_equal (&tok, "mempool_waste", TRUE)) {
+ type = RSPAMD_LOG_MEMPOOL_WASTE;
+ }
else {
msg_err_config ("unknown log variable: %T", &tok);
return FALSE;
diff --git a/src/libserver/task.c b/src/libserver/task.c
index 2fb9bf1d9..7cdce32f3 100644
--- a/src/libserver/task.c
+++ b/src/libserver/task.c
@@ -1544,6 +1544,18 @@ rspamd_task_log_variable (struct rspamd_task *task,
var.len = sizeof (undef) - 1;
}
break;
+ case RSPAMD_LOG_MEMPOOL_SIZE:
+ var.len = rspamd_snprintf (numbuf, sizeof (numbuf),
+ "%Hz",
+ task->task_pool->used_memory);
+ var.begin = numbuf;
+ break;
+ case RSPAMD_LOG_MEMPOOL_WASTE:
+ var.len = rspamd_snprintf (numbuf, sizeof (numbuf),
+ "%Hz",
+ task->task_pool->wasted_memory);
+ var.begin = numbuf;
+ break;
default:
var = rspamd_task_log_metric_res (task, lf);
break;
More information about the Commits
mailing list