Self-hosted telemetry path for small fleets

Lightmetrics

A pre-production Rust agent and collector for owned telemetry: durable local queues, Cap'n Proto batches, private query APIs, and stock Grafana access through a narrow Prometheus-compatible surface.

  • Pre-productionWorking ingest and query pieces with explicit limits
  • Self-hostedNo signup, pricing, hosted service, or public cloud API
  • Implementation-awarePlanned behavior is labeled before it is built
Current shape agent to collector to private reads
Host lm-agent queue, heartbeat, logs
POST batch
Ingest lm-collector spool, dedupe, live notices
Durability Accepted data local spool, raw blobs, manifests
private API
Reads Console and Grafana Prometheus subset, logs, alerts
curl -H "Authorization: Bearer $QUERY_TOKEN" \
  "http://127.0.0.1:18080/api/v1/query?query=lmagent_up"

Project information

Public pages start from current source, not a product promise

The landing route gives readers a short path to the implemented repository, the verified local demo, and the limitations that still matter.

Purpose

Lightmetrics is an owned telemetry path for small fleets that need a narrow agent, explicit ingest contracts, and private reads without a hosted-control-plane assumption.

Current maturity

The repository is pre-production. Local ingest, query, object-store, Grafana-smoke, demo, and console pieces exist, while production packaging and operations remain tracked work.

Claim boundary

Public pages summarize implemented source, limitations, and plan rows. Design targets and planned rows are not presented as shipped runtime behavior.

Core architecture

Current flow through agent, ingest, accepted data, and private reads

Agent

lm-agent

Collects heartbeat, host/process metrics, and configured complete log lines into the durable local upload queue.

Ingest

lm-collector

Accepts framed Cap'n Proto batches over the public ingest endpoint with bearer identity checks, validation, and sequence dedupe.

Storage

Accepted data

Keeps accepted frames in local spool storage and can land raw blobs plus accepted manifests through filesystem or S3-compatible object stores.

Private reads

Console and Grafana

Serves bounded metrics, logs, alerts, live notices, and a narrow Prometheus-compatible query surface behind the private query token.

Capability boundary

What the current repository can and cannot claim

Implemented

Ingest and accepted storage path

Framed Cap'n Proto validation, bearer-authenticated ingest, sequence dedupe, local spool acceptance, and S3-compatible accepted manifests are represented in the current source.

Implemented

Private read surfaces

The collector exposes bounded metrics, logs, alerts, live SSE notices, buildinfo, and a narrow Prometheus-compatible API subset for stock Grafana.

Partial

Host telemetry and console depth

Linux heartbeat metrics, capped CPU, memory, load, network bytes, queue filesystem, process CPU, and process RSS exist. Some console depth remains bounded by missing backend contracts.

Planned

Production operations

Service units, package formats, broader admin workflows, and the public deployment path are tracked but not complete.

Local evaluation

Quickstart path

  1. Start the demo harness scripts/lightmetrics-demo restart
  2. Inspect service state scripts/lightmetrics-demo status
  3. Query the agent heartbeat /api/v1/query?query=lmagent_up

Roadmap preview

Public site workstream

WEB-01

Claude Design public website HTML mockup/pages for lightmetrics.dev

Done

Worklog: WEB-01. Static reference bundle archived at design-artifacts/claude-design/lightmetrics-public-site-2026-05-08.tar.gz; no Astro scaffold, Cloudflare deployment, or DNS change.

P1 deps: none planning estimate: 18m
WEB-02

Static Astro site scaffold and content/source boundary. Production website contract change: add the site/ package, select pnpm as the site package manager, and define build-time repository inputs for public pages

Done

Worklog: WEB-02. Static Astro scaffold committed under site/; no Cloudflare adapter, SSR, DNS/custom-domain change, full Markdown publishing pipeline, or full public Gantt surface.

P1 deps: WEB-01, DOC-02A, PLAN-01 planning estimate: 20m
WEB-03

Landing page and project information content

Done

Worklog: WEB-03. Landing route now includes source-grounded project facts, architecture steps, start-point links, and desktop/mobile browser verification; no full Markdown docs publishing, full public Gantt surface, Cloudflare Pages configuration, or DNS/custom-domain change.

P1 deps: WEB-02 planning estimate: 18m
WEB-04

Public documentation publishing pipeline

Done

Worklog: WEB-04. Static Astro docs routes are generated from an allowlist of repository Markdown sources, the build checks same-origin output links, planned guides remain listed as planned, and agent/review/worklog procedure sources are excluded from public docs routes. No full public Gantt interaction, Cloudflare Pages configuration, runtime API calls, DNS/custom-domain change, or package/service-unit docs are introduced.

P1 deps: WEB-02, DOC-02A, DOC-02B, DOC-02C planning estimate: 18m