summaryrefslogtreecommitdiff
path: root/odrefresh/odr_metrics_test.cc
AgeCommit message (Collapse)Author
2023-04-24Report BCP compilation type. Jiakai Zhang
The compilation of BCP now have two cases, and their compilation time will be very different from each other. This CL adds an enum to distinguish them. The enum will be used as a dimension in WW and as a filter on Pitot. Bug: 269230245 Bug: 279004055 Test: atest art_standalone_odrefresh_tests Test: - 1. adb shell rm -rf /data/misc/apexdata/com.android.art/dalvik-cache 2. adb shell odrefresh --compile 3. adb shell cat /data/misc/odrefresh/odrefresh-metrics.xml Change-Id: I142784ec96fdf9855c44d40d7d2bf7ce75443b7f
2023-04-21Refactor the compilation part of odrefresh. Jiakai Zhang
The compilation part was not extensible enough to support boot image mainline extension. This CL refactors it to make later changes easier. This CL is a no-op change. Existing tests are still passing. Bug: 269230245 Test: atest art_standalone_odrefresh_tests Change-Id: I1e30d4103a83a7833c097a7cb6df5b95ee3c86ee
2022-10-18Report Odrefresh compilation status, exit code and signal to statsd Stefano Cianciulli
As part of the changes done in aosp/2223024, we are now collecting some additional information about the compilation for primary/secondary architecture and system_server in dex2oat: - result status - exit code (if status is Exited) - signal (if status is Signaled) This CL reports this new data points to statsd as part of the already existing OdrefreshReported atom, so that this new information can be extracted and analysed. Bug: 246534524 Test: atest ArtGtestsTargetChroot (in particular art_standalone_odrefresh_tests) Change-Id: I9705845a6bae0716d091400adde6415c20eda3de
2022-09-22Improve odrefresh metrics collection. Jiakai Zhang
- Add an explicit switch to OdrMetrics to make the logic more straightforward, and only enable it when compilation was done or an error occurred. - Initialize status to kUnknown instead of kOK so that the status doesn't show "OK" when an unexpected error occurs. - Explicitly set status to kOK if compilation succeeds. - Add a new status: kDalvikCachePermissionDenied, to indicate that odrefresh Failed to access the dalvik-cache directory due to lack of permission. - Set the status in many places where the status is missing. - Before this change, odrefresh fails on the "kCheck" stage when trying to clean up the dalvik-cache directory if it doesn't have the permission to create the directory. This is weird. After this change, odrefresh will fail on the "kPreparation" stage instead. Bug: 246534524 Test: atest ArtGtestsTargetChroot:OdrMetricsTest Test: - 1. Run `odrefresh --compile`. 2. See `<stage_reached>60</stage_reached><status>1</status>`. Test: - 1. Make the SELinux context of the dalvik-cache directory wrong. 2. Run `odrefresh --compile`. 3. See `<stage_reached>20</stage_reached><status>8</status>`. Test: - 1. Run `odrefresh --compile`. 2. Kill dex2oat. 3. See `<stage_reached>40</stage_reached><status>4</status>`. Change-Id: I1a239f7d59668fa763934c074e4bfc5ebcc3ee42
2022-08-22Report Odrefresh compilation times in milliseconds Stefano Cianciulli
Currently we are reporting the compilation times for the boot classpath for primary/secondary architecture and system server in seconds, but since the values we have observed so far are 4~8 seconds for the former and 8~16 for the latter, we might benefit from having a finer granularity. Hence, this commit is producing the compilation time in milliseconds (alongside the previous values in seconds, for a transition period). Bug: 243009337 Test: atest ArtGtestTargetChroot (especially art_odrefresh_tests) Change-Id: Ib78a2e778d364653a5c29dd3430bf99274ca9a5a
2022-06-13Read/write Odrefresh metrics in XML format Stefano Cianciulli
Test: atest ArtGtestsTargetChroot Bug: 175048705 Change-Id: Ie921dbe362b8caeef406277c0eb44497bb864391
2021-04-28odrefresh: add metrics support Orion Hodson
Adds metrics to stages of odrefresh. Bug: 169925964 Test: atest art_odrefresh_tests Test: atest --host art_odrefresh_tests (cherry picked from commit 3d877f082636f26ad57c92e3aae1525faacff51b) Merged-In: I768ce5f122b0c1b839f4cdf55aa6dafb68708eb2 Change-Id: I8355fd38c28e41b04f0ea52384061b686cb1e362