Part 3 — How Tor Relays Handle Directory Floods
Version scope: Tor 0.4.9.14 with our custom metrics patch. Tor 0.4.9.15, released October 28, adds directory-request DoS controls, including per-circuit BEGIN_DIR rate limiting and a hidden-service directory (HSDir) request limit. The measurements below describe 0.4.9.14, not the effect of those new controls.
Relay H, Relay F and Relay G are anonymized labels, used consistently across this series.
“Response queued” was the majority for HSDir GET requests in 24 of 25 periods. The pattern covered 19 relays, with periods averaging about 2¼ hours. Relay H recorded this result for 99.25% of 9,821,859 requests over about 2½ hours.
HSDir GET responses accounted for most internal response bytes. This held in 28 of 29 periods on 22 relays, averaging about 2¼ hours. Relay H recorded 486.14 gigabytes (GB) of HSDir GET response bytes over about 2½ hours.
“Circuit closing” was the majority for HSDir POST requests in 18 of 25 periods. The pattern covered 16 relays, with periods averaging about 2¼ hours. Relay G recorded 93,196 of 153,313 requests (60.79%) in this category over about 3½ hours.
“Response queued” was the majority for HSDir GET requests in 24 of 25 periods
These are custom handling results, not HTTP status codes or proof of delivery. Relay F was the exception: 99.86% fell in “Not found / invalid key” during one observation lasting about 15¼ hours.
Two representative periods from the 25-period HSDir GET/HSDir POST cohort. Bar widths include all five handling results; the matching table preserves small categories and observed zeros. Full-size Scalable Vector Graphics (SVG) chart.
Footnote. 2 representative periods from the 25-period HSDir GET/HSDir POST cohort. Handling shares use only the HSDir GET requests in each period; a majority exceeds 50%, and Mixed means no result exceeds 50%. Legend percentages apply only to the periods shown. Rates are whole-period means, not peaks. Handling labels are custom metric classifications, not HTTP status codes or proof of client delivery. Tor 0.4.9.14 with our custom metrics patch. HSDir means hidden-service directory. UTC is Coordinated Universal Time; h means hours, min means minutes, /s means per second, and Approx. means approximate. Public starts and durations are rounded to 15-minute blocks; displayed ends follow from those rounded values. Calculations use the original measured durations.
| Handling result · requests (share) | Relay H | Relay F |
|---|---|---|
| Response queued | 9,747,775 (99.25%) | 10,528 (<0.1%) |
| Not found / invalid key | 14,012 (0.14%) | 11,024,056 (99.86%) |
| Circuit closing | 60,072 (0.61%) | 4,997 (<0.1%) |
| Policy refused | 0 (0%) | 0 (0%) |
| Client-channel rejected | 0 (0%) | 0 (0%) |
| All HSDir GET requests | 9,821,859 | 11,039,581 |
| Mean HSDir GET requests/s | 1,137 | 202 |
HSDir GET responses accounted for most internal response bytes
Internal response bytes count handoffs, not wire delivery. Relay F’s consensus responses contributed 59.92 GB (86.49%) of its 69.29 GB total; HSDir GET responses contributed 0.85 GB (1.23%).
Figure 2 · Relays H and F. One paired chart shows both periods on shared count and GB scales. All nine directory-stream classifications remain visible, ranked by count within each period. Full-size SVG.
Footnote. 2 representative periods from the 29-period byte cohort. Common patterns appear first. All nine classifications are ranked by count within each period; both panels use the same row order. One count scale and one gigabyte (GB) scale apply across all periods shown; these are separate units. 1 GB = 1,000,000,000 bytes. Exact bytes are in the full detailed data. Internal response bytes count normal linked-stream handoffs, not client delivery or per-request wire cost. Some forced close-time moves are outside this accounting hook. Tor 0.4.9.14 with our custom metrics patch. HSDir means hidden-service directory. UTC is Coordinated Universal Time; h means hours, min means minutes, /s means per second, and Approx. means approximate. Public starts and durations are rounded to 15-minute blocks; displayed ends follow from those rounded values. Calculations use the original measured durations.
| Directory-stream classification | Classified directory streams | Internal response bytes | Internal-byte share |
|---|---|---|---|
| HSDir GET requests | 9,821,859 | 486.14 GB | 99.99% |
| HSDir POST requests | 47,701 | 0.001860588 GB | <0.1% |
| Microdescriptor GET requests | 267 | 0.02 GB | <0.1% |
| Unparsed directory streams | 206 | 0 GB | 0% |
| Closed while waiting for an HTTP request | 201 | 0 GB | 0% |
| Consensus GET requests | 138 | 0.007799532 GB | <0.1% |
| Other GET requests | 121 | 0.000007434 GB | <0.1% |
| Server / extra-info descriptor GET requests | 11 | 0.001262121 GB | <0.1% |
| Other POST requests | 0 | 0 GB | 0% |
| Total | 9,870,504 | 486.17 GB | 100% |
| Directory-stream classification | Classified directory streams | Internal response bytes | Internal-byte share |
|---|---|---|---|
| HSDir GET requests | 11,039,581 | 0.85 GB | 1.23% |
| Consensus GET requests | 176,102 | 59.92 GB | 86.49% |
| HSDir POST requests | 70,060 | 0.0061004 GB | <0.1% |
| Microdescriptor GET requests | 49,670 | 8.40 GB | 12.13% |
| Other GET requests | 8,436 | 0.000553483 GB | <0.1% |
| Server / extra-info descriptor GET requests | 3,101 | 0.10 GB | 0.14% |
| Unparsed directory streams | 2,322 | 0 GB | 0% |
| Closed while waiting for an HTTP request | 610 | 0 GB | 0% |
| Other POST requests | 0 | 0 GB | 0% |
| Total | 11,349,882 | 69.29 GB | 100% |
“Circuit closing” was the majority for HSDir POST requests in 18 of 25 periods
Circuit closing was largest in 22 periods, but a majority in 18. Five periods on five relays were Mixed (average about 2¾ hours); two on two relays had Descriptor stored majorities (average about 9 hours). Descriptor stored was largest in three periods.
Three representative periods from the same 25-period HSDir GET/HSDir POST cohort. Relay H is Mixed because no result exceeds 50%; Relay F has storage as its majority result. Full-size SVG.
Footnote. 3 representative periods from the 25-period HSDir GET/HSDir POST cohort. Handling shares use only the HSDir POST requests in each period; a majority exceeds 50%, and Mixed means no result exceeds 50%. Legend percentages apply only to the periods shown. Rates are whole-period means, not peaks. Handling labels are custom metric classifications, not HTTP status codes or proof of client delivery. URL means Uniform Resource Locator. Tor 0.4.9.14 with our custom metrics patch. HSDir means hidden-service directory. UTC is Coordinated Universal Time; h means hours, min means minutes, /s means per second, and Approx. means approximate. Public starts and durations are rounded to 15-minute blocks; displayed ends follow from those rounded values. Calculations use the original measured durations.
| Handling result · requests (share) | Relay G | Relay H | Relay F |
|---|---|---|---|
| Circuit closing | 93,196 (60.79%) | 21,761 (45.62%) | 678 (0.97%) |
| Descriptor stored | 22,243 (14.51%) | 18,295 (38.35%) | 67,038 (95.69%) |
| Descriptor not newer | 37,874 (24.70%) | 7,645 (16.03%) | 2,344 (3.35%) |
| Invalid descriptor | 0 (0%) | 0 (0%) | 0 (0%) |
| Invalid POST URL | 0 (0%) | 0 (0%) | 0 (0%) |
| Policy refused | 0 (0%) | 0 (0%) | 0 (0%) |
| Client-channel rejected | 0 (0%) | 0 (0%) | 0 (0%) |
| All HSDir POST requests | 153,313 | 47,701 | 70,060 |
| Mean HSDir POST requests/s | 11.9 | 5.52 | 1.28 |
Methods
HSDir GET requests retrieve onion-service descriptors; HSDir POST requests submit them for storage. Saved counter increases cover measured periods, not necessarily entire attacks. HSDir GET and HSDir POST handling each cover the same 25 periods on 20 relays; directory-stream classification/response-byte comparisons cover 29. Missing handling entries are not zero. HSDir GET and HSDir POST handling shares each use their own request total. Byte shares use all nine internal response-byte categories. Server / extra-info descriptor GET requests combine both descriptor routes; “Other GET requests” and “Other POST requests” describe remaining routes, not peer intent. Pattern totals sum the included periods; request totals include all handling results. Per-period averages divide totals by the period count. Combined relay-hours sum measured durations across relays, counting simultaneous observations separately. Request averages are rounded to whole requests; byte amounts use decimal gigabytes. Average durations cover whole measured spans grouped by their overall handling or response-byte mix, with each period weighted equally. They do not measure continuous time in a handling category. Relays can appear in several groups. Means are calculated before rounding.
Handling result labels come from our custom metrics, not HTTP status codes. “Response queued” does not establish client delivery. “Descriptor stored” means accepted into storage, not a completed client exchange. “Descriptor not newer” can include unchanged descriptors. Closing-circuit and client-channel rejections remain separate. Internal response bytes follow the directory-stream classification and include error-response bytes. They count normal linked-stream handoffs; some forced close-time moves are outside this hook. Matching a directory-stream classification’s aggregate count and bytes does not link individual requests to responses or establish per-request wire costs. Whole-relay network accounting is a separate layer.
Observed group peaks are the highest supported native-interval rates within each majority-pattern group, attributed to one relay rather than summed. The quoted peaks use 60-second samples and are not instantaneous maxima; sampling gaps may hide higher rates. HSDir GET/POST rate panels show whole-period means; paired type panels show cumulative counts and GB. Calculations use original measured durations. Public UTC starts and durations are rounded to 15-minute blocks; displayed ends follow from those rounded values. Sampling gaps are not interpolated, and observed zeros remain zero. “Closed while waiting for an HTTP request” is our custom metric label for directory streams that close in Tor’s HTTP-request-wait state, with an empty input buffer and no earlier request classification. It is not a timeout cause. Buffered partial input can instead be unparsed. These unknown stream classifications remain in the counts.
Pattern totals and measured peaks
These groups use the majority handling or internal-byte category within each observed period. Request totals include all handling results in the selected periods; internal-byte totals below include HSDir GET response bytes only. Distinct-relay groups can overlap.
HSDir GET requests · Response queued majority
| Measured quantity | Value |
|---|---|
| Observed periods | 24 |
| Distinct relays | 19 |
| Mean observed-period duration | about 2¼ hours |
| Combined observed duration | about 56 combined relay-hours |
| Group total | 149,936,046 HSDir GET requests |
| Average per period | 6,247,335 HSDir GET requests |
| Highest observed request rate in the group | Highest observed group peak: 2,452.32 HSDir GET requests per second (Relay I; 60-second sample). |
Internal response bytes · HSDir GET majority
| Measured quantity | Value |
|---|---|
| Observed periods | 28 |
| Distinct relays | 22 |
| Mean observed-period duration | about 2¼ hours |
| Combined observed duration | about 61¼ combined relay-hours |
| Group total | 9,000 GB of HSDir GET internal response bytes |
| Average per period | 321.42 GB of HSDir GET internal response bytes |
| Highest observed request rate in the group | Highest observed group peak: 2,452.32 HSDir GET requests per second (Relay I; 60-second sample). |
HSDir POST requests · Circuit closing majority
| Measured quantity | Value |
|---|---|
| Observed periods | 18 |
| Distinct relays | 16 |
| Mean observed-period duration | about 2¼ hours |
| Combined observed duration | about 40 combined relay-hours |
| Group total | 936,151 HSDir POST requests |
| Average per period | 52,008 HSDir POST requests |
| Highest observed request rate in the group | Highest observed group peak: 70.28 HSDir POST requests per second (Relay L; 60-second sample). |
Full supporting charts
Handling charts for HSDir GET requests and HSDir POST requests cover the same 25 measured periods. The paired stream-count and byte charts cover 29 periods. Charts group periods by majority-pattern frequency, most common first, then by newest start within each group. Byte charts group by the majority internal-response-byte category; their paired rows are ranked by classified-stream count. Supporting HSDir GET and HSDir POST charts use common rate scales within each method; rates are whole-period means. Each count/GB figure uses one count scale and one GB scale across every period shown; the two units remain separate.
HSDir GET requests: handling results and rates · all 25 periods
All 25 measured periods in one continuous figure. Exact values: full detailed data. Full-size SVG.
Footnote. 25 of 25 measured HSDir GET/HSDir POST periods · common patterns first. Handling shares use only the HSDir GET requests in each period; a majority exceeds 50%, and Mixed means no result exceeds 50%. Legend percentages apply only to the periods shown. Rates are whole-period means, not peaks. Handling labels are custom metric classifications, not HTTP status codes or proof of client delivery. Tor 0.4.9.14 with our custom metrics patch. HSDir means hidden-service directory. UTC is Coordinated Universal Time; h means hours, min means minutes, /s means per second, and Approx. means approximate. Public starts and durations are rounded to 15-minute blocks; displayed ends follow from those rounded values. Calculations use the original measured durations.
Classified directory-stream counts and internal response bytes · all 29 periods
All 29 measured periods in one continuous figure. Exact values: full detailed data. Full-size SVG.
Footnote. All 29 measured byte periods. Common patterns appear first. All nine classifications are ranked by count within each period; both panels use the same row order. One count scale and one gigabyte (GB) scale apply across all periods shown; these are separate units. 1 GB = 1,000,000,000 bytes. Exact bytes are in the full detailed data. Internal response bytes count normal linked-stream handoffs, not client delivery or per-request wire cost. Some forced close-time moves are outside this accounting hook. Tor 0.4.9.14 with our custom metrics patch. HSDir means hidden-service directory. UTC is Coordinated Universal Time; h means hours, min means minutes, /s means per second, and Approx. means approximate. Public starts and durations are rounded to 15-minute blocks; displayed ends follow from those rounded values. Calculations use the original measured durations.
HSDir POST requests: handling results and rates · all 25 periods
All 25 measured periods in one continuous figure. Exact values: full detailed data. Full-size SVG.
Footnote. 25 of 25 measured HSDir GET/HSDir POST periods · common patterns first. Handling shares use only the HSDir POST requests in each period; a majority exceeds 50%, and Mixed means no result exceeds 50%. Legend percentages apply only to the periods shown. Rates are whole-period means, not peaks. Handling labels are custom metric classifications, not HTTP status codes or proof of client delivery. URL means Uniform Resource Locator. Tor 0.4.9.14 with our custom metrics patch. HSDir means hidden-service directory. UTC is Coordinated Universal Time; h means hours, min means minutes, /s means per second, and Approx. means approximate. Public starts and durations are rounded to 15-minute blocks; displayed ends follow from those rounded values. Calculations use the original measured durations.
Full detailed data
Rates in the tables use megabits per second (Mbit/s). Counts and bytes are exact measured totals; mean rates use original durations and are rounded for display. A positive share below 0.1% is marked <0.1%; 0% means an observed zero. Public start times and durations are rounded to 15-minute blocks, and displayed ends follow from those rounded values. HSDir GET requests and HSDir POST requests use separate method totals. Directory-stream shares use all nine classifications, including unknown request types; byte shares use only internal response bytes.
Relay A · Approx. 24 Oct 2026 07:45–09:45 UTC
about 2 h. Detailed HSDir GET/HSDir POST handling results are not included for this period.
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 14,017,682 | 97.84% | 657,903,490,193 | >99.99% | 707 |
| Closed while waiting for an HTTP request | 260,237 | 1.82% | 0 | 0% | 0 |
| HSDir POST requests | 47,845 | 0.33% | 2,632,760 | <0.1% | 0.00283 |
| Unparsed directory streams | 1,511 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 19 | <0.1% | 105,696 | <0.1% | 0.000114 |
| Microdescriptor GET requests | 7 | <0.1% | 68,866 | <0.1% | 7.4e-05 |
| Other GET requests | 1 | <0.1% | 63 | <0.1% | 6.77e-08 |
| Server / extra-info descriptor GET requests | 0 | 0% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 14,327,302 | 100% | 657,906,297,578 | 100% | 707 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 33,197,621,142 | 35.7 |
| Output | 259,518,545,676 | 279 |
Relay C · Approx. 25 Oct 2026 00:30–02:45 UTC
about 2¼ h. Detailed HSDir GET/HSDir POST handling results are not included for this period.
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 15,678,626 | 91.29% | 765,421,962,923 | >99.99% | 779 |
| Closed while waiting for an HTTP request | 1,432,070 | 8.34% | 0 | 0% | 0 |
| HSDir POST requests | 62,772 | 0.37% | 3,326,672 | <0.1% | 0.00339 |
| Unparsed directory streams | 1,337 | <0.1% | 0 | 0% | 0 |
| Other GET requests | 78 | <0.1% | 4,536 | <0.1% | 4.62e-06 |
| Microdescriptor GET requests | 2 | <0.1% | 39,833 | <0.1% | 4.05e-05 |
| Consensus GET requests | 2 | <0.1% | 13,854 | <0.1% | 1.41e-05 |
| Server / extra-info descriptor GET requests | 0 | 0% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 17,174,887 | 100% | 765,425,347,818 | 100% | 779 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 42,654,943,285 | 43.4 |
| Output | 472,360,697,295 | 481 |
Relay C · Approx. 29 Oct 2026 02:00–03:15 UTC
about 1¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 5,508,860 | 99.21% | 1,192 |
| Not found / invalid key | 7,597 | 0.14% | 1.64 |
| Circuit closing | 36,044 | 0.65% | 7.8 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 5,552,501 | 100% | 1,202 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 22,669 | 44.97% | 4.91 |
| Descriptor stored | 16,859 | 33.45% | 3.65 |
| Descriptor not newer | 10,878 | 21.58% | 2.35 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 50,406 | 100% | 10.9 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 5,552,501 | 53.09% | 274,446,023,154 | >99.99% | 475 |
| Closed while waiting for an HTTP request | 4,854,140 | 46.42% | 0 | 0% | 0 |
| HSDir POST requests | 50,406 | 0.48% | 1,392,846 | <0.1% | 0.00241 |
| Unparsed directory streams | 876 | <0.1% | 0 | 0% | 0 |
| Server / extra-info descriptor GET requests | 15 | <0.1% | 55,689 | <0.1% | 9.64e-05 |
| Consensus GET requests | 11 | <0.1% | 1,017,935 | <0.1% | 0.00176 |
| Microdescriptor GET requests | 3 | <0.1% | 104,012 | <0.1% | 0.00018 |
| Other GET requests | 0 | 0% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 10,457,952 | 100% | 274,448,593,636 | 100% | 475 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 28,122,960,136 | 48.7 |
| Output | 247,453,690,101 | 428 |
Relay D · Approx. 25 Oct 2026 03:15–03:45 UTC
about 30 min. Detailed HSDir GET/HSDir POST handling results are not included for this period.
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 10,783,228 | 89.80% | 0 | 0% | 0 |
| HSDir GET requests | 1,222,909 | 10.18% | 60,487,726,064 | >99.99% | 310 |
| HSDir POST requests | 1,248 | <0.1% | 93,206 | <0.1% | 0.000478 |
| Unparsed directory streams | 7 | <0.1% | 0 | 0% | 0 |
| Microdescriptor GET requests | 1 | <0.1% | 19,918 | <0.1% | 0.000102 |
| Consensus GET requests | 1 | <0.1% | 9,674 | <0.1% | 4.96e-05 |
| Server / extra-info descriptor GET requests | 1 | <0.1% | 16,246 | <0.1% | 8.33e-05 |
| Other GET requests | 1 | <0.1% | 63 | <0.1% | 3.23e-07 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 12,007,396 | 100% | 60,487,865,171 | 100% | 310 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 14,556,863,196 | 74.7 |
| Output | 66,494,967,821 | 341 |
Relay E · Approx. 25 Oct 2026 04:00–04:30 UTC
about 30 min. Detailed HSDir GET/HSDir POST handling results are not included for this period.
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 8,271,711 | 78.65% | 0 | 0% | 0 |
| HSDir GET requests | 2,241,790 | 21.32% | 109,729,657,743 | >99.99% | 406 |
| HSDir POST requests | 3,545 | <0.1% | 255,788 | <0.1% | 0.000947 |
| Unparsed directory streams | 34 | <0.1% | 0 | 0% | 0 |
| Microdescriptor GET requests | 0 | 0% | 0 | 0% | 0 |
| Consensus GET requests | 0 | 0% | 0 | 0% | 0 |
| Server / extra-info descriptor GET requests | 0 | 0% | 0 | 0% | 0 |
| Other GET requests | 0 | 0% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 10,517,080 | 100% | 109,729,913,531 | 100% | 406 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 15,061,050,043 | 55.8 |
| Output | 107,677,983,259 | 399 |
Relay F · Approx. 28 Oct 2026 12:15–29 Oct 03:30 UTC
about 15¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 10,528 | <0.1% | 0.192 |
| Not found / invalid key | 11,024,056 | 99.86% | 201 |
| Circuit closing | 4,997 | <0.1% | 0.0913 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 11,039,581 | 100% | 202 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 678 | 0.97% | 0.0124 |
| Descriptor stored | 67,038 | 95.69% | 1.23 |
| Descriptor not newer | 2,344 | 3.35% | 0.0428 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 70,060 | 100% | 1.28 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 11,039,581 | 97.27% | 854,516,139 | 1.23% | 0.125 |
| Consensus GET requests | 176,102 | 1.55% | 59,924,081,476 | 86.49% | 8.76 |
| HSDir POST requests | 70,060 | 0.62% | 6,100,400 | <0.1% | 0.000892 |
| Microdescriptor GET requests | 49,670 | 0.44% | 8,404,021,499 | 12.13% | 1.23 |
| Other GET requests | 8,436 | <0.1% | 553,483 | <0.1% | 8.09e-05 |
| Server / extra-info descriptor GET requests | 3,101 | <0.1% | 95,772,036 | 0.14% | 0.014 |
| Unparsed directory streams | 2,322 | <0.1% | 0 | 0% | 0 |
| Closed while waiting for an HTTP request | 610 | <0.1% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 11,349,882 | 100% | 69,285,045,033 | 100% | 10.1 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 1,288,806,987,385 | 188 |
| Output | 1,359,605,482,016 | 199 |
Relay G · Approx. 28 Oct 2026 12:15–15:45 UTC
about 3½ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 2,897,908 | 98.53% | 225 |
| Not found / invalid key | 8,390 | 0.29% | 0.65 |
| Circuit closing | 34,747 | 1.18% | 2.69 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 2,941,045 | 100% | 228 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 93,196 | 60.79% | 7.22 |
| Descriptor stored | 22,243 | 14.51% | 1.72 |
| Descriptor not newer | 37,874 | 24.70% | 2.94 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 153,313 | 100% | 11.9 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 50,556,486 | 94.09% | 0 | 0% | 0 |
| HSDir GET requests | 2,941,045 | 5.47% | 143,908,216,907 | 99.94% | 89.2 |
| HSDir POST requests | 153,313 | 0.29% | 3,342,390 | <0.1% | 0.00207 |
| Unparsed directory streams | 82,962 | 0.15% | 0 | 0% | 0 |
| Microdescriptor GET requests | 269 | <0.1% | 80,164,668 | <0.1% | 0.0497 |
| Consensus GET requests | 107 | <0.1% | 4,085,426 | <0.1% | 0.00253 |
| Server / extra-info descriptor GET requests | 32 | <0.1% | 270,039 | <0.1% | 0.000167 |
| Other GET requests | 19 | <0.1% | 1,008 | <0.1% | 6.25e-07 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 53,734,233 | 100% | 143,996,080,438 | 100% | 89.3 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 84,968,150,915 | 52.7 |
| Output | 164,648,446,046 | 102 |
Relay H · Approx. 28 Oct 2026 16:00–18:30 UTC
about 2½ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 9,747,775 | 99.25% | 1,128 |
| Not found / invalid key | 14,012 | 0.14% | 1.62 |
| Circuit closing | 60,072 | 0.61% | 6.95 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 9,821,859 | 100% | 1,137 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 21,761 | 45.62% | 2.52 |
| Descriptor stored | 18,295 | 38.35% | 2.12 |
| Descriptor not newer | 7,645 | 16.03% | 0.885 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 47,701 | 100% | 5.52 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 9,821,859 | 99.51% | 486,136,664,257 | 99.99% | 450 |
| HSDir POST requests | 47,701 | 0.48% | 1,860,588 | <0.1% | 0.00172 |
| Microdescriptor GET requests | 267 | <0.1% | 22,131,239 | <0.1% | 0.0205 |
| Unparsed directory streams | 206 | <0.1% | 0 | 0% | 0 |
| Closed while waiting for an HTTP request | 201 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 138 | <0.1% | 7,799,532 | <0.1% | 0.00722 |
| Other GET requests | 121 | <0.1% | 7,434 | <0.1% | 6.88e-06 |
| Server / extra-info descriptor GET requests | 11 | <0.1% | 1,262,121 | <0.1% | 0.00117 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 9,870,504 | 100% | 486,169,725,171 | 100% | 450 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 36,908,636,206 | 34.2 |
| Output | 421,448,927,230 | 390 |
Relay I · Approx. 28 Oct 2026 19:00–21:45 UTC
about 2¾ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 5,008,156 | 99.04% | 485 |
| Not found / invalid key | 8,646 | 0.17% | 0.838 |
| Circuit closing | 40,102 | 0.79% | 3.89 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 5,056,904 | 100% | 490 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 25,150 | 52.16% | 2.44 |
| Descriptor stored | 15,030 | 31.17% | 1.46 |
| Descriptor not newer | 8,039 | 16.67% | 0.779 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 48,219 | 100% | 4.67 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 34,763,836 | 87.19% | 0 | 0% | 0 |
| HSDir GET requests | 5,056,904 | 12.68% | 248,662,101,821 | 99.99% | 193 |
| HSDir POST requests | 48,219 | 0.12% | 1,557,988 | <0.1% | 0.00121 |
| Unparsed directory streams | 2,650 | <0.1% | 0 | 0% | 0 |
| Microdescriptor GET requests | 139 | <0.1% | 6,235,588 | <0.1% | 0.00483 |
| Consensus GET requests | 71 | <0.1% | 18,746,630 | <0.1% | 0.0145 |
| Server / extra-info descriptor GET requests | 1 | <0.1% | 2,517 | <0.1% | 1.95e-06 |
| Other GET requests | 0 | 0% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 39,871,820 | 100% | 248,688,644,544 | 100% | 193 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 61,440,281,051 | 47.6 |
| Output | 227,738,780,815 | 177 |
Relay J · Approx. 28 Oct 2026 19:00–29 Oct 00:15 UTC
about 5¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 27,190,528 | 99.43% | 1,452 |
| Not found / invalid key | 5,971 | <0.1% | 0.319 |
| Circuit closing | 149,093 | 0.55% | 7.96 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 27,345,592 | 100% | 1,461 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 28,268 | 48.62% | 1.51 |
| Descriptor stored | 21,144 | 36.37% | 1.13 |
| Descriptor not newer | 8,728 | 15.01% | 0.466 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 58,140 | 100% | 3.11 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 27,345,592 | 99.78% | 1,356,717,303,710 | 99.98% | 580 |
| HSDir POST requests | 58,140 | 0.21% | 2,041,136 | <0.1% | 0.000872 |
| Consensus GET requests | 736 | <0.1% | 242,943,799 | <0.1% | 0.104 |
| Closed while waiting for an HTTP request | 612 | <0.1% | 0 | 0% | 0 |
| Unparsed directory streams | 291 | <0.1% | 0 | 0% | 0 |
| Microdescriptor GET requests | 101 | <0.1% | 3,711,708 | <0.1% | 0.00159 |
| Other GET requests | 22 | <0.1% | 1,386 | <0.1% | 5.92e-07 |
| Server / extra-info descriptor GET requests | 15 | <0.1% | 87,261 | <0.1% | 3.73e-05 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 27,405,509 | 100% | 1,356,966,089,000 | 100% | 580 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 90,955,303,872 | 38.9 |
| Output | 1,293,631,444,401 | 553 |
Relay J · Approx. 29 Oct 2026 01:00–03:15 UTC
about 2¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 8,762,141 | 99.31% | 1,051 |
| Not found / invalid key | 2,048 | <0.1% | 0.246 |
| Circuit closing | 58,995 | 0.67% | 7.07 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 8,823,184 | 100% | 1,058 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 20,359 | 53.17% | 2.44 |
| Descriptor stored | 11,573 | 30.22% | 1.39 |
| Descriptor not newer | 6,360 | 16.61% | 0.763 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 38,292 | 100% | 4.59 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 22,764,459 | 71.98% | 0 | 0% | 0 |
| HSDir GET requests | 8,823,184 | 27.90% | 437,342,506,238 | >99.99% | 420 |
| HSDir POST requests | 38,292 | 0.12% | 1,188,744 | <0.1% | 0.00114 |
| Unparsed directory streams | 356 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 28 | <0.1% | 8,996,822 | <0.1% | 0.00863 |
| Microdescriptor GET requests | 23 | <0.1% | 6,262,048 | <0.1% | 0.00601 |
| Server / extra-info descriptor GET requests | 2 | <0.1% | 3,318 | <0.1% | 3.18e-06 |
| Other GET requests | 2 | <0.1% | 126 | <0.1% | 1.21e-07 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 31,626,346 | 100% | 437,358,957,296 | 100% | 420 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 55,647,462,051 | 53.4 |
| Output | 425,445,360,224 | 408 |
Relay K · Approx. 28 Oct 2026 19:00–21:45 UTC
about 2¾ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 5,271,727 | 99.26% | 526 |
| Not found / invalid key | 2,455 | <0.1% | 0.245 |
| Circuit closing | 37,044 | 0.70% | 3.7 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 5,311,226 | 100% | 530 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 21,231 | 53.82% | 2.12 |
| Descriptor stored | 11,603 | 29.41% | 1.16 |
| Descriptor not newer | 6,612 | 16.76% | 0.66 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 39,446 | 100% | 3.94 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 39,137,302 | 87.97% | 0 | 0% | 0 |
| HSDir GET requests | 5,311,226 | 11.94% | 262,744,551,447 | 99.99% | 210 |
| HSDir POST requests | 39,446 | <0.1% | 1,235,688 | <0.1% | 0.000987 |
| Unparsed directory streams | 3,346 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 79 | <0.1% | 15,498,162 | <0.1% | 0.0124 |
| Microdescriptor GET requests | 50 | <0.1% | 2,248,727 | <0.1% | 0.0018 |
| Server / extra-info descriptor GET requests | 5 | <0.1% | 34,551 | <0.1% | 2.76e-05 |
| Other GET requests | 0 | 0% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 44,491,454 | 100% | 262,763,568,575 | 100% | 210 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 64,898,834,162 | 51.8 |
| Output | 247,085,330,586 | 197 |
Relay L · Approx. 28 Oct 2026 20:15–22:30 UTC
about 2¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 4,012,706 | 98.96% | 495 |
| Not found / invalid key | 6,089 | 0.15% | 0.752 |
| Circuit closing | 36,200 | 0.89% | 4.47 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 4,054,995 | 100% | 501 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 9,390 | 53.20% | 1.16 |
| Descriptor stored | 5,198 | 29.45% | 0.642 |
| Descriptor not newer | 3,061 | 17.34% | 0.378 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 17,649 | 100% | 2.18 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 33,032,085 | 89.02% | 0 | 0% | 0 |
| HSDir GET requests | 4,054,995 | 10.93% | 199,847,994,796 | 99.99% | 197 |
| HSDir POST requests | 17,649 | <0.1% | 516,460 | <0.1% | 0.00051 |
| Unparsed directory streams | 2,452 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 80 | <0.1% | 24,139,245 | <0.1% | 0.0238 |
| Microdescriptor GET requests | 32 | <0.1% | 1,059,585 | <0.1% | 0.00105 |
| Server / extra-info descriptor GET requests | 12 | <0.1% | 198,210 | <0.1% | 0.000196 |
| Other GET requests | 3 | <0.1% | 189 | <0.1% | 1.87e-07 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 37,107,308 | 100% | 199,873,908,485 | 100% | 197 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 53,750,380,683 | 53.1 |
| Output | 204,641,143,900 | 202 |
Relay L · Approx. 28 Oct 2026 23:00–29 Oct 01:00 UTC
about 2 h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 5,612,350 | 99.17% | 748 |
| Not found / invalid key | 7,481 | 0.13% | 0.997 |
| Circuit closing | 39,264 | 0.69% | 5.24 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 5,659,095 | 100% | 755 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 34,977 | 52.27% | 4.66 |
| Descriptor stored | 12,948 | 19.35% | 1.73 |
| Descriptor not newer | 18,992 | 28.38% | 2.53 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 66,917 | 100% | 8.92 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 9,600,740 | 62.60% | 0 | 0% | 0 |
| HSDir GET requests | 5,659,095 | 36.90% | 279,414,305,678 | 99.75% | 298 |
| HSDir POST requests | 66,917 | 0.44% | 2,152,934 | <0.1% | 0.0023 |
| Unparsed directory streams | 7,038 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 1,896 | <0.1% | 663,777,569 | 0.24% | 0.708 |
| Server / extra-info descriptor GET requests | 236 | <0.1% | 2,107,639 | <0.1% | 0.00225 |
| Microdescriptor GET requests | 67 | <0.1% | 28,310,664 | <0.1% | 0.0302 |
| Other GET requests | 52 | <0.1% | 3,276 | <0.1% | 3.49e-06 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 15,336,041 | 100% | 280,110,657,760 | 100% | 299 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 34,220,071,237 | 36.5 |
| Output | 271,677,728,223 | 290 |
Relay M · Approx. 28 Oct 2026 20:15–22:45 UTC
about 2½ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 2,283,529 | 98.07% | 247 |
| Not found / invalid key | 3,361 | 0.14% | 0.364 |
| Circuit closing | 41,503 | 1.78% | 4.49 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 2,328,393 | 100% | 252 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 12,734 | 57.76% | 1.38 |
| Descriptor stored | 5,247 | 23.80% | 0.568 |
| Descriptor not newer | 4,067 | 18.45% | 0.44 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 22,048 | 100% | 2.39 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 36,435,460 | 93.92% | 0 | 0% | 0 |
| HSDir GET requests | 2,328,393 | 6.00% | 112,925,374,275 | 99.97% | 97.8 |
| HSDir POST requests | 22,048 | <0.1% | 587,232 | <0.1% | 0.000508 |
| Unparsed directory streams | 6,160 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 91 | <0.1% | 29,626,252 | <0.1% | 0.0257 |
| Microdescriptor GET requests | 72 | <0.1% | 3,283,462 | <0.1% | 0.00284 |
| Other GET requests | 6 | <0.1% | 378 | <0.1% | 3.27e-07 |
| Server / extra-info descriptor GET requests | 4 | <0.1% | 24,925 | <0.1% | 2.16e-05 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 38,792,234 | 100% | 112,958,896,524 | 100% | 97.8 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 49,279,653,237 | 42.7 |
| Output | 96,475,764,036 | 83.5 |
Relay N · Approx. 28 Oct 2026 21:00–23:45 UTC
about 2¾ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 2,660,935 | 98.65% | 258 |
| Not found / invalid key | 4,384 | 0.16% | 0.425 |
| Circuit closing | 32,015 | 1.19% | 3.1 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 2,697,334 | 100% | 261 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 16,174 | 56.71% | 1.57 |
| Descriptor stored | 7,542 | 26.44% | 0.731 |
| Descriptor not newer | 4,806 | 16.85% | 0.466 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 28,522 | 100% | 2.76 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 46,962,753 | 94.51% | 0 | 0% | 0 |
| HSDir GET requests | 2,697,334 | 5.43% | 131,839,529,152 | 99.97% | 102 |
| HSDir POST requests | 28,522 | <0.1% | 760,092 | <0.1% | 0.000589 |
| Unparsed directory streams | 4,019 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 117 | <0.1% | 33,321,286 | <0.1% | 0.0258 |
| Microdescriptor GET requests | 18 | <0.1% | 1,242,036 | <0.1% | 0.000963 |
| Other GET requests | 15 | <0.1% | 945 | <0.1% | 7.33e-07 |
| Server / extra-info descriptor GET requests | 5 | <0.1% | 7,468 | <0.1% | 5.79e-06 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 49,692,783 | 100% | 131,874,860,979 | 100% | 102 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 64,720,387,859 | 50.2 |
| Output | 122,939,279,778 | 95.3 |
Relay N · Approx. 29 Oct 2026 01:00–03:15 UTC
about 2¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 13,020,021 | 99.32% | 1,561 |
| Not found / invalid key | 8,371 | <0.1% | 1 |
| Circuit closing | 80,360 | 0.61% | 9.64 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 13,108,752 | 100% | 1,572 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 20,067 | 48.39% | 2.41 |
| Descriptor stored | 15,015 | 36.21% | 1.8 |
| Descriptor not newer | 6,389 | 15.41% | 0.766 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 41,471 | 100% | 4.97 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 13,108,752 | 99.68% | 648,654,644,842 | 99.99% | 622 |
| HSDir POST requests | 41,471 | 0.32% | 1,350,698 | <0.1% | 0.0013 |
| Closed while waiting for an HTTP request | 405 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 110 | <0.1% | 36,077,256 | <0.1% | 0.0346 |
| Unparsed directory streams | 104 | <0.1% | 0 | 0% | 0 |
| Server / extra-info descriptor GET requests | 9 | <0.1% | 24,051 | <0.1% | 2.31e-05 |
| Other GET requests | 2 | <0.1% | 126 | <0.1% | 1.21e-07 |
| Microdescriptor GET requests | 0 | 0% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 13,150,853 | 100% | 648,692,096,973 | 100% | 622 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 41,784,802,162 | 40.1 |
| Output | 595,928,666,505 | 572 |
Relay O · Approx. 28 Oct 2026 21:00–23:30 UTC
about 2½ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 14,429,733 | 99.33% | 1,532 |
| Not found / invalid key | 12,166 | <0.1% | 1.29 |
| Circuit closing | 84,841 | 0.58% | 9.01 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 14,526,740 | 100% | 1,542 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 8,865 | 33.26% | 0.941 |
| Descriptor stored | 14,493 | 54.38% | 1.54 |
| Descriptor not newer | 3,293 | 12.36% | 0.35 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 26,651 | 100% | 2.83 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 14,526,740 | 99.81% | 720,005,912,036 | >99.99% | 611 |
| HSDir POST requests | 26,651 | 0.18% | 1,097,542 | <0.1% | 0.000932 |
| Closed while waiting for an HTTP request | 295 | <0.1% | 0 | 0% | 0 |
| Unparsed directory streams | 146 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 75 | <0.1% | 20,315,898 | <0.1% | 0.0173 |
| Server / extra-info descriptor GET requests | 25 | <0.1% | 148,799 | <0.1% | 0.000126 |
| Microdescriptor GET requests | 21 | <0.1% | 596,335 | <0.1% | 0.000506 |
| Other GET requests | 5 | <0.1% | 15,336 | <0.1% | 1.3e-05 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 14,553,958 | 100% | 720,028,085,946 | 100% | 611 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 54,310,952,580 | 46.1 |
| Output | 717,346,203,509 | 609 |
Relay P · Approx. 28 Oct 2026 22:00–29 Oct 00:30 UTC
about 2½ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 1,914,078 | 98.75% | 222 |
| Not found / invalid key | 5,920 | 0.31% | 0.685 |
| Circuit closing | 18,284 | 0.94% | 2.12 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 1,938,282 | 100% | 224 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 6,001 | 51.74% | 0.695 |
| Descriptor stored | 3,652 | 31.49% | 0.423 |
| Descriptor not newer | 1,946 | 16.78% | 0.225 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 11,599 | 100% | 1.34 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 35,423,954 | 94.77% | 0 | 0% | 0 |
| HSDir GET requests | 1,938,282 | 5.19% | 94,765,259,022 | 99.97% | 87.7 |
| HSDir POST requests | 11,599 | <0.1% | 347,376 | <0.1% | 0.000322 |
| Unparsed directory streams | 5,100 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 143 | <0.1% | 26,258,504 | <0.1% | 0.0243 |
| Microdescriptor GET requests | 37 | <0.1% | 59,222 | <0.1% | 5.48e-05 |
| Server / extra-info descriptor GET requests | 4 | <0.1% | 10,472 | <0.1% | 9.7e-06 |
| Other GET requests | 2 | <0.1% | 126 | <0.1% | 1.17e-07 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 37,379,121 | 100% | 94,791,934,722 | 100% | 87.8 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 48,948,363,538 | 45.3 |
| Output | 90,856,588,475 | 84.1 |
Relay P · Approx. 29 Oct 2026 02:00–03:15 UTC
about 1¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 3,076,121 | 99.15% | 666 |
| Not found / invalid key | 7,186 | 0.23% | 1.56 |
| Circuit closing | 19,195 | 0.62% | 4.15 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 3,102,502 | 100% | 672 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 20,344 | 54.07% | 4.4 |
| Descriptor stored | 9,326 | 24.79% | 2.02 |
| Descriptor not newer | 7,955 | 21.14% | 1.72 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 37,625 | 100% | 8.14 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 10,162,303 | 76.37% | 0 | 0% | 0 |
| HSDir GET requests | 3,102,502 | 23.32% | 153,329,305,252 | 99.98% | 266 |
| HSDir POST requests | 37,625 | 0.28% | 1,034,226 | <0.1% | 0.00179 |
| Unparsed directory streams | 4,024 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 77 | <0.1% | 28,787,815 | <0.1% | 0.0498 |
| Microdescriptor GET requests | 4 | <0.1% | 8,444 | <0.1% | 1.46e-05 |
| Other GET requests | 3 | <0.1% | 189 | <0.1% | 3.27e-07 |
| Server / extra-info descriptor GET requests | 2 | <0.1% | 5,024 | <0.1% | 8.7e-06 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 13,306,540 | 100% | 153,359,140,950 | 100% | 266 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 24,701,496,423 | 42.8 |
| Output | 136,431,931,387 | 236 |
Relay Q · Approx. 28 Oct 2026 22:00–29 Oct 00:15 UTC
about 2¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 9,944,585 | 99.36% | 1,237 |
| Not found / invalid key | 11,438 | 0.11% | 1.42 |
| Circuit closing | 52,397 | 0.52% | 6.52 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 10,008,420 | 100% | 1,245 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 12,009 | 39.89% | 1.49 |
| Descriptor stored | 14,672 | 48.74% | 1.82 |
| Descriptor not newer | 3,422 | 11.37% | 0.426 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 30,103 | 100% | 3.74 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 10,008,420 | 99.69% | 496,615,043,150 | 99.99% | 494 |
| HSDir POST requests | 30,103 | 0.30% | 1,270,298 | <0.1% | 0.00126 |
| Unparsed directory streams | 371 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 217 | <0.1% | 42,482,664 | <0.1% | 0.0423 |
| Closed while waiting for an HTTP request | 189 | <0.1% | 0 | 0% | 0 |
| Microdescriptor GET requests | 68 | <0.1% | 961,586 | <0.1% | 0.000957 |
| Other GET requests | 68 | <0.1% | 4,284 | <0.1% | 4.26e-06 |
| Server / extra-info descriptor GET requests | 5 | <0.1% | 3,577 | <0.1% | 3.56e-06 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 10,039,441 | 100% | 496,659,765,559 | 100% | 494 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 35,425,686,818 | 35.2 |
| Output | 432,803,934,518 | 431 |
Relay Q · Approx. 29 Oct 2026 02:00–03:15 UTC
about 1¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 5,927,846 | 99.35% | 1,283 |
| Not found / invalid key | 8,924 | 0.15% | 1.93 |
| Circuit closing | 29,759 | 0.50% | 6.44 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 5,966,529 | 100% | 1,291 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 29,883 | 51.42% | 6.47 |
| Descriptor stored | 17,648 | 30.37% | 3.82 |
| Descriptor not newer | 10,586 | 18.21% | 2.29 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 58,117 | 100% | 12.6 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 5,966,529 | 99.02% | 295,877,861,255 | 99.99% | 512 |
| HSDir POST requests | 58,117 | 0.96% | 1,649,842 | <0.1% | 0.00286 |
| Unparsed directory streams | 519 | <0.1% | 0 | 0% | 0 |
| Closed while waiting for an HTTP request | 150 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 56 | <0.1% | 13,313,270 | <0.1% | 0.0231 |
| Microdescriptor GET requests | 34 | <0.1% | 585,222 | <0.1% | 0.00101 |
| Other GET requests | 10 | <0.1% | 630 | <0.1% | 1.09e-06 |
| Server / extra-info descriptor GET requests | 0 | 0% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 6,025,415 | 100% | 295,893,410,219 | 100% | 512 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 23,798,667,186 | 41.2 |
| Output | 232,184,186,571 | 402 |
Relay R · Approx. 29 Oct 2026 00:00–02:45 UTC
about 2¾ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 3,165,989 | 98.48% | 328 |
| Not found / invalid key | 4,753 | 0.15% | 0.492 |
| Circuit closing | 44,044 | 1.37% | 4.56 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 3,214,786 | 100% | 333 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 56,975 | 58.97% | 5.9 |
| Descriptor stored | 13,951 | 14.44% | 1.44 |
| Descriptor not newer | 25,693 | 26.59% | 2.66 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 96,619 | 100% | 10 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 43,641,192 | 92.89% | 0 | 0% | 0 |
| HSDir GET requests | 3,214,786 | 6.84% | 156,979,681,489 | 99.95% | 130 |
| HSDir POST requests | 96,619 | 0.21% | 2,655,024 | <0.1% | 0.0022 |
| Unparsed directory streams | 26,581 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 232 | <0.1% | 66,063,454 | <0.1% | 0.0547 |
| Microdescriptor GET requests | 49 | <0.1% | 1,752,093 | <0.1% | 0.00145 |
| Server / extra-info descriptor GET requests | 12 | <0.1% | 1,328,304 | <0.1% | 0.0011 |
| Other GET requests | 6 | <0.1% | 378 | <0.1% | 3.13e-07 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 46,979,477 | 100% | 157,051,480,742 | 100% | 130 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 65,358,838,462 | 54.1 |
| Output | 168,476,111,830 | 140 |
Relay S · Approx. 29 Oct 2026 00:00–02:45 UTC
about 2¾ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 2,936,958 | 98.37% | 304 |
| Not found / invalid key | 4,248 | 0.14% | 0.44 |
| Circuit closing | 44,367 | 1.49% | 4.59 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 2,985,573 | 100% | 309 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 56,113 | 59.79% | 5.81 |
| Descriptor stored | 12,770 | 13.61% | 1.32 |
| Descriptor not newer | 24,970 | 26.61% | 2.58 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 93,853 | 100% | 9.72 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 42,069,947 | 93.12% | 0 | 0% | 0 |
| HSDir GET requests | 2,985,573 | 6.61% | 145,283,071,342 | 99.93% | 120 |
| HSDir POST requests | 93,853 | 0.21% | 2,269,610 | <0.1% | 0.00188 |
| Unparsed directory streams | 28,441 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 257 | <0.1% | 89,954,070 | <0.1% | 0.0745 |
| Microdescriptor GET requests | 54 | <0.1% | 8,268,160 | <0.1% | 0.00685 |
| Server / extra-info descriptor GET requests | 34 | <0.1% | 307,645 | <0.1% | 0.000255 |
| Other GET requests | 17 | <0.1% | 137,754 | <0.1% | 0.000114 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 45,178,176 | 100% | 145,384,008,581 | 100% | 120 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 63,357,685,644 | 52.5 |
| Output | 155,069,519,311 | 128 |
Relay T · Approx. 29 Oct 2026 00:00–03:15 UTC
about 3¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 921,720 | 95.08% | 78 |
| Not found / invalid key | 4,751 | 0.49% | 0.402 |
| Circuit closing | 42,944 | 4.43% | 3.63 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 969,415 | 100% | 82 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 66,579 | 66.54% | 5.63 |
| Descriptor stored | 14,826 | 14.82% | 1.25 |
| Descriptor not newer | 18,658 | 18.65% | 1.58 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 100,063 | 100% | 8.47 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 57,501,531 | 98.16% | 0 | 0% | 0 |
| HSDir GET requests | 969,415 | 1.65% | 44,001,660,375 | 97.58% | 29.8 |
| HSDir POST requests | 100,063 | 0.17% | 1,984,412 | <0.1% | 0.00134 |
| Unparsed directory streams | 7,954 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 2,923 | <0.1% | 1,088,997,642 | 2.41% | 0.737 |
| Microdescriptor GET requests | 86 | <0.1% | 2,178,163 | <0.1% | 0.00147 |
| Other GET requests | 77 | <0.1% | 4,851 | <0.1% | 3.28e-06 |
| Server / extra-info descriptor GET requests | 39 | <0.1% | 138,851 | <0.1% | 9.4e-05 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 58,582,088 | 100% | 45,094,964,294 | 100% | 30.5 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 72,485,793,717 | 49.1 |
| Output | 61,458,859,452 | 41.6 |
Relay U · Approx. 29 Oct 2026 01:00–03:15 UTC
about 2¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 5,835,877 | 98.78% | 700 |
| Not found / invalid key | 6,275 | 0.11% | 0.752 |
| Circuit closing | 65,944 | 1.12% | 7.91 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 5,908,096 | 100% | 708 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 20,681 | 50.87% | 2.48 |
| Descriptor stored | 12,594 | 30.98% | 1.51 |
| Descriptor not newer | 7,377 | 18.15% | 0.885 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 40,652 | 100% | 4.87 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| Closed while waiting for an HTTP request | 20,338,150 | 77.36% | 0 | 0% | 0 |
| HSDir GET requests | 5,908,096 | 22.47% | 290,205,915,101 | >99.99% | 278 |
| HSDir POST requests | 40,652 | 0.15% | 1,168,450 | <0.1% | 0.00112 |
| Unparsed directory streams | 4,458 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 38 | <0.1% | 9,352,462 | <0.1% | 0.00897 |
| Microdescriptor GET requests | 23 | <0.1% | 707,736 | <0.1% | 0.000679 |
| Server / extra-info descriptor GET requests | 1 | <0.1% | 2,434 | <0.1% | 2.33e-06 |
| Other GET requests | 0 | 0% | 0 | 0% | 0 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 26,291,418 | 100% | 290,217,146,183 | 100% | 278 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 43,734,484,196 | 42 |
| Output | 275,435,562,402 | 264 |
Relay V · Approx. 29 Oct 2026 02:00–03:15 UTC
about 1¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 3,025,840 | 99.00% | 664 |
| Not found / invalid key | 6,745 | 0.22% | 1.48 |
| Circuit closing | 23,804 | 0.78% | 5.22 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 3,056,389 | 100% | 670 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 14,471 | 55.06% | 3.17 |
| Descriptor stored | 9,489 | 36.10% | 2.08 |
| Descriptor not newer | 2,324 | 8.84% | 0.51 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 26,284 | 100% | 5.76 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 3,056,389 | 52.91% | 151,155,825,675 | 99.99% | 265 |
| Closed while waiting for an HTTP request | 2,693,183 | 46.63% | 0 | 0% | 0 |
| HSDir POST requests | 26,284 | 0.46% | 775,300 | <0.1% | 0.00136 |
| Unparsed directory streams | 218 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 70 | <0.1% | 19,465,806 | <0.1% | 0.0342 |
| Microdescriptor GET requests | 19 | <0.1% | 54,019 | <0.1% | 9.48e-05 |
| Server / extra-info descriptor GET requests | 11 | <0.1% | 27,492 | <0.1% | 4.82e-05 |
| Other GET requests | 6 | <0.1% | 378 | <0.1% | 6.63e-07 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 5,776,180 | 100% | 151,176,148,670 | 100% | 265 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 17,586,040,553 | 30.9 |
| Output | 139,991,818,525 | 246 |
Relay W · Approx. 29 Oct 2026 02:00–03:15 UTC
about 1¼ h. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 4,575,711 | 99.24% | 1,105 |
| Not found / invalid key | 8,923 | 0.19% | 2.16 |
| Circuit closing | 26,293 | 0.57% | 6.35 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 4,610,927 | 100% | 1,114 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 27,187 | 54.80% | 6.57 |
| Descriptor stored | 13,911 | 28.04% | 3.36 |
| Descriptor not newer | 8,514 | 17.16% | 2.06 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 49,612 | 100% | 12 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 4,610,927 | 72.20% | 228,481,408,345 | 99.99% | 442 |
| Closed while waiting for an HTTP request | 1,725,821 | 27.02% | 0 | 0% | 0 |
| HSDir POST requests | 49,612 | 0.78% | 1,413,378 | <0.1% | 0.00273 |
| Unparsed directory streams | 259 | <0.1% | 0 | 0% | 0 |
| Consensus GET requests | 115 | <0.1% | 30,775,528 | <0.1% | 0.0595 |
| Microdescriptor GET requests | 20 | <0.1% | 249,736 | <0.1% | 0.000483 |
| Server / extra-info descriptor GET requests | 9 | <0.1% | 564,345 | <0.1% | 0.00109 |
| Other GET requests | 1 | <0.1% | 63 | <0.1% | 1.22e-07 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 6,386,764 | 100% | 228,514,411,395 | 100% | 442 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 21,326,282,371 | 41.2 |
| Output | 208,901,845,928 | 404 |
Relay X · Approx. 29 Oct 2026 03:00–03:15 UTC
about 15 min. Handling results for HSDir GET requests and HSDir POST requests are present.
| Handling result | HSDir GET requests | Share of HSDir GET requests | Mean HSDir GET requests/s |
|---|---|---|---|
| Response queued | 941,158 | 99.33% | 826 |
| Not found / invalid key | 965 | 0.10% | 0.846 |
| Circuit closing | 5,384 | 0.57% | 4.72 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir GET requests | 947,507 | 100% | 831 |
| Handling result | HSDir POST requests | Share of HSDir POST requests | Mean HSDir POST requests/s |
|---|---|---|---|
| Circuit closing | 4,152 | 56.71% | 3.64 |
| Descriptor stored | 2,002 | 27.35% | 1.76 |
| Descriptor not newer | 1,167 | 15.94% | 1.02 |
| Invalid descriptor | 0 | 0% | 0 |
| Invalid POST URL | 0 | 0% | 0 |
| Policy refused | 0 | 0% | 0 |
| Client-channel rejected | 0 | 0% | 0 |
| All HSDir POST requests | 7,321 | 100% | 6.42 |
| Directory-stream classification | Classified directory streams | Directory-stream share | Exact internal response bytes | Internal-byte share | Mean Mbit/s |
|---|---|---|---|---|---|
| HSDir GET requests | 947,507 | 99.22% | 46,995,247,781 | 99.97% | 330 |
| HSDir POST requests | 7,321 | 0.77% | 156,856 | <0.1% | 0.0011 |
| Consensus GET requests | 41 | <0.1% | 13,221,264 | <0.1% | 0.0928 |
| Closed while waiting for an HTTP request | 37 | <0.1% | 0 | 0% | 0 |
| Unparsed directory streams | 18 | <0.1% | 0 | 0% | 0 |
| Server / extra-info descriptor GET requests | 7 | <0.1% | 27,460 | <0.1% | 0.000193 |
| Other GET requests | 2 | <0.1% | 126 | <0.1% | 8.84e-07 |
| Microdescriptor GET requests | 1 | <0.1% | 2,155 | <0.1% | 1.51e-05 |
| Other POST requests | 0 | 0% | 0 | 0% | 0 |
| Total | 954,934 | 100% | 47,008,655,642 | 100% | 330 |
| Separate whole-relay accounting | Exact bytes | Mean Mbit/s |
|---|---|---|
| Read | 3,819,865,856 | 26.8 |
| Output | 44,825,096,636 | 315 |





