X-Git-Url: http://www.project-moonshot.org/gitweb/?p=trust_router.git;a=blobdiff_plain;f=tr%2Ftr_tid_mons.c;h=e9a802b0312b670250e21ebf877d0286b900a8fb;hp=38fbbddb723de6dffcdfee6ecdb57064298ee388;hb=HEAD;hpb=283699f7ec7db8a8ebe322ccb2568910b5c8701c diff --git a/tr/tr_tid_mons.c b/tr/tr_tid_mons.c index 38fbbdd..e9a802b 100644 --- a/tr/tr_tid_mons.c +++ b/tr/tr_tid_mons.c @@ -40,14 +40,55 @@ #include #include +/** + * Get the count of successfully completed TID requests + */ static MON_RC handle_show_req_count(void *cookie, json_t **response_ptr) { TIDS_INSTANCE *tids = talloc_get_type_abort(cookie, TIDS_INSTANCE); *response_ptr = json_integer(tids->req_count); - return (*response_ptr) ? MON_NOMEM : MON_SUCCESS; + return (*response_ptr == NULL) ? MON_NOMEM : MON_SUCCESS; +} + +/** + * Get the count of completed TID requests that resulted in error responses + */ +static MON_RC handle_show_req_error_count(void *cookie, json_t **response_ptr) +{ + TIDS_INSTANCE *tids = talloc_get_type_abort(cookie, TIDS_INSTANCE); + *response_ptr = json_integer(tids->req_error_count); + return (*response_ptr == NULL) ? MON_NOMEM : MON_SUCCESS; +} + +/** + * Get the count of TID requests that could not be completed + */ +static MON_RC handle_show_error_count(void *cookie, json_t **response_ptr) +{ + TIDS_INSTANCE *tids = talloc_get_type_abort(cookie, TIDS_INSTANCE); + *response_ptr = json_integer(tids->error_count); + return (*response_ptr == NULL) ? MON_NOMEM : MON_SUCCESS; +} + +static MON_RC handle_show_req_pending(void *cookie, json_t **response_ptr) +{ + TIDS_INSTANCE *tids = talloc_get_type_abort(cookie, TIDS_INSTANCE); + *response_ptr = json_integer(tids->pids->len); + return (*response_ptr == NULL) ? MON_NOMEM : MON_SUCCESS; } void tr_tid_register_mons_handlers(TIDS_INSTANCE *tids, MONS_INSTANCE *mons) { - mons_register_handler(mons, MON_CMD_SHOW, OPT_TYPE_SHOW_TID_REQ_COUNT, handle_show_req_count, tids); + mons_register_handler(mons, + MON_CMD_SHOW, OPT_TYPE_SHOW_TID_REQS_PROCESSED, + handle_show_req_count, tids); + mons_register_handler(mons, + MON_CMD_SHOW, OPT_TYPE_SHOW_TID_REQS_FAILED, + handle_show_req_error_count, tids); + mons_register_handler(mons, + MON_CMD_SHOW, OPT_TYPE_SHOW_TID_ERROR_COUNT, + handle_show_error_count, tids); + mons_register_handler(mons, + MON_CMD_SHOW, OPT_TYPE_SHOW_TID_REQS_PENDING, + handle_show_req_pending, tids); }