cyrus stats

This commit is contained in:
whottgen 2004-11-08 10:18:33 +00:00
parent 326f9f7b19
commit 06aaebadc4
2 changed files with 23 additions and 1 deletions

View File

@ -28,6 +28,7 @@
#include "smtp.h"
#include "htdns.h"
#include "htmalloc.h"
#include "stats.h"
#define SMM_LOCAL_PERM_NOK 101
#define SMM_LOCAL_TEMP_NOK 102
@ -125,9 +126,12 @@ int cyrus_work(void *handle, void *work_handle, char *input, char *output) {
syslog(LOG_DEBUG, "cyrus_work: (%04x) going to check %s", log_id, input);
incStatCounter(STAT_CNT_CYRUS_WORKER);
depot_uid = input;
if (NULL == (depot_host = strchr(depot_uid, ' '))) {
snprintf(output, ANSWER_BUFSIZE, ILLEGAL_INPUT);
incStatCounter(STAT_CNT_CYRUS_ILLEGAL_INPUT);
return SMM_PERM_NOK;
}
@ -140,6 +144,7 @@ int cyrus_work(void *handle, void *work_handle, char *input, char *output) {
syslog(LOG_DEBUG, "cyrus_work: (%04x) depot_host %s could not be found in dns",
log_id, depot_host);
snprintf(output, ANSWER_BUFSIZE, DEPOT_DNS_ERROR);
incStatCounter(STAT_CNT_CYRUS_DEPOT_DNS_FAILURE);
return SMM_TEMP_NOK;
}
@ -237,14 +242,17 @@ int cyrus_work(void *handle, void *work_handle, char *input, char *output) {
case SMM_LOCAL_TEMP_NOK:
snprintf(output, ANSWER_BUFSIZE, "<TNOK><%s>", response_text);
result = SMM_OK;
incStatCounter(STAT_CNT_CYRUS_RETURNED_TNOK);
break;
case SMM_LOCAL_PERM_NOK:
snprintf(output, ANSWER_BUFSIZE, "<NOK><%s>", response_text);
result = SMM_OK;
incStatCounter(STAT_CNT_CYRUS_RETURNED_OK);
break;
case SMM_LOCAL_OK:
snprintf(output, ANSWER_BUFSIZE, "<OK><%s>", response_text);
result = SMM_OK;
incStatCounter(STAT_CNT_CYRUS_RETURNED_NOK);
break;
default:
snprintf(output, ANSWER_BUFSIZE, response_text);

View File

@ -46,6 +46,13 @@ char *stat_cnt_names[] = {
"Verifier: returned NOK",
"Verifier: returned TNOK",
"Cyrus: checker",
"Cyrus: illegal input",
"Cyrus: depot dns failure",
"Cyrus: returned OK",
"Cyrus: returned NOK",
"Cyrus: returned TNOK",
"Server: returned OK",
"Server: returned TEMP_NOK",
"Server: returned PERM_NOK",
@ -63,6 +70,7 @@ char *stat_cnt_names[] = {
#define STAT_CNT_NETWORKER_R_THREADS 3
#define STAT_CNT_NETWORKER_THREADS 4
#define STAT_CNT_NETWORKER_THREADS_FAILED 5
#define STAT_CNT_VERIFIER_CACHE 6
#define STAT_CNT_VERIFIER_WORKER_R_THREADS 7
#define STAT_CNT_VERIFIER_WORKER_THREADS 8
@ -76,8 +84,14 @@ char *stat_cnt_names[] = {
#define STAT_CNT_VERIFIER_RETURNED_NOK 16
#define STAT_CNT_VERIFIER_RETURNED_TNOK 17
#define STAT_CNT_CYRUS_WORKER 18
#define STAT_CNT_CYRUS_ILLEGAL_INPUT 19
#define STAT_CNT_CYRUS_DEPOT_DNS_FAILURE 20
#define STAT_CNT_CYRUS_RETURNED_OK 21
#define STAT_CNT_CYRUS_RETURNED_NOK 22
#define STAT_CNT_CYRUS_RETURNED_TNOK 23
#define STAT_CNT_OFFSET 17
#define STAT_CNT_OFFSET 23
#define STAT_CNT_MAXNUM STAT_CNT_OFFSET + SMM_MAX_NUM