Every few days I see a situation where the totals of the client activity and total queries graph doesn't match; sometimes it's off by a thousand queries. The client activity is always higher than total queries when this happens.
I ran pihole -up to get the latest v6 updates and the graph is back to normal. I think it must be a rendering problem that develops over time, no issue with the database.
Next time it happens, I'll just try restarting FTL to see if it fixes the problem.
The sum of Total queries and Client activity should match.
If you see this mismatch again, you can check the number of queries on each graphic positioning the mouse pointer over one bar to see the details on the legend.
The sum of items in both graphics should be the same.
I really don't know why the javascript plugin calculated different maximum values in this specific case.
From this point, this is just a guess:
Maybe the issue is related to the way the maximum is calculated for stacked bars graphics (inside the javascript plugin code).
The first graphic only has 3 bars. The second one has at least 9 bars in your case. Maybe this caused a rounding difference, resulting in different presentations. (As I said, this is just a guess.)
What makes things slow is what @sawsanders has already observed:
Please try
pihole cehckout ftl fix/overTimeGraphs
pihole checkout web fix/overTimeGraphs
in about 20-30 minutes from now (to give CI some time to build the new binaries) edit: done and check if you see the same habit coming up again.
I changed two things in these branches:
Cache-optimization was not correctly added to the total query counts, making them potentially smaller. Cache optimizer can contribute up to 20% of your queries so this is indeed relevant any may explain the difference you were seeing.
Disentangle queries by status better. This adds a fourth "other" category (blue color) in the main graph.
Not on purpose. I see several clients have IP6 in addition to IP4 addresses in the network table, although I don't have any IP6 setup on my router nor do I have IP6 network access to the internet.
It seems I am not able to reproduce this any longer myself.
I pushed an update to the aforementioned branch, maybe you could try with pihole -up when you find that increasing webserver.api.maxClients didn't help. This contains only some small code simplification I have made after starring at the code the entire way, waiting for the issue to re-appear (which it never did...).
Could this be anyway related to client recycling? I also feel like this has been going on since Pi-hole started limiting max clients on the over time graphs.
Sure, I was thinking the same yesterday but it's totally unclear to me how duplicates could arise as recycling overwrites clients data (including counts) with zeros.
Questions:
We see here that the duplicates have the same hostname. Is it possible that they - somehow - get multiple IP addresses over the day?
Could you check the raw JSON response for api/history/clients? It should contain this information.
Is this already after you updated the branch or before?
It's possible but not very likely IMHO. My router uses dnsmasq to assign ip addresses so the ip's have been very stable every time I've checked. Also, a simple pihole restartdns fixes the graph for a several hours.
EDIT: Also, only see one entry in Pi-hole's network table for my the devices that show up multiple times in the graphs.
Yes, if you can point me in the right direction to do so. I assume that's an API call?
That's before. I have since updated and it's starting to happen again with a different client. It's been about 6 hours since FTL restarted.
Just a note:
Do you have IPv6 connectivity?
It could be quite likely that IPv6 addresses change frequently over a day. Some OSs shift their temporary IPv6 addresses as often as once every 2 hours.
Hmm. When I followed the Wireguard tutorial, it added an ipv6 interface to my RPI that runs Pi-hole. Many of my devices in the Pi-hole's network table show ipv4 and ipv6 addresses. I suppose I do then.
EDIT: I've been watching the live query log and I don't see any requests from ipv6 addresses.
This all still does not make too much sense to me - even more as this list is meant to be monotonically decreasing concerning total client count. I pushed another update that should be ready in about 30 minutes. The additional output I need will be right there in the response.