-
Notifications
You must be signed in to change notification settings - Fork 80
Add build instrumentation API #2612
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
Add build instrumentation API #2612
Conversation
ecb9e63 to
59f0bbc
Compare
a4106b9 to
9128d2d
Compare
ee592af to
9811123
Compare
This PR pulls out some of the logic in #2612 for matching full XML paths into a separate PR in anticipation of several upcoming PRs. By specifying the full XML path for an element, the exact element being targeted is more clear. For the sake of example, I used the new path method to locate all of the `<Site>` elements.
9811123 to
e1d4d62
Compare
6fe8a11 to
02f18e7
Compare
78a147b to
0d9f57f
Compare
josephsnyder
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.
LGTM! once the data was properly added into the database, it made sense and was able to be pulled out in GraphQL. As discussed F2F, I'm not a big fan of command and commands being attributes on the build but I'm not willing to let that stop this from moving forward
0d9f57f to
e7d81a8
Compare
d02443c to
84312b9
Compare
josephsnyder
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.
Thanks for the quick help, Everything here LGTM
a95ca23 to
210697a
Compare
210697a to
18a350e
Compare
18a350e to
1764b27
Compare
1764b27 to
91cf21f
Compare
Following the work started in #2612, this PR adds supports for the `output` and `outputSizes` [snippet file](https://cmake.org/cmake/help/latest/manual/cmake-instrumentation.7.html#v1-snippet-file) fields.
Following the work started in #2612, this PR adds supports for the `output` and `outputSizes` [snippet file](https://cmake.org/cmake/help/latest/manual/cmake-instrumentation.7.html#v1-snippet-file) fields.
Building on top of #2612, this PR adds a new "build targets" page which displays a table of targets for a build if instrumentation data was submitted. See #2827 for more details about the outline for our new instrumentation-related pages. I have a number of future improvements in mind for this page, including better support when viewing parent builds, correlation to errors & warnings with associated color highlighting, customizable timing or other measurement columns, a trace-style view of the targets or other at the top of the page. <img width="2834" height="944" alt="image" src="https://github.com/user-attachments/assets/1a84ad9d-1197-4c38-a696-8c935c3116ef" />
This PR replaces the initial build instrumentation work in #2460 with a more complete version based on a working CMake/CTest implementation. See #2395 for the full feature request.
I plan to make a follow-up PR to add support for configure measurements once a handful of blocking database schema changes are completed. Future PRs will also implement various UIs to display the data collected here.