Feature: Historical quota/usage snapshots for trend & forecasting
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
Research direction
Review the existing quota and usage CSV output and dashboard/reporting flow, along with the read-only pattern in Deploy-QuotaGroups.ps1. The proposed entry point is Get-CapacityTrend.ps1, with snapshots under output/history//. Done means local history is persisted, trends and projections are computed, and the dashboard falls back cleanly when no history exists.
Written by the indexing model from the issue text.
Description
Alignment with toolkit principles
- This stays read-only by default — it does not mutate Azure resources, or (if a write is essential) it follows the opt-in,
-WhatIf/ShouldProcesspattern ofDeploy-QuotaGroups.ps1. - It works with Reader access for analysis (writes, if any, document their elevated roles).
- It introduces no telemetry and no data leaving the user's machine.
Problem / motivation
Everything the toolkit produces is point-in-time. The one question it cannot answer is the one
capacity planners most often ask: "How fast is our usage growing, and when will we hit the ceiling?"
There is no notion of history or trend.
Proposed solution
A lightweight, local-only snapshotting layer (no telemetry, no external store):
- Persist each run's quota/usage CSVs into a timestamped local folder (e.g.
output/history/<date>/). - A
Get-CapacityTrend.ps1that loads N snapshots and computes per-family/per-region deltas and a
simple linear projection to the limit ("at current rate, family X reaches its limit in ~W weeks"). - Dashboard: optional sparkline / trend column when history is present; degrades gracefully to the
current point-in-time view when it is not.
Stays fully offline and read-only; history lives only on the user's machine.
Alternatives considered
- Push to Log Analytics / a database — rejected: violates the no-telemetry, dependency-light, runs-
with-Reader principles.
Area
Quota / quota groups, Dashboard / reporting
- Dominant language
- PowerShell
- Stars
- 5
- Forks
- 6
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 3
Contributor 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 microsoft/capacity-toolkit
-
enhancement needs-triage
Difficulty 5/5 Over a week Newbie friendliness 45/100
-
enhancement needs-triage
Difficulty 5/5 Over a week Newbie friendliness 35/100
All issues in microsoft/capacity-toolkit
Similar issues
-
bug :bug:
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
enhancement P3: gap query
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
jeffknupp/association#208 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
SignalK/freeboard-sk#824 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
google/libultrahdr#485 ·