aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-11Increase heap profiling trace durationandroid12L-tests-devDaniele Di Proietto
These tests: 1A. Start an app. 1B. Start recording a heap profile on that app (in some tests the operations are reversed). (In some cases 1A and 1B are swapped) 2. The trace is recorded for 4 seconds. After 4 seconds, the tests read the trace and check for recorded memory allocations. On some particularly slow devices we've observed that the test app takes more than 4 seconds to start. Increasing the trace recording duration makes the test slower, but makes it work also on slow devices. Bug: 323332122 Merged-In: Ib3bdde1449d0e482e5428c1751381eae100e3536 Change-Id: Ib3bdde1449d0e482e5428c1751381eae100e3536 (cherry picked from commit 8fc000d37cce32a26661745b2ddcc1f7ddabc268)
2023-07-19Temporarily enable traced for testingsungchul.park
The CDD doesn't enforce traced to be enabled (`persist.traced.enable`) by default in all device types. In fact, only handheld is required to have do to so. Originally, the test assumes that traced is enabled by default, which may not be true for all device types. Improve that by temporarily enabling traced if it's not enabled, run the tests and disable traces again if enabled by the test case. Bug: 285215697 Change-Id: I3e93e4b93a0349fe3d9f790525ae61a0f484bc97
2023-04-27Apply patch from master to android11-tests-dev am: daab3e4064 am: fd93941b4eedward.chen
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2535404 Change-Id: I6d0d345c279cf5ec0a774f9993b6600de0e3f49b Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-27Apply patch from master to android11-tests-dev am: daab3e4064android12-tests-devedward.chen
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2535404 Change-Id: I1c0cd9a8f0f3c17583f08c880880f3edc26c3a77 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-04-27Apply patch from master to android11-tests-devandroid11-tests-devedward.chen
[Description] Make TestFtraceProducer faster It turns out that reading (and parsing as gen protos) 1Mb of data is slow (the test can take 17s on some hwasan builds). Making the buffer smaller should make it faster. Affects: android.perfetto.cts.* Components: CtsPerfetto Bug: 278138504 Test: N/A Change-Id: I3abb1a3f78ae96ae62c42234bf89fa22381531a9
2022-04-01Mark ab/8389834 as mergedandroid-vts-12.1_r6android-vts-12.1_r5android-vts-12.1_r4android-vts-12.1_r3android-vts-12.1_r2android-cts-12.1_r6android-cts-12.1_r5android-cts-12.1_r4android-cts-12.1_r3android-cts-12.1_r2Xin Li
Bug: 188847863 Merged-In: I41ac6a4487c3ce33e2d797140f01e7bb24c9f0b0 Change-Id: Ie0a3351c7405a9db020284bc0e7df1370754edaa
2022-03-21Mark ab/8191998 as mergedMaria Yang
Bug: 188847863 Merged-In: I6ce3d60983601087f2bb5801951fb5e1a86c1220 Change-Id: I41ac6a4487c3ce33e2d797140f01e7bb24c9f0b0
2022-03-12Merge "Extend timeout for tracing waiting duration" into android12-tests-devTreehugger Robot
2022-01-14Add traced_probes and traced_perf to readtracefd group [SV2 cherrypick]android12L-devPrimiano Tucci
After the kernel changes [1,2,3] and the matching userspace CLs [4], any process that needs to access ftrace needs to be part of the readtracefs capability group introduced by aosp/1912638. [1] https://lore.kernel.org/all/20211115165350.976783364@linuxfoundation.org/ [2] https://lore.kernel.org/all/20211213092927.298812141@linuxfoundation.org/ [3] https://lore.kernel.org/all/20211213092927.108231338@linuxfoundation.org/ [4] https://android-review.googlesource.com/q/topic:tracefs-access Bug: 209513178 Bug: 214591300 Bug: 212364925 Change-Id: I6ce3d60983601087f2bb5801951fb5e1a86c1220 Merged-In: I6ce3d60983601087f2bb5801951fb5e1a86c1220
2021-10-29Increase core count for PerfettoDeviceFeatureTestDmytro Chystiakov
Increase core count limit for CtsPerfettoTestCases PerfettoDeviceFeatureTest#TestMaxCpusForAtraceChmod to support future devices with more cores Bug: 203651019 Test: atest CtsPerfettoTestCases Change-Id: I2246d9ef10e553df3f9d12ccde78d8009f3fd7cd Merged-In: I2246d9ef10e553df3f9d12ccde78d8009f3fd7cd (cherry picked from commit b4868da668898d53a66087af776b295fea2f2731)
2021-10-28Increase core count for PerfettoDeviceFeatureTest am: 542f1ede9dDmytro Chystiakov
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1872395 Change-Id: I9e7d754c0ddc74f3750d94f8a89a71ddda760eed
2021-10-28Extend timeout for tracing waiting durationChuanghua Zhao
It was timeout occurred when record perfetto trace on 1g RAM device. Extend tracing waiting duration. Bug: 203839200 Test: run CtsPerfettoTestCases pass Change-Id: Ic1afed8734e5ca098d988178c61e673b8ccb98c0
2021-10-27Increase core count for PerfettoDeviceFeatureTestDmytro Chystiakov
Increase core count limit for CtsPerfettoTestCases PerfettoDeviceFeatureTest#TestMaxCpusForAtraceChmod to support future devices with more cores Bug: b/203651019 Test: atest CtsPerfettoTestCases Change-Id: I2246d9ef10e553df3f9d12ccde78d8009f3fd7cd (cherry picked from commit b4868da668898d53a66087af776b295fea2f2731)
2021-10-09[automerger skipped] Reland: Increase trace duration of runtime ↵Florian Mayer
HeapprofdCtsTest. am: 2836696feb -s ours am: caaf9aa333 -s ours am skip reason: Change-Id I438e734da957b4b7cdac164100f26a5a3355c242 with SHA-1 d026bb2713 is in history Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1321814 Change-Id: I940c72b1e908817b1cae8e540e46f1eedd0b878f
2021-10-09[automerger skipped] Skip native-bridged tests on x86 am: 542ce20c76 -s ours ↵Lev Rumyantsev
am: 29b828bca3 -s ours am skip reason: skipped by user levarum Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1225030 Change-Id: I7f452acdb7261c138b859e98643936533a1e6e27
2021-10-09[automerger skipped] Merge "Increase trace duration of runtime ↵Treehugger Robot
HeapprofdCtsTest." into android10-tests-dev am: fb0ab4b179 -s ours am: cdf1b7e875 -s ours am skip reason: Change-Id I438e734da957b4b7cdac164100f26a5a3355c242 with SHA-1 9dd7002d82 is in history Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1156005 Change-Id: I2009df74a2a077c9f42cfecef3c326ba819ba85e
2021-10-08[automerger skipped] Increase timeout in HeapprofdCtsTest. am: df0d20cb93 -s ↵Florian Mayer
ours am: 580c4766d5 -s ours am skip reason: Change-Id I814fbd071d5581e9cd26af54ffd343595dfb3f84 with SHA-1 28830bbbbd is in history Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1155903 Change-Id: I088500e71a1a6f9292d4f7ce0714d35f82730b63
2021-10-08Fix Perfetto CTS. am: 82d42fc0c8 am: b565fa587dPeiyong Lin
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1465694 Change-Id: I846dad868f5f9ab99bc9f0db3b7b52a8bf9d7077
2021-08-13[automerger skipped] Merge stage-aosp-sc-ts-dev before making it an upstream ↵Xin Li
am: 863f92ecb9 -s ours am: cca18e1ce0 -s ours am skip reason: Merged-In I3fe41e4a10d06b02610729bc22c926e923399366 with SHA-1 3a9c0ef08c is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15546168 Change-Id: I24157e747074dc49e51b47da7d3d55241ae5dcb2
2021-08-13[automerger skipped] Merge stage-aosp-sc-ts-dev before making it an upstream ↵android-12.0.0_r32android-12.0.0_r29android-12.0.0_r27android-12.0.0_r21android-12.0.0_r20android-12.0.0_r19android-12.0.0_r18android12-qpr1-d-s3-releaseandroid12-qpr1-d-s2-releaseandroid12-qpr1-d-s1-releaseandroid12-qpr1-d-releaseXin Li
am: 863f92ecb9 -s ours am skip reason: Merged-In I3fe41e4a10d06b02610729bc22c926e923399366 with SHA-1 3a9c0ef08c is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15546168 Change-Id: Ie80f0aaaad851547a6c79948d62d8e7ead4b23a6
2021-08-13[automerger skipped] Merge ab/7633965 am: eab4d8950c -s oursThe Android Open Source Project
am skip reason: Merged-In I3fe41e4a10d06b02610729bc22c926e923399366 with SHA-1 3a9c0ef08c is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15546927 Change-Id: I0a397eb7fc0efee70727631447fd27512eb3e226
2021-08-13Merge stage-aosp-sc-ts-dev before making it an upstreamXin Li
Bug: 169893837 Merged-In: I3fe41e4a10d06b02610729bc22c926e923399366 Change-Id: I9071775481dc5852f72e08adf31c6fa56d7bb461
2021-08-12Merge ab/7633965The Android Open Source Project
Bug: 169893837 Merged-In: I3fe41e4a10d06b02610729bc22c926e923399366 Change-Id: I34c03b9e1ddce83e0fed719d5b8785707caa0a70
2021-06-25Disable SaveForBugreport_Triggers on android builds am: 3a9c0ef08cPrimiano Tucci
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15105932 Change-Id: I4718e905431300d0c254242fdb8bedff04d04987
2021-06-25Disable SaveForBugreport_Triggers on android buildsandroid12-devPrimiano Tucci
This test seems failing on GSI builds for non clear reasons. The code under test does not depend on kernel feature and other nearly-identical tests are not failing, nor this test seems failing on other devices. Unfortunately the bug is very unactionable, I did not find a way to look at logs for the other tests (especially the SaveForBugreport_WriteIntoFile, I don't see how that wouldn't fail either as it's practically identical). Given this is a non-critical feature I don't see too many other options than disabling the test for now. Bug: 191940560 Change-Id: I3fe41e4a10d06b02610729bc22c926e923399366 Merged-In: I3fe41e4a10d06b02610729bc22c926e923399366
2021-06-23Add traced & producer version into trace and --query am: f69a770125Primiano Tucci
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15059763 Change-Id: I908b870c5dd780069c5f297f08a9e6193cf8af3b
2021-06-23Add traced & producer version into trace and --queryPrimiano Tucci
- Add the service version to the SystemInfo packet that is emitted into the trace. - Add the service version to the TracingServiceState that is sent when running perfetto --query{,-raw} - Plumb the SDK version of the producer and report it also into TracingServiceState / --query{,-raw} Bug: 159632955 (cherry picked from commit 066cc91b7c84d1f4fecbdc4c7ca83e27f72e876f) Change-Id: I5b932a7fd05059e263b4372d5388d90ccdeb5d5a Merged-In: I5b932a7fd05059e263b4372d5388d90ccdeb5d5a
2021-06-22service: fix --save-for-bugreport am: 341d3b9c5fPrimiano Tucci
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15059760 Change-Id: I84a7a9985ff3c909a83ab6e589e9b5ccd3a1fb8d
2021-06-22perfetto_cmd: move go/trace-uuid print after incidentd checks am: 6cb33202efPrimiano Tucci
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15059759 Change-Id: I8ed00b0d53552839644ae5a3382af18ec108de45
2021-06-22tracing service: improve logging for --save-for-bugreport am: f3f948836ePrimiano Tucci
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15059758 Change-Id: Ic0e8fdd4a2a88f54f8e6bc21c18a873c2d4d7a1c
2021-06-22service: fix --save-for-bugreportPrimiano Tucci
Fixes a bug that would cause --save-for-bugreport to emit 0-sized traces when the BG trace had un-fired triggers. In this case we still want to seize the trace. Test: perfetto_unittests --gtest_filter=*SaveTraceForBugreport* Bug: 188008375 (cherry picked from commit d63f84807c2c9f8bb566daa9efaf2ad805fe6084) Change-Id: I62f83925162392a983a61da7b136a7abccf6133c Merged-In: I62f83925162392a983a61da7b136a7abccf6133c
2021-06-22perfetto_cmd: move go/trace-uuid print after incidentd checksPrimiano Tucci
Today the go/trace-uuid is printed before calling SaveTraceIntoDropboxAndIncidentOrCrash(). This leads to a particularly unfortunate scenario where invoking perfetto --save-for-bugreport (which happens on every bugreport) prints a link that will 100% NOT be valid, because that trace will later fail with a "Skipping write to incident. Empty trace". Moving the uuid printing after the empty check. Bug: 185096394 (cherry picked from commit d26e648b7c82358ee79550dceaffb6b15cecf3ac) Change-Id: I065a88e818bf45f3805e3b065462e161e5900fcb Merged-In: I065a88e818bf45f3805e3b065462e161e5900fcb
2021-06-22tracing service: improve logging for --save-for-bugreportPrimiano Tucci
Adding some extra logging to debug --save-for-bugreport emitting zero length files occasionally. Bug: 188008375 (cherry picked from commit 167d67c2e7d38922c1c616f77a12510c4835c7f4) Change-Id: I1f8b0385b3c3956bd8b8209ebb36ce3878ec42be Merged-In: I1f8b0385b3c3956bd8b8209ebb36ce3878ec42be
2021-06-18ftrace: fix erroneous parsing of absolute timestamps ↵Ryan
(RINGBUF_TYPE_TIME_STAMP) on 4.17+ kernels am: 45cdfe44d3 Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15026756 Change-Id: I47f3e50104883b52404caaeb0bddb9ce29dde794
2021-06-18ftrace: fix erroneous parsing of absolute timestamps ↵Ryan
(RINGBUF_TYPE_TIME_STAMP) on 4.17+ kernels Historically, absolute timestamps were partially implemented in the kernel, but not written in practice. Starting with 4.17, the kernel has reimplemented this record type. The crucial difference is that the record was downsized (16 -> 8 bytes), while traced_probes still assumes the historical size and layout (in retrospect, we should've errored upon encountering this record type, instead of swallowing the bytes). So currently, traced_probes reads too many bytes when seeing this record, and the rest of the parsing for that tracing page is nonsensical, as we're no longer aligned to a valid event boundary. The most likely scenario is that we discard the rest of the tracing page due to invalid parsing, but in theory we can also produce bogus events if they just happen to parse correctly. Note that none of these effects should persist beyond the tracing page, so the rest of the trace would still look correct. This patch adds proper parsing for such absolute timestamps, per their modern layout. The format is identical to the time extension record (KBUFFER_TYPE_TIME_EXTEND), except that the combined timestamp is treated as a new baseline, instead of a delta on top of the previous accumulated timestamp. An another fault of ours is never following up on a TODO to put event parsing failures into the ftrace stats, as it would've detected this issue. Let's fix that in a follow-up. [1] https://github.com/torvalds/linux/commit/dc4e2801d400b0346fb281ce9cf010d611e2243c Bug: 191160035 (cherry picked from commit 61a85c29cb94835c8313ce4374ecbb00d54d0c29) Change-Id: Idf49660b3f3d32f7b3073ddf0bec78cdbff48bb1 Merged-In: Idf49660b3f3d32f7b3073ddf0bec78cdbff48bb1
2021-06-18ftrace: fix seq-clear flags when symbolizing kernel addresses am: fef6329051Primiano Tucci
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/15026750 Change-Id: If8471f2b46a421f277cc9a700344f8c11a415506
2021-06-18ftrace: fix seq-clear flags when symbolizing kernel addressesPrimiano Tucci
The logic that emits SEQ_INCREMENTAL_STATE_CLEARED had a logical bug. That logic used to look at (max_index_at_start == 0) to determine if we need to reset the interning state by emitting a SEQ_INCREMENTAL_STATE_CLEARED flag. This is the bug: - We are at the start of a new batch and we are processing events for CPU0. Before this call, the ftrace controller did a FtraceMetadata::Clear(), so last_kernel_addr_index_written = 0 and the interning map is cleared. - There are N events with addresses (e.g. workqueue events) in the CPU0 buffer. We try to symbolize them and all of them fail the Lookup(). This event (the sym failure) is not too unlikely. Many ftrace events contain (useless) pointers to data structures. - At the end of the loop, we set last_kernel_addr_index_written = N. However we have not written any symbol, so we never even started the set_interned_data() section. - On the next round (e.g. on CPU1) we find some other symbol which passes the lookup. We create the interned_data section but we do NOT set SEQ_INCREMENTAL_STATE_CLEARED because at this point max_index_at_start = N, not 0. - By doing so we fail to signal the restart of the intern numbering to trace processor, even though we actuall restart it (by virtue of having called FtraceMetadata::Clear() before CPU0. Bug: 190075739 (cherry picked from commit c1ba22d9d500a3456c1f25854275fb378fc129d7) Change-Id: Ic467018c6752c492a48065839f17b589c83f7d53 Merged-In: Ic467018c6752c492a48065839f17b589c83f7d53
2021-06-10Cherry-pick proto filter changes on sc-dev am: 633cf45126Primiano Tucci
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/14844417 Change-Id: I5d6b1d719097fb9f294339fa49fe7a43a884e6ed
2021-06-04Cherry-pick proto filter changes on sc-devPrimiano Tucci
This is a cherry-pick of the set of CLs in b/181306741 which missed the aosp/sc branching point: 82527cb0be - Proto filter: use "bytes" field w/ checksum for bytecode 3f00374ce2 - Proto filtering: add core MessageFilter and FilterUtil f18ab81854 - Proto filter: adds plumbing into tracing service c6bcafab7d - trace filtering: avoid dereferencing vector[end] 14e7277182 - proto filter: fix for Windows 9bfdbf8555 - pbtx parser: support \nnn octal escaping 77c3572df3 - Proto filtering: make --dedupe optional 77cb61d607 - Proto filter: fix statsd atom value I manually testes that the following diffs to detect missed merges: git diff HEAD..origin/master -- include/perfetto/protozero/ 0 diffs git diff HEAD..origin/master -- src/protozero/filtering/ Minor changes due to aosp/1709695, not needed here. git diff HEAD..origin/master -- src/tracing/core/ Only unrelated changes (SDK versioning and buffer checks) Bug: 181306741 Merged-In: I9d5c5c23de1b4ec93ed307187fdedcc813623572 Merged-In: I516669d3b6eee746ab306b1f0edd23e89bfbafb3 Merged-In: I6be837f9a39f438129443101628d7cb5d9897bc9 Merged-In: If158ab05e86e30b4f765e69fb63710b04ad4bba6 Merged-In: I47789f818b65b4459b00dde92d4a8d02d3b0ef7a Merged-In: I26af3d09a5b509df12112f0e53b579b1bc9e5f19 Merged-In: I75411e0a74d19e494e86cc054369d01871b773c9 Merged-In: I9e6a4540a126223093ff52f890ca43a28ed40397 Change-Id: Ic9251949e0485f09b75b405bb830ee957b433b3c
2021-06-03[automerger skipped] perfetto_cmd: Use monotime for sendfile timeout am: ↵Hector Dearman
f07eb11155 -s ours am: f840d6b050 -s ours am skip reason: Merged-In I115df637524faa601c3bf3aa3b88b7438c44f300 with SHA-1 c53d4dae14 is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/14824914 Change-Id: I733b9cfe95a8d88598ee13c26e70513f516fcdd8
2021-06-03[automerger skipped] perfetto_cmd: Use monotime for sendfile timeout am: ↵Hector Dearman
f07eb11155 -s ours am skip reason: Merged-In I115df637524faa601c3bf3aa3b88b7438c44f300 with SHA-1 c53d4dae14 is already in history Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/14824914 Change-Id: I6eae870a67fe9016008c167037ed658de0ab3863
2021-06-03perfetto_cmd: Use monotime for sendfile timeoutHector Dearman
(this is a cherry-pick of aosp/1443450) Bug: 163167507 Bug: 184276365 Change-Id: I115df637524faa601c3bf3aa3b88b7438c44f300 Merged-In: I115df637524faa601c3bf3aa3b88b7438c44f300
2021-05-24Initialize error state to no error. am: 4199ca139aFlorian Mayer
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/14703096 Change-Id: Ib94b62ad17864ba5ea5446bbadf628ad69219476
2021-05-24Initialize error state to no error.Florian Mayer
Bug: 182890812 Merged-In: I073b3ba2f06bce5f267b29bf5ed55bd81da6a24e Change-Id: I073b3ba2f06bce5f267b29bf5ed55bd81da6a24e
2021-05-14Merge "tp: add table to store all the clock snapshots in the trace" am: ↵Treehugger Robot
a8271f6373 am: 80e68f00e9 am: 1876d5533c Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1706850 Change-Id: Ib87e23c797caa4943dab867aa44de9cd093e95f6
2021-05-14Merge "Allow to specify which heaps to disable." am: b2927a3787 am: ↵Treehugger Robot
22dde0839e am: 832a9f1fc8 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1708466 Change-Id: I3559bb9ae27011952f1c23861f1c8b39ee20ac81
2021-05-14Merge "tp: add table to store all the clock snapshots in the trace" am: ↵Treehugger Robot
a8271f6373 am: 80e68f00e9 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1706850 Change-Id: I7f63b2b15636a7025a73bc2f4a72acb3a05e0ec3
2021-05-14Merge "Allow to specify which heaps to disable." am: b2927a3787 am: 22dde0839eTreehugger Robot
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1708466 Change-Id: I3a77ebe7a8b9d6a095e1ff48fa5c45bde5add1a6
2021-05-14Merge "tp: add table to store all the clock snapshots in the trace" am: ↵Treehugger Robot
a8271f6373 Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1706850 Change-Id: Ic20144981c9fcd606f18ba97651e006662669b67
2021-05-14Merge "Allow to specify which heaps to disable." am: b2927a3787Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/1708466 Change-Id: I57448eb7bf1e056722ee6394d748a4bcc7977df4