diff options
Diffstat (limited to 'src/exchange/taler-exchange-httpd_metrics.h')
-rw-r--r-- | src/exchange/taler-exchange-httpd_metrics.h | 86 |
1 files changed, 78 insertions, 8 deletions
diff --git a/src/exchange/taler-exchange-httpd_metrics.h b/src/exchange/taler-exchange-httpd_metrics.h index 55e5372a7..318113c1f 100644 --- a/src/exchange/taler-exchange-httpd_metrics.h +++ b/src/exchange/taler-exchange-httpd_metrics.h @@ -29,27 +29,97 @@ /** * Request types for which we collect metrics. */ -enum TEH_MetricType +enum TEH_MetricTypeRequest { - TEH_MT_OTHER = 0, - TEH_MT_DEPOSIT = 1, - TEH_MT_WITHDRAW = 2, - TEH_MT_MELT = 3, - TEH_MT_COUNT = 4 /* MUST BE LAST! */ + TEH_MT_REQUEST_OTHER = 0, + TEH_MT_REQUEST_DEPOSIT = 1, + TEH_MT_REQUEST_WITHDRAW = 2, + TEH_MT_REQUEST_AGE_WITHDRAW = 3, + TEH_MT_REQUEST_MELT = 4, + TEH_MT_REQUEST_PURSE_CREATE = 5, + TEH_MT_REQUEST_PURSE_MERGE = 6, + TEH_MT_REQUEST_RESERVE_PURSE = 7, + TEH_MT_REQUEST_PURSE_DEPOSIT = 8, + TEH_MT_REQUEST_IDEMPOTENT_DEPOSIT = 9, + TEH_MT_REQUEST_IDEMPOTENT_WITHDRAW = 10, + TEH_MT_REQUEST_IDEMPOTENT_AGE_WITHDRAW = 11, + TEH_MT_REQUEST_IDEMPOTENT_MELT = 12, + TEH_MT_REQUEST_IDEMPOTENT_BATCH_WITHDRAW = 13, + TEH_MT_REQUEST_BATCH_DEPOSIT = 14, + TEH_MT_REQUEST_POLICY_FULFILLMENT = 15, + TEH_MT_REQUEST_COUNT = 16 /* MUST BE LAST! */ }; +/** + * Success types for which we collect metrics. + */ +enum TEH_MetricTypeSuccess +{ + TEH_MT_SUCCESS_DEPOSIT = 0, + TEH_MT_SUCCESS_WITHDRAW = 1, + TEH_MT_SUCCESS_AGE_WITHDRAW = 2, + TEH_MT_SUCCESS_BATCH_WITHDRAW = 3, + TEH_MT_SUCCESS_MELT = 4, + TEH_MT_SUCCESS_REFRESH_REVEAL = 5, + TEH_MT_SUCCESS_AGE_WITHDRAW_REVEAL = 6, + TEH_MT_SUCCESS_COUNT = 7 /* MUST BE LAST! */ +}; + +/** + * Cipher types for which we collect signature metrics. + */ +enum TEH_MetricTypeSignature +{ + TEH_MT_SIGNATURE_RSA = 0, + TEH_MT_SIGNATURE_CS = 1, + TEH_MT_SIGNATURE_EDDSA = 2, + TEH_MT_SIGNATURE_COUNT = 3 +}; + +/** + * Cipher types for which we collect key exchange metrics. + */ +enum TEH_MetricTypeKeyX +{ + TEH_MT_KEYX_ECDH = 0, + TEH_MT_KEYX_COUNT = 1 +}; /** * Number of requests handled of the respective type. */ -extern unsigned long long TEH_METRICS_num_requests[TEH_MT_COUNT]; +extern unsigned long long TEH_METRICS_num_requests[TEH_MT_REQUEST_COUNT]; + +/** + * Number of successful requests handled of the respective type. + */ +extern unsigned long long TEH_METRICS_num_success[TEH_MT_SUCCESS_COUNT]; + +/** + * Number of coins withdrawn in a batch-withdraw request + */ +extern unsigned long long TEH_METRICS_batch_withdraw_num_coins; /** * Number of serialization errors encountered when * handling requests of the respective type. */ -extern unsigned long long TEH_METRICS_num_conflict[TEH_MT_COUNT]; +extern unsigned long long TEH_METRICS_num_conflict[TEH_MT_REQUEST_COUNT]; + +/** + * Number of signatures created by the respective cipher. + */ +extern unsigned long long TEH_METRICS_num_signatures[TEH_MT_SIGNATURE_COUNT]; +/** + * Number of signatures verified by the respective cipher. + */ +extern unsigned long long TEH_METRICS_num_verifications[TEH_MT_SIGNATURE_COUNT]; + +/** + * Number of key exchanges done with the respective cipher. + */ +extern unsigned long long TEH_METRICS_num_keyexchanges[TEH_MT_KEYX_COUNT]; /** * Handle a "/metrics" request. |