iotlab

package
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2026 License: Apache-2.0 Imports: 18 Imported by: 0

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

func Open

func Open(cfg labkit.Config) (*labkit.App, error)

Open starts IoTLab's broker on cfg.Listen and returns the app.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL