Conversation
|
thank you very much for your PR, is there any way we can use/upload the elf file that is built by current build.yml (we can upload the artifact and/or ld file) then download and push to membrowse. That would reduce the number of build job, currently it already takes quite a bit of time to run ci (10 mins), adding 65 more jobs will hurt since my account can only run like 20 jobs concurrently. PS: I think we will need tons more targets since each board can have like 20 examples (elf). |
ac04fc0 to
8ed0a74
Compare
|
Done. MemBrowse now reuses the artifacts from the existing cmake job instead of building Also fixed a bug I noticed: the build.yml workflow was running twice on every PR update (both push and |
8ed0a74 to
8a16d08
Compare
Size Difference ReportBecause TinyUSB code size varies by port and configuration, the metrics below represent the averaged totals across all example builds. Note: If there is no change, only one value is shown. Changes >1% in sizeNo entries. Changes <1% in sizeNo entries. No changes
|
8a16d08 to
5ad4206
Compare
|
Just checking in in case this got buried. Happy to make any changes or split things up if that helps. |
|
Hi @membrowse , I think Ha Thach is busy, I'm trying to navigate symbols, is it normal that I got |
|
Hi @HiFiPhile, I've uploaded more reports using the membrowse-onboard.yml workflow so now the comparison works. After merging this pull request, i suggest to run the provided membrowse-onboard.yml github workflow as well at least on the last 20 commits (its a parameter of the workflow) so you will have historical information right away. |
|
Thank you, it's a really nice tool. While cdc_msc example has a good coverage, it looks like if we enable analyze for other examples |
|
Thanks for your comment. You are right. I've restructured it to be more easily maintainable. |
a34f6b2 to
40bc2bb
Compare
40bc2bb to
697fdca
Compare
|
Fixed the flow failures, and verified again that everything is working |
HiFiPhile
left a comment
There was a problem hiding this comment.
Nice, I think we are good.
|
perfect, thank you @HiFiPhile for reviewing. Specially thanks to @membrowse very much for making the PR. membrowse is super useful for analyzing size, which we are trying to do better with TinyuSB recently. @dhalbert @tannewt maybe we can integrate this to circuitpython as well. |
|
@hathach Ill be happy to help integrating it to CircuitPython. I already made a PR for Micropython: I also suggest you run the "Onboard to Membrowse" github action once, so you'll have some historical data on MemBrowse dashboard |
As discussed, this PR adds a MemBrowse integration to TinyUSB.
The integration is wired into the existing CI tests, so it can be used to collect both historical and ongoing memory footprint data.
The configured targets are set in membrowse-targets.json. (66 targets)
Run membrowse-onboard.yml manually to get historical data.
For an example I ran it from my fork to upload the last 60 commits, which are visible here:
https://membrowse.com/public/membrowse/tinyusb
Ongoing reporting works as follows:
membrowse-report.yml runs on every PR update and on pushes to main
It builds the configured targets, analyzes the resulting ELFs, and uploads the results to MemBrowse
A summary of memory changes is posted directly as a PR comment via membrowse-comment.yml
Please let me know if you would like anything adjusted or simplified.
PS: To set the MemBrowse Project Dashboard to be publicly accessible (like the link above), enable it in project settings.