Reliability analysis from Electron -> Particle Cloud -> Azure IoT Hub

News update after the weekend test:
We deal now again with the problem that we loose certain data samples.
I am mostly worried about the “sleep” erros of the Particle Azure WebHook :thinking:

The corresponding chart of IoT Hub events looks like this, with three major dips (24h between first and second, 12h between second and third).

Unfortunately my curl logging process terminated before grabbing any useful log from particle cloud, so we have extended now our stability test logging setup (each sample is identified by a sampleCount)

  1. Log Events from Particle firmware throught USB serial to electron.log
  2. Log Events from Particle Cloud (including WebHook status) to particleEvents.log
  3. Log Events received on Azure IoTHub to iotHubEvents.log
  4. Detect duplicated and missing samples on the end user web site (TypeScript debugger output)

Hint regarding double dispatching:
We solved the “double dispatching” problem in Azure with a ServiceBus “duplication detection”.
If the same message is posted twice (identified by setting the Message.MessageId field with a hash of payload), the Service Bus will filter it out.
image

Next steps:
The problem is now reduced to find the root cause for missing packets (which I also believe is due to timeouts from Particle -> Azure IoT Hub).**

1 Like