I want to get a per second average over a period of time. I am running into an issue getting an average of these values. For example one item only occurs 4 or so times and when I calculate the average I get 1; it is not considering the seconds where there are no results. I am doing the following now:
| bin _time span=1s |stats count as Vol by foo | stats avg(vol) by foo
I would expect to get a very low decimal due to all of the 0 values but, I get 1. I have attempted multiple ways of doing this but it seems that it is only doing an average of the existing values, not the times where I do not have results.
Your search doesn't make sense. When you bin by time, the stats command should also split by time, otherwise you are only getting a single count of events by foo in your example, so maybe this is what you need?
| timechart span=1s count by foo
| stats avg(*) as *
the timechart will give you zero values for the missing entries per second, so then the final stats will give you the average. Note you have to use the wildcard as the field names will be the values of foo after the split.