feat: mark Labs nodes and pools, and show external nodes and external bytes as their own counters

Aperta
#66 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
typescript

Direzione di ricerca

Start with wrangler.jsonc, the stats serialization and validation path using asStats and emptyLabel, and the metrics and settlements page; read #65 for the existing external-paid metric. Then update website/lib/stats.ts to accept the additive fields in the same release window. Done means internal operators and owners are published consistently, node and byte counters have hourly and daily points, and the page shows the split, Labs tags, and copy.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

enhancement

Problem

The page says 9 registered nodes. Most are ours. It does not say so, and a reader who finds out later trusts nothing else on the page. The same applies to pools: #65 adds "bytes paid by non-operator pools", but a Labs pool that is not a registered operator (the smoke-test buyer) still counts as external there.

Proposal

Mark Labs-run nodes and Labs-owned pools, and show external figures as their own counters:

  • Config. INTERNAL_OPERATORS and INTERNAL_OWNERS lists in wrangler.jsonc (addresses, lower-case), maintained from the fleet inventory (decdn/fleet). Both ship in the published JSON (internal: { operators: [...], owners: [...] }) so the page and anyone reading the file apply the same classification.
  • Nodes. nodes[].internal: true for a registered operator in the list. The by-region table shows "9 nodes (6 Labs, 3 external)"; the header liveness figure gets the same split.
  • Bytes. totals.externalBytesServed (Settled by an external operator) alongside the external-paid figure from #65 (PoolRedeemed from a pool whose owner is neither an operator nor in INTERNAL_OWNERS). Both get hourly and daily points like the headline metrics.
  • Settlements table. A "Labs" tag on internal operator rows.
  • Copy. One line under the metrics: "Labs runs N of the nodes; external counters exclude them and the pools we fund." Lowercase, type-micro, as the page does.

Empty states follow the existing emptyLabel switch per block; asStats validates the new fields; website/lib/stats.ts (decdn/website) shape-checks the same file, so land the additive fields there in the same window.

Related

  • External-paid metric: #65
  • Real mirror that makes the external line move (decdn/fleet): decdn/fleet#44
Lingua principale
TypeScript
Stelle
2
Fork
0
Merge medio
10h 46m
PR unite (30g)
37

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di decdn/stats

Tutte le issue di decdn/stats

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.