The posted query assumes that you would run this for a 30-minute span, snapping at the half hour. So, 01:00-01:30. Over that window, the search would have a result if the 01:15-01:30 span had 40% fewer events than 01:00-01:15. If you run the search without snapping to a 15-minute end time then, yes, results will change over time.
I'm not entirely sure what you mean by current, but if you mean "right now, not over a 15 minute span" then things get trickier.
The below search assumes that you've searched for any 30-minute span, and creates two buckets of time ("fifteen minutes ago until now", and "everything else"). You could run this search every minute and you would get more new results each time, but they would be the most current results, and based entirely on the last 15 minutes compared to the 15 minutes before that.
<your base search>
| addinfo
| eval fifteen_mins_ago=relative_time(info_max_time, "-15min")
| eval _time=if(_time>=fifteen_mins_ago, fifteen_mins_ago, info_min_time)
| stats count BY _time
| streamstats window=1 current=false last(count) AS last_15_min_count
| eval pct_of_last_15_min_count=(count/last_15_min_count)*100
... View more