Documentation
¶
Overview ¶
Package iotlab is IoTLab, an IoT platform: an MQTT broker that devices connect to and publish readings through, an ingest service that stores every reading and acknowledges it to its device, device shadows (a desired state set over HTTP and fetched or pushed over MQTT), and a device registry and telemetry store over HTTP. It is the reference app for the iot pack.
Planted bottlenecks (see README.md), each switched off by a fix flag:
- ingest: one worker stores every reading in turn, so when the fleet reports faster than one write at a time keeps up, readings queue and acknowledgements fall behind (fix "ingest" runs 16 workers, each owning a share of the devices so a device's readings stay in order).
- presence: every connect and disconnect recounts the whole fleet's online summary while holding the registry lock that sign-ins also need, so a reconnect storm queues behind itself (fix "presence" keeps the counts up to date as devices come and go).
Index ¶
Constants ¶
View Source
const ( // Devices is the fleet: dev-0 to dev-19999, one per virtual user // (vu counts from 0). Devices = 20000 // Password is every device's MQTT password. Password = "iotlab-pass" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.