aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2023-04-20explict log dir in canonical_perf.shUsta Shrestha
Bug: NA Test: ran `canonical_perf.sh` and verified log dir is created Change-Id: I188d2d2151a4d631269853becfd04a7966eda32a
2023-04-17Fix event ordering in perf scriptUsta Shrestha
concurrent events aren't properly handled e.g. if one run had a->b->c->d and the other had d->c->b->a there was non-determinism in which cycle is detected first. And that cycle detection also modified some global state raising exceptions Bug: NA Test: ran `b test` which failed for perf_metrics_test without the changes in perf_metrics.py Change-Id: I6773b80c2598a278f4016d50c6dd193c0b500307
2023-04-17cosmetic: use os.walkdir()Usta Shrestha
Test: `incremental_build.sh -c "no change" -b prod` and see "VERIFIED Symlink Forest ..." in console log Bug: NA Change-Id: I9b81bbf710d7d8056989f8f7debe0927402578eb
2023-04-14cosmetic: warmup runs made clearerUsta Shrestha
Test: `incremental_build.sh -c clean -b prod soong` and verify rows for WARMUP in summary.csv and metrics.csv Bug: NA Change-Id: I3df521daa30ce7f91072570f4ffef5f0314a737f
2023-04-13Merge "symlink_version_number expected in symlink forest"Treehugger Robot
2023-04-12symlink_version_number expected in symlink forestUsta Shrestha
In tests we expect either symlinks or directories or BUILD.bazel files. However, now on the root of the synthetic Bazel workspace we also write the sylink_version_number file Test: `incremental_build.sh -b prod -c clean` and no TEST_FAILURE Bug: N/A ` Change-Id: I1de75a7813c1cdd6a3842cc527cc1d8043b84376
2023-04-11Copy the metrics files instead of moving the metrics in CUJJason Wu
Test: $ build/bazel/scripts/incremental_build/incremental_build.sh -b 'mixed_prod' --ignore-repo-diff --cujs 'modify frameworks/.*/View.java' -- framework Change-Id: I48fa961a9ca63c9d62209cb39681f19fb9cbaf42
2023-03-31make action_diff_notebook match docsSam Delmerico
Change-Id: I8f5762616e3ca5e9e731124d927c18877116f57a
2023-03-29cosmetic: display help text propertyUsta Shrestha
Test: incremental_build.sh -h Bug: NA Change-Id: I74e8f2b2ccfc74d2de37d932a39fb84fe1dd2f2a
2023-03-28cosmetic: display the top level build phasesUsta Shrestha
Also display bazel subphase of soong_build Test: incremental_build.sh -c "modify Android.bp" Bug: NA Change-Id: If89f16c04a27b89f3c3ba6ef152d512273759073
2023-03-28typo: canonical_perf.sh to invoke incremental_build.shUsta Shrestha
instead of the python script directly Test: canonical_perf.sh Bug: NA Change-Id: I50a9a8e332dd221adde70a1577113f422a808a8b
2023-03-28python aprotoc instead of jq and textprotoUsta Shrestha
use bazel run and import protoc-generated python classes instead of relying on textproto, a Google tool for parsing protobuf files Bug: TODO Test: run ./incremental_build.sh -c 'no change' -b soong Change-Id: Ie25e94d18f2b25e4cf49ac45cf2546a6b6cca596
2023-03-23for dry-run no need to rerun a buildUsta Shrestha
Test: NINJA_ARGS="-d explain" canonical_perf.sh Bug: NA Change-Id: I0f1851e99ed676d5b6e5f80caf151ca402bd3d3e
2023-03-24cosmetic: make warm-up run more obviousUsta Shrestha
Test: incremental_build.py -c 'modify Android.bp' 'no change' Bug: NA Change-Id: Ia15a8e6f7b44bd569a03e61046c19893d5cbec90
2023-03-22cosmetic: argument is always the same valueUsta Shrestha
pretty.py displays select rows (i.e. skip rebuild and WARMUP) one can always view the full csv file for more details Test: canonical_perf.sh Bug: NA Change-Id: I9bb4e79bc910d596759f90a321b7b83da7779902
2023-03-22Merge "incremental build CUJs"Usta (Tsering) Shrestha
2023-03-21Merge "Add "modify frameworks/../View.java CUJ""Usta (Tsering) Shrestha
2023-03-20linient event ordering in CUJsUsta Shrestha
Test: incremental-build.py -c change Bug: NA Change-Id: I90974ca46c0242246abd6c7d2a58e67f3792b93b
2023-03-20Add "modify frameworks/../View.java CUJ"Usta Shrestha
Test: canonical_perf.sh Bug: NA Change-Id: Ie734642d1ffd4cb58049126885454d5262e1d738
2023-03-20incremental build CUJsUsta Shrestha
These CUJs are mostly around correctness checks and will be moved into such in the future. Test: `incremental_build.py --bazel-mode libc` Bug: N/A Change-Id: I0345138b21dfc172e651e9984005abc0b9a34ab5
2023-03-16Merge changes I9c9bd661,I2895fee6Sam Delmerico
* changes: add diff of argument paths to difftool notebook add Python notebook to aid in diffing `b` output
2023-03-16add diff of argument paths to difftool notebookSam Delmerico
Added a function to match the paths for inputs to Bazel/Soong actions to their corresponding file in the other build system. E.g. if bazel-out/.../libfoo.a corresponds to out/soong/.intermediates/.../libfoo.a, we can make sure that these files also have no diffs. Test: TODO Bug: 247039768 Change-Id: I9c9bd661e4d01513176f661670c4db8a9b4858c5
2023-03-16add Python notebook to aid in diffing `b` outputSam Delmerico
This commit adds some functionality to make it easier to diff the outputs of Bazel built objects without having to run a mixed build and collect the corresponding Ninja files. Test: python scripts/difftool/action_diff_notebook.py Change-Id: I2895fee67220b5dc499bc3f6c94e11a524c62420
2023-03-14Merge changes I09850c70,Id0a0263bUsta (Tsering) Shrestha
* changes: warn against non-default product for perf tests do a single warm-up run
2023-03-14Merge "Simplify pretty print of metrics"Usta (Tsering) Shrestha
2023-03-14Merge "Remove auto-added java deps from bp2build progress"Treehugger Robot
2023-03-14warn against non-default product for perf testsusta
Test: TARGET_PRODUCT=aosp_x86 && incremental-build.py Bug: NA Change-Id: I09850c70ed8b03e37bebeb87e79351d8ada2f02e
2023-03-14do a single warm-up runUsta Shrestha
sufficiently removed the variance for the first CUJ run while taking much shorter time than having a warm up run for each build type Test: incremental-build.py -c change Bug: NA Change-Id: Id0a0263b158c69e2700fa73f225bfaf38554722c
2023-03-13Simplify pretty print of metricsUsta Shrestha
Test: incremental-build.py -c change Bug: NA Change-Id: Ic95b90e16ab2c684c624a9b082e59b2a47ab5135
2023-03-10Add warm-up buildsUsta Shrestha
by adding a warm-up build prior to the set of cujs we can preload io caches and thus the "real" cujs would have more consistent metrics Test: run `./incremental_build.py -c change Bug: NA Change-Id: I22a82bd8c24f092c5c5e162e4b82912b8c3b2ee1
2023-03-10log_dir checking/defaultingUsta Shrestha
default value for log_dir and asking the user if results should be appended happens in incremental_build.py instead of canonical_perf.sh Test: run `./canonical_perf.sh -t nothing -- "no change"` TWICE Bug: NA Change-Id: I6da8fd99d816503538ef911ecd7e4b402c695976
2023-03-10rename summary.csv -> metrics.csvUsta Shrestha
we are not actually summarizing anything but just collecting metrics from multiple runs Test: ./incremental_build.py -c change -- nothing Bug: NA Change-Id: I428a7d8eb88d446c2b5303884d7926dea3cec405
2023-03-08use shutil.move instead of Path.renameUsta Shrestha
rename() fails with overlayfs Test: ./incremental_build.py -c change -- nothing Bug: NA Change-Id: Ie40ffbdf5dd50ed3de209b3417f26bb75a2ca1bc
2023-03-03default to soong, prod and staging buildsUsta Shrestha
Test: ./incremental_build.py -c change -- nothing Bug: NA Change-Id: I1011a0c047de1e21a6375d06492e69f22a9cd792
2023-03-03minor cosmetic changes to outputUsta Shrestha
Test: ./incremental_build.py -c change -b prod -- nothing Bug: NA Change-Id: I52e26251fe8ffe068fd2bce9eb4efa646c08a2fe
2023-03-02tagging description to CUJsUsta Shrestha
This helps append "BEFORE" "AFTER" etc tags to CUJs which comes in handy when comparing performance before and after a change e.g. a sample output: ————————————————————————————————————— cuj targets soong_only ————————————————————————————————————— no change BEFORE nothing 3:06 no change AFTER nothing 2:53 ————————————————————————————————————— Test: ./incremental_build.py -c 'no change' -d 'BEFORE' nothing Bug: NA Change-Id: Ibd22df33f29b0e4af9fd6bc209bd917a35eccd6a
2023-03-02format timestamp as hh:mm:ss.sssUsta Shrestha
Test: ./incremental_build.py -c 'no change' -- nothing Bug: NA Change-Id: I23d03d1d7938fbbb575945c36712cc9a411d8eb9
2023-03-02Add BUILD file to run python testsUsta Shrestha
Bug: NA Test: ran the tests locally Change-Id: Ic8f80feabecef07c6d696f832cb427e12fa375a1
2023-02-27log_dir creation for canonical_perf.shUsta Shrestha
Test: ./canonical_perf.sh Bug: NA Change-Id: I8d2b1174b889efe59eecc5fbd12214b7b84c14d3
2023-02-27incremental CUJ summary: columns by regexUsta Shrestha
Bug:NA Test: ./perf_metrics.py to see write_files columns Change-Id: Iba136846a15cf2acb828d4dc08b8acbb227b7ac4
2023-02-27Merge "add support for multiple build modes"Usta (Tsering) Shrestha
2023-02-24Merge "sensible default arg"Treehugger Robot
2023-02-23add support for multiple build modesUsta Shrestha
Test: ./incremental_build.py -c clean Bug: NA Change-Id: If43c2f9f923d0532c29fb3cc654b9b74aa904d31
2023-02-23sensible default argUsta Shrestha
Test: run without any arg Bug: NA Change-Id: Ia9f9badc0858568ec4943d7fa6cd95683ea50f1d
2023-02-22delete $OUTDIR only if it existsUsta Shrestha
Bug: NA Test: rm -rf out && ./build/bazel/scripts/incremental_build.py/incremental_build.py -c clean --bazel-mode nothing Change-Id: I4c4909faf5cf5994dad3a842539a03bd65b35f5d
2023-02-21skip over unavailable dataUsta Shrestha
Test: run without params and run with params Bug: NA Change-Id: I2f39a48bf4183ef244f3b1bb659adafd108bc401
2023-02-16Merge "add clean CUJ"Usta (Tsering) Shrestha
2023-02-15Merge "parameterized canonical_perf.sh"Usta (Tsering) Shrestha
2023-02-15parameterized canonical_perf.shusta
Test: run without params and run with params Bug: NA Change-Id: Ic801b9c0a6dbd0e15734739cd3eff3efd0f9f934
2023-02-15Merge "Don't use indents for print_analysis_metrics."Jingwen Chen