Browse Source

[Minor] Add ability to log mempool usage for a task

tags/2.3
Vsevolod Stakhov 4 years ago
parent
commit
f3587ce1be
3 changed files with 20 additions and 0 deletions
  1. 2
    0
      src/libserver/cfg_file.h
  2. 6
    0
      src/libserver/cfg_utils.c
  3. 12
    0
      src/libserver/task.c

+ 2
- 0
src/libserver/cfg_file.h View File

@@ -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 {

+ 6
- 0
src/libserver/cfg_utils.c View File

@@ -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;

+ 12
- 0
src/libserver/task.c View File

@@ -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;

Loading…
Cancel
Save