diff options
author | Gabriela Moldovan <gabi@torproject.org> | 2023-02-10 12:20:23 +0000 |
---|---|---|
committer | Gabriela Moldovan <gabi@torproject.org> | 2023-02-16 18:54:30 +0000 |
commit | db4c4d656a8d3cc58bd6179c8dedd3f3b5f68dd6 (patch) | |
tree | a972533634b7dc888dafacd1d47026d3663dcf00 /src/test/test_hs_service.c | |
parent | 482ce87a8de23bf6d29ec55c1c7b9399dbdfac3b (diff) | |
download | tor-db4c4d656a8d3cc58bd6179c8dedd3f3b5f68dd6.tar.gz tor-db4c4d656a8d3cc58bd6179c8dedd3f3b5f68dd6.zip |
metrics: Add metrics for rendezvous and introduction request failures.
This introduces a couple of new service side metrics:
* `hs_intro_rejected_intro_req_count`, which counts the number of introduction
requests rejected by the hidden service
* `hs_rdv_error_count`, which counts the number of rendezvous errors as seen by
the hidden service (this number includes the number of circuit establishment
failures, failed retries, end-to-end circuit setup failures)
Closes #40755. This partially addresses #40717.
Signed-off-by: Gabriela Moldovan <gabi@torproject.org>
Diffstat (limited to 'src/test/test_hs_service.c')
-rw-r--r-- | src/test/test_hs_service.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/test/test_hs_service.c b/src/test/test_hs_service.c index 482ee1a014..7e675620bd 100644 --- a/src/test/test_hs_service.c +++ b/src/test/test_hs_service.c @@ -1183,6 +1183,8 @@ test_bad_introduce2(void *arg) origin_circuit_t *circ = NULL; hs_service_t *service = NULL; hs_service_intro_point_t *ip = NULL; + const smartlist_t *entries = NULL; + const metrics_store_entry_t *entry = NULL; (void) arg; @@ -1227,6 +1229,17 @@ test_bad_introduce2(void *arg) "an INTRODUCE2 cell on circuit"); teardown_capture_of_logs(); + /* Make sure the tor_hs_intro_rejected_intro_req_count metric was + * incremented */ + entries = metrics_store_get_all(service->metrics.store, + "tor_hs_intro_rejected_intro_req_count"); + + tt_assert(entries); + tt_int_op(smartlist_len(entries), OP_EQ, 1); + entry = smartlist_get(entries, 0); + tt_assert(entry); + tt_int_op(metrics_store_entry_get_value(entry), OP_EQ, 1); + /* Set an IP object now for this circuit. */ { ip = helper_create_service_ip(); @@ -1243,6 +1256,10 @@ test_bad_introduce2(void *arg) tt_int_op(ret, OP_EQ, -1); tt_u64_op(ip->introduce2_count, OP_EQ, 0); + /* Make sure the tor_hs_intro_rejected_intro_req_count metric was incremented + * a second time */ + tt_int_op(metrics_store_entry_get_value(entry), OP_EQ, 2); + done: or_state_free(dummy_state); dummy_state = NULL; |