You can achieve that with the count function.
Just use the following query:
SELECT count(“longest-wait-time”)/3600 FROM “web” WHERE (“service” =~ /web1|app1/) AND $timeFilter GROUP BY time(1h), “service” fill(null)
What happens, is that you are going to aggregate the data by 1h chunks and after you will do an average of those values.
The division value, in this case /3600 it will depend on the resolution of your database, if it is sec by sec you want the average value of 3600 data points in 1h, if it’s min by min you want the average value of 60 data points in 1h, etc…
It’s late, but hope this helps