Suggestion from discussing this with armadev and irl on IRC: Relay Search could display two sets of tabs, one for bandwidth graphs and one for weights graphs, and each set of tabs only contains the tabs that Onionoo provides data for.
The issue is that the "1 month" graph has a data resolution of 1 data point per 4 hours, but recent relays are reporting bandwidth data for 24 hour periods.
In theory, an Onionoo client could look at the "6 month" graph and only display the last month. But as mentioned on #28871 (moved) this is a rather data-centric view and not as developer-friendly as it could be.
Let's fix this in Onionoo by changing the data resolution of the "1 month" graph to 24 hours. The result will be that all relays and bridges will have a "1 month" graph for bandwidth again. That graph will be a little less detailed for older relays reporting higher-resolution data, but that seems acceptable to me.
Let's also consider providing the same graph periods for all document types, also to keep the graphing code in Onionoo clients simple. In particular:
Remove "3 days" and "1 week" bandwidth graphs with data resolutions of 15 minutes and 1 hour. These are only created for older relays, and Relay Search doesn't display them anyway. The data will be found in the "1 month" graph.
Add back the "1 month" graph for client documents. We removed them in 7.0 for redundancy reasons, but it turns out that we should also consider easy of client code here. Otherwise, users will next complain about missing clients graphs for "1 month". We could just add them back at the same time as we make these other changes.
Remove "1 week" uptime and weights graph. These are not displayed by Relay Search, and their data will be contained in the "1 month" graph.
This patch should be based on the #28871 (moved) patch to avoid more unexpected effects like missing graphs that are already contained in other graphs.
If, for whichever reason, we change our minds later, we can always revert this patch and generate the old graphs again. The data will not be lost.
All these changes require a major protocol update to 8.0.
Oops, looks like forgot to update unit tests. Please also review commit 340e26b. Setting priority to high, so that we can still deploy on Thursday. Thanks!
Trac: Status: merge_ready to needs_review Priority: Medium to High
Aside, our tests fail (not these tests, but other Onionoo tests) if you run them in 1990. We're unlikely to do this in practice, but perhaps there is some deeper issue there we should fix.
Thanks for the review! I just filed #33360 (moved) for the 1990 issue, but I think we can leave the fix for after the 8.0 protocol update. Will release the graph changes and unit test fixes in two days. Thanks!