Age | Commit message (Collapse) | Author |
|
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
|
|
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
|
|
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
|
|
- 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
|
|
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
|
|
Test: atest ArtGtestsTargetChroot
Bug: 175048705
Change-Id: Ie921dbe362b8caeef406277c0eb44497bb864391
|
|
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
|