microsoft / microsoft/finops-toolkit
Add AI billing page to FinOps Hub ADX dashboard
Nobody has claimed this yet.
- Dominant language
- PowerShell
- Stars
- 603
- Forks
- 249
- Avg merge
- 7d 11h
- Merged PRs (30d)
- 11
Description
📝 Scenario
As a FinOps practitioner, I need to view AI-specific cost breakdowns (Azure AI Services, Azure Machine Learning, Azure AI Search) in the FinOps Hub ADX dashboard in order to monitor and optimize AI spending at the billing level, separate from general cloud costs, with KPIs, daily trends, service breakdown, and top resource identification.
💎 Solution
Add a new "AI billing" page to the FinOps Hub ADX dashboard (finops-hub-dashboard.json) with 4 tiles:
- AI cost KPIs (multistat) — Total AI Cost, AI % of Cloud spend, Month-over-Month change %, distinct AI resource count
- AI cost per day (area chart) — Daily
EffectiveCosttrend for AI services overnumberOfDays - AI cost by service (bar chart) — Cost breakdown by
ServiceNamewith share percentage and resource count - Top 5 AI resources (table) — Highest-cost resources with daily average
Filter criteria using FOCUS schema columns:
ServiceCategory == 'AI and Machine Learning' or ServiceName == 'Azure AI Search'
This covers Azure AI Services, Azure Machine Learning, and Azure AI Search (which is categorized under "Analytics" in FOCUS, not "AI and Machine Learning").
Navigation tile follows existing dashboard pattern (22-column grid, y:0 nav bar). All queries use existing base variables (CostsByDay, CostsByMonth, CostsPlus) so no new data sources are required.
📋 Tasks
### Required tasks
- [ ] Add "AI billing" page definition to `finops-hub-dashboard.json`
- [ ] Add navigation tile for AI billing page (consistent with existing nav pattern)
- [ ] Add markdown description tile with page context
- [ ] Add AI cost KPIs query using `CostsByDay` and `CostsPlus` base variables
- [ ] Add AI daily trend query using `CostsByDay` base variable
- [ ] Add AI cost by service breakdown query using `CostsByMonth` base variable
- [ ] Add Top 5 AI resources query using `CostsByDay` base variable
- [ ] Add corresponding tile visualizations (multistat, area chart, bar chart, table)
- [ ] Validate JSON structure (no duplicate IDs, schema v60 compliance)
- [ ] Test with FinOps Hub ADX cluster data
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.
Research direction
Start in finops-hub-dashboard.json by reviewing the existing navigation pattern and page definitions. Use the existing CostsByDay, CostsByMonth, and CostsPlus variables with the stated AI service filters, then validate the JSON structure and test the dashboard with FinOps Hub ADX cluster data. Done means the AI billing page has its navigation, description, four visualizations, and no duplicate IDs.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100