-
Notifications
You must be signed in to change notification settings - Fork 2
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
Introduce RunnerInfo to ImageStats #23
Introduce RunnerInfo to ImageStats #23
Conversation
This only changes the model. We need to update controllers as well so that we can actually pass in the values on insert/update using HTTP API: https://github.com/Karm/collector/blob/main/src/main/java/com/redhat/quarkus/mandrel/collector/report/endpoints/GraalImageStatsResource.java#L33 |
Uh, right. If I get this right:
But in order to be able to actually put a value to that field we will need something similar to |
Yes, though we inject a tag already there. It's conceivable to pass another parameter which is the
That's right. It relies on the passed in ImageStat to already have the
It's used here, fwiw (but should probably go away now): I don't think we need collector/src/main/java/com/redhat/quarkus/mandrel/collector/report/adapter/StatsAdapter.java Lines 77 to 86 in be4d439
So instead of changing the TLDR;
|
6c8cbae
to
7b99210
Compare
I liked the idea so I went for it. Please have another look. |
@zakkak Thx for adding to The Collector! Ad "Aux" metadata in general, while at it, could we create an entity (add to the one you created) that would take also stuff like this: I'd then refactor SimpleTimeAndSize to use it too. I have no hard requirements on the attribute names, I can easily rename tags I look for in jsonc lib. I arrived at the place where I am sure we need at least those runner descriptions, separate version fields so as I can sort by those etc. I wouldn't shun from adding a String attribute with GH PR link to Aux entity either. On the simple CI this could be used for Q PRs, in the Hydra experiments I'd add Graal PRs etc. Regarding the architecture and OS for ImageStats, I am abusing the ImageName for it now, producing things like:
...which I would like to stop doing :-D |
@zakkak Reading my previous comment, I am not sure I am making sense. TL;DR:
:-D |
@Karm It looks like it makes more sense to add a new class WDYT? |
src/test/java/com/redhat/quarkus/mandrel/collector/report/endpoints/ImageStatsResourceTest.java
Outdated
Show resolved
Hide resolved
src/main/java/com/redhat/quarkus/mandrel/collector/report/model/AuxiliaryInfo.java
Outdated
Show resolved
Hide resolved
src/main/java/com/redhat/quarkus/mandrel/collector/report/model/ImageStats.java
Outdated
Show resolved
Hide resolved
@zakkak Do we need it: IMHO no. I'd jam it into a simple aux class, sort of metadata. We are not about to develop a database of well defined runners to which we would associate experiments and runs and a set of test apps. IMHO a test app is as simple as a String like "Karm/fuzz@ca881049" or "https://github.com/quarkusio/quarkus/tree/3.9.0/integration-tests/jpa-derby". Do you feel we need to impose more structure on the topic? |
7b99210
to
f055783
Compare
I think I addressed all your comments PTAL. Note that I decided to go with |
src/main/java/com/redhat/quarkus/mandrel/collector/report/model/RunnerInfo.java
Outdated
Show resolved
Hide resolved
f055783
to
2f16d95
Compare
This new optional entry is meant to be used for additional information related to the runner used to perform the testing that generated the gathered image statistics. Closes Karm#22
2f16d95
to
d0fbb11
Compare
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. Have you tried the angular UI with this change? Does it break?
Thx @zakkak, lemme take a look 👁️ |
It happily just ignores the new data |
Thanks. Good to know. |
@zakkak GHA will deploy it to https://stage-collector.foci.life/ momentarily... |
@Karm when should we expect it to make it to collector.foci.life, as that's were it would make more sense to have for uploading build stats from Quarkus CI. Do you suggest first setting up Quarkus to upload stats to stage and once we see everything works as expected then move it to prod? |
@zakkak I would like to see a JSON returned from stage-collector that contains the data from the full Quarkus run, uplaoded the way you want it, displayed (retrieved) the way you wanted. Meaning, to see that indeed GHA run 9823793 produces these 23 build.json files that were all uploaded with this one RunnerInfo and thus can be reported as such. If it's already there, let's see it here... |
Releasing: This PR is touching schema, our prod conf is set to "validate", we need "update". The way I do that is physically sshing to the system, dumping DB, changing the prop via env temporarily and staring the service and seeing the log. (The whole system is snapshotted nightly, so even without the dump, worst case, we lose 1 day). This PR is benign in a way that is adds, not removes stuff/relations. So it should be all good and no manual migration steps ought to be required. |
@Karm stage seems OK with the changes (including your enhancements).
Is an example. Do you think we can push it to production or would you like to get some more testing done first? |
This new optional entry is meant to be used for additional information
related to the runner used to perform the testing that generated the
gathered image statistics.
Closes #22