(You posted a blank image!)
idelta(metric[period]) only gives the difference between the last two points in a range. Suppose the time period covered has the values (0, 0, 1, 1). The last two values are (1, 1) and idelta will give zero.
You say you're scraping data at 5 second intervals, and you're doing idelta(parcel[20s]). That looks at the last two points in a 20 second range
Whether or not you see any blip on your graph depends on the graph resolution. Say you zoom out in your graphing frontend, such that the X axis only shows one point every 10 seconds. It's quite possible you'll skip over the increase. It might see:
(0, 0, 0, 0) at time 0
(0, 0, 1, 1) at time 10 seconds
(1, 1, 1, 1) at time 20 seconds
and hence the idelta value for all three points will be zero. You should use delta not idelta, with a time window big enough to cover at least two data points.
Note: since this is a counter, you should be using "increase", "irate" or "rate", not "(i)delta"
- "rate" calculates the per-second increase, between the first and last data points in the time window (but skipping ranges where the counter resets, i.e. goes down). This is the normal one to use.
- "irate" gives the rate between the last two data points in the time window. It suffers from the same problem you saw with idelta.
- "increase" is "rate" multiplied by the time window - instead of "units per second" you get "units per 5 minutes" or whatever