Data loss/throttling?

Does Electric Imp throttle outgoing data? I’ve been sending data from my Arduino/Imp001 to a logging/visualization service (Initial State) however sometimes up to half of the data is never logged. I’m making no more than 15 API calls per minute. I don’t get any errors anywhere, the data just vanishes into the ether. The problem is also intermittent, sometimes most of my data gets logged sometimes less than half. I’m trying to figure out where the data is getting lost. I can see all the data in the imp console so I know it got from my device to the agent, but what happens afterwards, between Electric Imp’s servers and Initial State’s servers is a black hole. I’m beginning to think that the problem is with either Electric Imp or Initial State and that one or both are discarding/throttling data. Any way to find out who?

Any help or insights would be much appreciated.

We do throttle, but you will see this (check the response codes from your outbound http and you will see 429 responses and a header that indicates the time you need to wait before you can issue another request).

The docs here give more detail: https://electricimp.com/docs/troubleshooting/httpresponsecodes/

Currently:

  • You can issue 10 outbound requests per second
  • There can be no more than 20 requests in flight at any time

…obviously, to get any more than 1 in flight you need to be using async http, per the docs. Also obviously, 15 per minute isn’t getting anywhere near to this.

If you’re getting a 2xx return code from Initial State, then the delivery is completed without error. If the data isn’t appearing then the issue would be at their end - I don’t know what their policy is.