Skip to content

v0.10.0 — Deep Telemetry

Choose a tag to compare

@discostu105 discostu105 released this 22 Mar 15:44

Highlights

Deep telemetrylox status and lox otel now expose every diagnostic endpoint the Miniserver offers. Interrupts, SD card health, parity errors, buffer exhaustion — if the Miniserver tracks it, lox can show it and ship it to your OTLP backend.

Added

  • lox status --diag — 3 new metrics: hardware interrupts, communication interrupts, context switches (idle)
  • lox status --diag — SD card response parsed into structured fields: read/write speed, error count, usage %, manufacturer ID, card metadata. No more raw string blobs
  • lox status --net — DNS 2 (previously only DNS 1 was shown)
  • lox status --bus — CAN bus parity errors
  • lox status --lan — TX underruns, buffer exhaustion, no-buffer events
  • 11 new OTLP metrics in lox otel serve / lox otel push:
    • loxone.system.interrupts, loxone.system.comm_interrupts, loxone.system.context_switches_idle
    • loxone.can.parity_errors
    • loxone.lan.tx_underruns, loxone.lan.exhaustion, loxone.lan.no_buffers
    • loxone.sd.read_speed, loxone.sd.write_speed, loxone.sd.errors, loxone.sd.usage
  • OTLP metric reference tabledocs/guides/opentelemetry.md now has a complete table of all exported metrics with units

Fixed

  • xml_attr handles JSON responses — Gen2 Miniservers return JSON (not XML) from /jdev/ endpoints. The parser now handles both formats transparently, so all diagnostic commands work on Gen1 and Gen2 alike

Changed

  • License — switched from MIT to dual-license: GPL-3.0 + Commercial
  • GitHub Pages — fixed terminal demo and install block formatting

Example

$ lox status --diag
┌─ Diagnostics ───────────────────────────────────────
│  CPU:              12%
│  Tasks:            44
│  Context switches: 123456789
│  Interrupts:       987654
│  Comm interrupts:  12345
│  Ctx switches (i): 98765432
│  SD read:          540 kB/s
│  SD write:         370 kB/s
│  SD errors:        ✓ No errors
│  SD usage:         2.8%
│  SD manufactured:  2014/2 (mfr 27)
└─────────────────────────────────────────────────────

$ lox status --diag -o json | jq .sd_card
{
  "raw": "SD Performance: Read: 540kB/s, ...",
  "read_speed_kbs": 540,
  "write_speed_kbs": 370,
  "error_type": 0,
  "error_count": 0,
  "usage_pct": 2.79
}

Upgrade

# macOS / Linux
brew upgrade lox

# Windows
irm https://raw.githubusercontent.com/discostu105/lox/main/install.ps1 | iex

Full Changelog: v0.9.1...v0.10.0

What's Changed

  • Switch project licensing from MIT to dual GPL-3.0 and Commercial by @discostu105 in #92
  • Improve terminal and install block styling with semantic markup by @discostu105 in #93
  • feat: add missing Miniserver telemetry endpoints by @discostu105 in #95

Full Changelog: v0.9.1...v0.10.0