9#define HS_METRICS_ENTRY_PRIVATE
22static const int64_t hs_metrics_circ_build_time_buckets[] =
49 .key = HS_METRICS_NUM_INTRODUCTIONS,
50 .type = METRICS_TYPE_COUNTER,
51 .name = METRICS_NAME(hs_intro_num_total),
52 .help =
"Total number of introduction received",
53 .port_as_label =
false,
56 .key = HS_METRICS_APP_WRITE_BYTES,
57 .type = METRICS_TYPE_COUNTER,
58 .name = METRICS_NAME(hs_app_write_bytes_total),
59 .help =
"Total number of bytes written to the application",
60 .port_as_label =
true,
63 .key = HS_METRICS_APP_READ_BYTES,
64 .type = METRICS_TYPE_COUNTER,
65 .name = METRICS_NAME(hs_app_read_bytes_total),
66 .help =
"Total number of bytes read from the application",
67 .port_as_label =
true,
70 .key = HS_METRICS_NUM_ESTABLISHED_RDV,
71 .type = METRICS_TYPE_GAUGE,
72 .name = METRICS_NAME(hs_rdv_established_count),
73 .help =
"Total number of established rendezvous circuits",
76 .key = HS_METRICS_NUM_RDV,
77 .type = METRICS_TYPE_COUNTER,
78 .name = METRICS_NAME(hs_rdv_num_total),
79 .help =
"Total number of rendezvous circuits created",
82 .key = HS_METRICS_NUM_FAILED_RDV,
83 .type = METRICS_TYPE_COUNTER,
84 .name = METRICS_NAME(hs_rdv_error_count),
85 .help =
"Total number of rendezvous circuit errors",
88 .key = HS_METRICS_NUM_ESTABLISHED_INTRO,
89 .type = METRICS_TYPE_GAUGE,
90 .name = METRICS_NAME(hs_intro_established_count),
91 .help =
"Total number of established introduction circuit",
94 .key = HS_METRICS_NUM_REJECTED_INTRO_REQ,
95 .type = METRICS_TYPE_COUNTER,
96 .name = METRICS_NAME(hs_intro_rejected_intro_req_count),
97 .help =
"Total number of rejected introduction circuits",
100 .key = HS_METRICS_INTRO_CIRC_BUILD_TIME,
101 .type = METRICS_TYPE_HISTOGRAM,
102 .name = METRICS_NAME(hs_intro_circ_build_time),
103 .buckets = hs_metrics_circ_build_time_buckets,
104 .bucket_count =
ARRAY_LENGTH(hs_metrics_circ_build_time_buckets),
105 .help =
"The introduction circuit build time in milliseconds",
108 .key = HS_METRICS_REND_CIRC_BUILD_TIME,
109 .type = METRICS_TYPE_HISTOGRAM,
110 .name = METRICS_NAME(hs_rend_circ_build_time),
111 .buckets = hs_metrics_circ_build_time_buckets,
112 .bucket_count =
ARRAY_LENGTH(hs_metrics_circ_build_time_buckets),
113 .help =
"The rendezvous circuit build time in milliseconds",
116 .key = HS_METRICS_POW_NUM_PQUEUE_RDV,
117 .type = METRICS_TYPE_GAUGE,
118 .name = METRICS_NAME(hs_rdv_pow_pqueue_count),
119 .help =
"Number of requests waiting in the proof of work priority queue",
122 .key = HS_METRICS_POW_SUGGESTED_EFFORT,
123 .type = METRICS_TYPE_GAUGE,
124 .name = METRICS_NAME(hs_pow_suggested_effort),
125 .help =
"Suggested effort for requests with a proof of work client puzzle",
136 HS_METRICS_ERR_INTRO_REQ_BAD_AUTH_KEY,
137 HS_METRICS_ERR_INTRO_REQ_INTRODUCE2,
138 HS_METRICS_ERR_INTRO_REQ_SUBCREDENTIAL,
139 HS_METRICS_ERR_INTRO_REQ_INTRODUCE2_REPLAY,
149 HS_METRICS_ERR_RDV_RP_CONN_FAILURE,
150 HS_METRICS_ERR_RDV_PATH,
151 HS_METRICS_ERR_RDV_RENDEZVOUS1,
152 HS_METRICS_ERR_RDV_E2E,
153 HS_METRICS_ERR_RDV_RETRY,
Utility macros to handle different features and behavior in different compilers.
const char * hs_metrics_rend_error_reasons[]
const hs_metrics_entry_t base_metrics[]
const size_t hs_metrics_intro_req_error_reasons_size
const size_t base_metrics_size
const char * hs_metrics_intro_req_error_reasons[]
const size_t hs_metrics_rend_error_reasons_size
Header for feature/hs/hs_metrics_entry.c.
Macros to manage assertions, fatal and non-fatal.