-
Notifications
You must be signed in to change notification settings - Fork 76
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
CDash: Add upload, storage, display, and download of additional enhanced build and test metrics #2395
Comments
Storing the enhanced test data via the existing "test measurements" functionality in CDash could be done with no changes to CDash. The data can be downloaded via the GraphQL API in CDash 3.6+ thanks to #2406. While uploading build data files to CDash could work in theory, doing so would lead to unnecessary backwards compatibility complexity down the road. I think it would be far better to do it "right" by storing build measurement data in dedicated tables in the CDash database. For a basic MVP, this could simply be stored in the database and exposed via the GraphQL API with no UI to start with. This approach would probably take a week or less to implement once the requirements are worked out. |
@williamjallen, whatever you do, we will be stress testing this pretty quickly by generating build metrics for all of Trilinos. (It is not as many targets as Sierra but it will give us an idea about the performance.) |
In #2395, a user requested for the instrumentation data collected by CMake and CTest in [CMake issue 26099](https://gitlab.kitware.com/cmake/cmake/-/issues/26099)to be stored in CDash. This PR sets up the infrastructure needed to store and retrieve "build measurements" in CDash. Our existing "test measurement" functionality will be used to store the test instrumentation data. A future PR will introduce logic to populate the new build measurements table during the submission parsing process.
I just opened #2501 which adds the ability see and filter the build measurements for a given build. |
@williamjallen, can we differentiate the type of target:
? Also, can this also display the labels associated with each target and provide a way to filter based on the labels? (I think we can use CMake target labels to differentiate library targets/code from test targets/code.) I will add that to the wish-list. |
@bartlettroscoe Cross-post from #2501 (comment): Yes, there will be a field which contains information what type of command was run. Currently the placeholder value is "TARGET", but that will change once we agree on the final design of the CTest-CDash interface. |
Feature Request
Related issues
Description
This is the companion CDash issue for the CMake, CTest, CDash upload request cmake#26247. On the CDash side, we need it to be able to store metrics for every build target and every test, provide some views of that data, and extend the CDash REST API to be able to flexibly download that data.
There is a lot that needs to be specified on both the CMake, CTest and CDash sides to make this work.
ToDo: Flesh out more detailed requirements and use cases.
Requirements for Minimum Viable Product
For the initial driving use case, we need a **Minimum Viable Product (MVP) on the CDash site to go along with the MVP on the CMake/CTest side to have the following features/behaviors:
NOTES:
ctest_upload()
and that JSON file could be downloaded as a build file. Anything is fine as long as it is relatively efficient in storage and speed (so it can scale).The text was updated successfully, but these errors were encountered: