Skip to content

Add build time measurement to Startup tool #4842

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

Open
wants to merge 12 commits into
base: main
Choose a base branch
from

Conversation

kotlarmilos
Copy link
Member

@kotlarmilos kotlarmilos commented Apr 23, 2025

Description

This PR adds support for measuring total build time in the Startup tool using binlog files.

Changes

  • Add DownloadBuildArtifacts task to retrieve binlog files from the build machines
  • Update run_performance_job.py to copy binlog files into the helix payload directory
  • Update Startup tool to invoke BuildTimeParser
  • Implement BuildTimeParser to retrieve overall publish duration, plus ILLink and Mono-specific task times

Validation

Run the internal dotnet-runtime-perf tool to verify that BuildTimeParser collects build times.

Out-of-scope

These measurements are collected from the build machines. With lack of any build time measurements atm, we want to standup these now and iterate later if needed. As suggested in dotnet/runtime#113073, apps build may be moved to Helix in the future.

Contributes to dotnet/runtime#113073

Copy link
Member

@matouskozak matouskozak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for introducing these. As a follow-up we should extend this to .NET sample app scenarios.

Is there an internal CI run where we can check the output of this measurements?

@kotlarmilos
Copy link
Member Author

Is there an internal CI run where we can check the output of this measurements?

Yes, invoked the internal CI. Sharing it offline.

matouskozak
matouskozak previously approved these changes Apr 24, 2025
Copy link
Member

@matouskozak matouskozak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! thank you.

ivanpovazan
ivanpovazan previously approved these changes Apr 25, 2025
Copy link
Member

@ivanpovazan ivanpovazan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work! I only left few minor comments, thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants