-
Notifications
You must be signed in to change notification settings - Fork 562
(pipelines): Add build performance observability pipeline #26316
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR transforms a placeholder build performance observability pipeline into a functional monitoring solution. The pipeline collects build metrics from Azure DevOps REST APIs for both PR and internal builds, processes the data to generate comprehensive performance metrics, and deploys an interactive HTML dashboard to an Azure Static Web App.
Changes:
- Added daily cron schedules (2 AM UTC for PR builds, 3 AM UTC for internal builds) with logic to ensure each schedule runs in the correct project
- Implemented data collection via ADO REST APIs with parallel timeline fetching for performance
- Created metrics processing using jq to generate aggregated statistics, duration trends, and stage/task breakdowns
- Built an interactive dashboard with Chart.js visualizations, sortable tables, and tabbed navigation for PR vs internal builds
alexvy86
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't go through all the pipeline in detail, just a few suggestions.
Description
This PR updates the placeholder pipeline added in #26299. The new pipeline does the following:
Note: The pipeline must run in the public and internal projects to fetch PR build data and internal build data, respectively.
Next Steps/Other Considerations
In the pipeline, there are large blocks of embedded HTML/JS/Bash code. We may want to consider factoring those into separate files.Create an aka.ms shortlink for the ASWAExample Screenshot (Outdated)
Misc
AB#55451