M2M: history — role-mix snapshots and infra-node health history
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
Research direction
This depends on #421 and #423, so read those first and the existing StatsSnapshot collectors they build on. The work touches openapi-m2m.yaml, docs/features/packet-stats/, docs/RECENCY.md, the timeseries endpoint, and the DeviceMetrics source for the infra-node health route. Done means the new snapshot types and health endpoint exist, the backfill is idempotent, UTC bucket boundaries and m2m_opt_out are covered by tests, and the docs match.
Written by the indexing model from the issue text.
Description
Part of pskillen/meshflow-api#416. Later phase; depends on #421 and #423.
Scope
- Role-mix snapshots
- New hourly
StatsSnapshottypes:nodes_by_role(Meshtastic) andmc_nodes_by_type(MeshCore). Global and per constellation, collected alongsideonline_nodes. - Add a backfill.
- Expose via
…/timeseries?metric=nodes_by_role, with a value dict per point.
- New hourly
- Infra-node health history
GET /api/m2m/v1/meshtastic/infra-nodes/{id}/health?from=&to=&interval=hour|day, fromDeviceMetrics.- Downsampled with UTC buckets (average battery, voltage, channel util, air util tx).
- Range cap 31 days.
- Respects
m2m_opt_out.
- MeshCore equivalent once MeshCore telemetry is ingested.
Docs and tests
openapi-m2m.yaml,docs/features/packet-stats/(new snapshot types),docs/RECENCY.md.- Tests:
- Collector correctness and idempotency.
- Downsampling bucket boundaries in UTC.
- Opt-out respected.
- Dominant language
- Python
- Stars
- 1
- Forks
- 0
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 5
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from pskillen/meshflow-api
-
enhancement meshtastic-2.8
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
pskillen/meshflow-api#459 ·
-
enhancement meshtastic-2.8
Difficulty 3/5 1-2 days Newbie friendliness 35/100
pskillen/meshflow-api#465 ·
-
enhancement meshtastic-2.8
Difficulty 4/5 3-5 days Newbie friendliness 22/100
pskillen/meshflow-api#464 ·
-
enhancement meshtastic-2.8
Difficulty 4/5 3-5 days Newbie friendliness 35/100
pskillen/meshflow-api#463 ·
-
enhancement meshtastic-2.8
Difficulty 3/5 1-2 days Newbie friendliness 45/100
pskillen/meshflow-api#462 ·
All issues in pskillen/meshflow-api
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
elviskahoro/sdk-python-attio#144 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Maintainers usually reply within 1 day
-
RenyiELBO raises TypeError when model has no sample sitesPossibly taken @alibb007 claimed this today. Open
Difficulty 1/5 Under an hour Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
[Bug]: Four evaluation scripts unpack init_memmachine_params's five return values into three namesOpen
Difficulty 1/5 Under an hour Newbie friendliness 88/100
MemMachine/MemMachine#1911 ·
Maintainers usually reply within 3 days