Age | Commit message (Collapse) | Author |
|
Allow --ignore-guardrails to override enable_extra_guardrails (and
hence the traced side guardrails).
(cherry-pick of 3c678cb3e4484c028bdb354bcbee872ebdc1ae91 to fix a CTS test failure on tm-qpr-dev caused by fixing b/268320325)
Bug: 230096817
Merged-In: I60a280cfa8b4d5ad26f28cc023b408d87d3a5190
Change-Id: I60a280cfa8b4d5ad26f28cc023b408d87d3a5190
|
|
This is a fix to a subtle binary back-compat issue.
When introducing a new trigger mode, the service will ignore it
and trace indefinitely (Because duration_ms is checked to be 0).
The issue is not as bad as initially though because perfetto_cmd
mitigates this, by enforcing a hard timeout to 60s + trigger_timeout
regardless of the type of the trigger (See comments in b/274931668).
Bug: 274931668
Bug: 260112703
Test: perfetto_unittests --gtest_filter=TracingServiceImplTest.FailOnUnknownTriggerMode
(cherry picked from commit 7f432673ea568e8ab9b7f4ccfe0107a4c5e01e81)
Change-Id: I7993ec7a3604b8ede00b3c29cf29059685af4848
Merged-In: I7993ec7a3604b8ede00b3c29cf29059685af4848
|
|
This was accidentally left out when implementing the reporting code
originally.
Bug: 268320325
Change-Id: Id3d40f88dc9dd09896c734907d52e5de0cb7b9ac
Merged-In: Id3d40f88dc9dd09896c734907d52e5de0cb7b9ac
|
|
On Android, with more apps acting as perfetto producers and use of
freezer, the service is more prone to be connected to unresponsive
producers. This is a problem if we ever saturate the kernel send buffer
on a given socket since it causes the tracing service to block for 10s.
As an immediate workaround, drastically lower the producer port timeouts
to 50ms as we're not supposed to be hitting that limit under normal
operation in the first place.
Longer term, we need to reduce our reliance on blocking socket
operations, which were always known to be sub-optimal, but also worked
well enough in practice while being less complex than nonblocking
approaches.
Tested manually, strace as proof (note that we're using a MSG_DONTWAIT sendmsg + manual
poll fallback due to b/193234818):
fcntl(8, F_GETFL) = 0x802 (flags O_RDWR|O_NONBLOCK)
fcntl(8, F_SETFL, O_RDWR) = 0
fcntl(8, F_GETFL) = 0x2 (flags O_RDWR)
sendmsg(8, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="\24\0\0\0\20\0032\215\200\200\0\10\1\20\1\32\7:\202\200\200\0\10\3", iov_len=24}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, MSG_DONTWAIT|MSG_NOSIGNAL) = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=8, events=POLLOUT}], 1, 10) = 0 (Timeout)
fcntl(8, F_GETFL) = 0x2 (flags O_RDWR)
fcntl(8, F_SETFL, O_RDWR|O_NONBLOCK) = 0
shutdown(8, SHUT_RDWR) = 0
close(8) = 0
Bug: 236813972
Merged-In: I75489478cae5a50809ce0b2a0cabce8424b46820
Change-Id: I75489478cae5a50809ce0b2a0cabce8424b46820
(cherry picked from commit 8cfee469c0b3aa5e70576c4d2888e07e72651f35)
|
|
Test: manual, atest HeapprofdJavaCtsTest
Bug: 269246893
Bug: 272719059
Change-Id: I171e668d64bbe68eb8d5dd5bcdad31810d0583e6
Merged-In: I171e668d64bbe68eb8d5dd5bcdad31810d0583e6
|
|
Bug: 261864179
Bug: 272719059
Change-Id: If9dbe9df68f61499313a5e2bb5f4ef990770b928
Merged-In: If9dbe9df68f61499313a5e2bb5f4ef990770b928
|
|
platform itself
Covers both native and app processes (we'll skip packages.list checks
for the latter as the UID is considered sufficient). SELinux still
applies, see accompanying change.
Note that this also covers multi-profile devices, where non-default
profiles have their own system user, e.g. "u10_system". This is handled
by masking off the per-profile UID offset (AID_USER_OFFSET) as usual.
Googlers: see go/perfetto-prof-system.
Bug: 247858731
Bug: 272719059
Change-Id: I4e6a6a5b7a7c7d20af44688484003ea6e296dc60
Merged-In: I4e6a6a5b7a7c7d20af44688484003ea6e296dc60
|
|
|
|
When the tracing service (traced) disconnects (because it crashes or
other reasons), if heapprofd has an active client, it will crash,
because:
* HeapprofdProducer::Restart() is executed.
* HeapprofdProducer destructor destroys its unwinding_workers_
* UnwindingWorker destroys its members. In order:
* thread_task_runner_ is destroyed, so that the thread is stopped.
* (If there's one connected client) client_data_ is destroyed.
* ClientData includes a UnixSocket, which calls PostTask on
thread_task_runner_.
* thread_task_runner_ was destroyed earlier.
This patch makes fixes the problem by destroying client_data_ (on
thread_task_runner_) before destroying the thread_task_runner_ itself.
Bug: 233338564
Bug: 155759761
Change-Id: Id1874abbff8f7a7b702542a943a8de3f3a52277a
(cherry picked from commit abc9d3ea914ba24e4219fef68a67aca65b8c23a5)
Merged-In: Id1874abbff8f7a7b702542a943a8de3f3a52277a
|
|
Backport from aosp/2299539
Bug: 258188795
Test: build pass
Change-Id: Ied8cb9914cbe00fbb8bf8ce2b429055b62b3ec14
Signed-off-by: Martin Liu <liumartin@google.com>
Merged-In: Ied8cb9914cbe00fbb8bf8ce2b429055b62b3ec14
|
|
This is a fork of initial_screen_state but with the ability to
configure which properties we want in the config rather than
having them hard coded.
(Cherry pick from aosp/2145789)
Bug: 238063699
Change-Id: I633f9173274227bce9c09371c2379a8ff8a3c0b7
Merged-In: I633f9173274227bce9c09371c2379a8ff8a3c0b7
Test: Unit test + manual e2e tracing run.
|
|
938185d82b
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/19170127
Change-Id: Id336ecf12a36d2c8280a442ec290ac1520859d10
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/19170127
Change-Id: I40a319e05fc7a5cfbc0d925369b42eaf4b4337cd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
This reverts commit b1e4afee320e83a044a4953963a1111afb0c8149.
Revert accompanying the selinux revert in r.android.com/2142152.
Context in bug.
Bug: 217368496
Tested: redfin-user and barbet-userdebug: build+flash+boot;
manual test of typical profiling (heap and perf);
atest CtsPerfettoTestCases.
Change-Id: Ia5e3a79df64e6d84595c054050ddb87406d7e388
Merged-In: Ia5e3a79df64e6d84595c054050ddb87406d7e388
(cherry picked from commit 8b44f9934d609ce8beb5305c03791329d1f461c6)
|
|
am: 5e53c70796
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18959763
Change-Id: Ic2274fcd26e7c1994b7df49af019e811a112de06
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18959762
Change-Id: I96cc57862462e9fd4694e8ed36d752a5ea57dd60
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18959763
Change-Id: I4280130e98531c2d4760e42da75994e2ff4691c4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18959762
Change-Id: I6b49246341889753257ed11cd0d68a3bf7d69b30
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Using a persistent event trigger for rss_stat_throttled was
found to cause regression of 8% more CPU cycles in kswapd.
Have perfetto dynamically create these triggers when needed
and cleanup the trigger once the perfetto session no longer
needs it.
Triggers are created/removed when the associated trace
event is enabled/disabled by perfetto, so multiple sessions
with the same event trigger are inherently handled correctly
by the same ftrace_config_muxer logic for enabling/disabling
ftrace events.
The persistent rss_stat_throttled histogram trigger will be changed
to an as-needed trigger created by perfetto. So the existence of
this event trigger can no longer be used to check if the kernel
supports throttling rss_stat event.
Instead test creating a histogram trigger with division
arithmetic (needed for event throttling) on rss_stat_throttled.
Creating the trigger on rss_stat_throttled also implicitly checks
that the synthetic throttled event is present.
Test: adb push test/configs/rss_stat.cfg /data/local/tmp/
&& cf-adb shell 'cat /data/local/tmp/rss_stat.cfg |
perfetto --txt -c - -o /data/misc/perfetto-traces/trace
Bug: 236172293
Change-Id: I9e14d56bb442129ea85163e492e00382eb8d8994
Merged-In: I9e14d56bb442129ea85163e492e00382eb8d8994
Merged-In: Ifa50c9e08893c8494739747fe77ab1ceec5c0dfd
|
|
Add a test config for rss_stat/rss_stat_throttled ftrace events.
Test: adb push test/configs/rss_stat.cfg /data/local/tmp/
&& cf-adb shell 'cat /data/local/tmp/rss_stat.cfg |
perfetto --txt -c - -o /data/misc/perfetto-traces/trace
Bug: 236172293
Change-Id: Ie2852467c21c6c7bdfa1c75dc60f49f28e6f709f
Merged-In: Ie2852467c21c6c7bdfa1c75dc60f49f28e6f709f
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18186572
Change-Id: If73c39cb73ee65f1c4872e8a0d362f8541958c25
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://googleplex-android-review.googlesource.com/c/platform/external/perfetto/+/18186572
Change-Id: Ic1468c2d7970f6f6322263524509735243b5051c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Bug: 226950040
Test: Presubmit
Change-Id: I78be402b5e9f757de04ef5faff37780967245dd2
|
|
9c92776ac2 am: fd5167fa40 am: f940c1a114 am: 08eca682ee am: b810ca4229
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118
Change-Id: If7e56052682ac27c614e94a17f403bcf115247ef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
9c92776ac2 am: fd5167fa40 am: f940c1a114 am: 08eca682ee
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118
Change-Id: I2d6531f4e4027e495ef78d239b30a82afa16e080
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
9c92776ac2 am: fd5167fa40 am: f940c1a114
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118
Change-Id: Ic97074330d16f9748390d4fcc44e64385f746b1f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
9c92776ac2 am: fd5167fa40
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118
Change-Id: I41267a4ea513dd39b326385c354f0104e73ed612
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
9c92776ac2
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069118
Change-Id: Ie9db5b11c80aa96a7d2e51bfca76b5dc87df4937
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
acc187ac17 am: 21f5d67e9e am: 1417a1797c
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794
Change-Id: Ib708b7b2ace34084386e7066934e5f0d4e4a082b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
acc187ac17 am: 21f5d67e9e
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794
Change-Id: I0885788252d85666f39b1ae7356afed8fa2836af
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
acc187ac17
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794
Change-Id: I4543cd60cb556d67c2b95ccc0e42ee219c89144c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794
Change-Id: I8a32e87ef9b5ffdf1259ec83c175800b07a5cb11
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
This CL adds support for parsing 'T' and 'U' events introduced in
aosp/2037685
Bug: 221119585
Change-Id: I6831c5eb81f88306f4482f5f74860fb6058609a0
|
|
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2070794
Change-Id: I8fac5b1d61fcd0a6412e84b36f20b78001687091
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
http://r.android.com/2068137 in perfetto requires an updated version of
libunwindstack from the android tree.
This picks a new version of libunwindstack that includes
http://r.android.com/2029306 for the perfetto standalone build.
Also, the LocalUnwinder.cpp file has been removed in
http://r.android.com/2008230
Change-Id: I89d683feaffff2e23bb51923f3d2cfeb949040bb
|
|
12e0138561 am: b8e2096b7e am: f9e5ecef39 am: 71f8e9b927
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137
Change-Id: I76e22d5bb6d8441cedf44c3de63d6da4ea2ef609
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
12e0138561 am: b8e2096b7e am: f9e5ecef39
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137
Change-Id: I867974100819ef07c6d4611c3ab2e20cac602ffe
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
12e0138561 am: b8e2096b7e
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137
Change-Id: I14b11a177a09e8a4de234518e3d4ef69e34b4670
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
12e0138561
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137
Change-Id: If2fbd6f430fd9b894b72a545bf8912802900cca1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2068137
Change-Id: I17b61837cdfa81cd3ded49a604bf9441ab882180
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
|
|
am: a776f81f1e am: 0af6ae745d am: 1b734c3b4c
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111
Change-Id: Icb2810d06bc3f32370f9c6f969b1883ef03ee5d0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
am: a776f81f1e am: 0af6ae745d
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111
Change-Id: I2fe8b37be7c1cf50b3bc1ec8892f125cd7ecd2b3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
am: a776f81f1e
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111
Change-Id: Ic8adf27b7ce3babb6baa4e39f44b6e0d5019b9f3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111
Change-Id: I756380861e45dd8d888fbf8f8052ee2029c4edca
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069111
Change-Id: I72a1be2adbcb7bdc4c5a16fe8ad4be044dc36c31
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
|
|
43c40167c4 am: ae81291a74
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069107
Change-Id: I59756c6fbc78768dfdf3c267ee9ae37f8457bb66
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
Original change: https://android-review.googlesource.com/c/platform/external/perfetto/+/2069107
Change-Id: I2e84910908a917299e9ae4b0adfeed1587d2f40b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
|
|
The contiguous sample dcheck wasn't correct, it failed when the end of
the event aligned with the end of the buffer (e.g. 4 != 4%4). Instead of
fixing it up, remove the dcheck altogether as it's strongly implied by
the if-else condition and surrounding checks.
Assignment in the CHECK was an error-prone typo. I double-checked the
rest of the codebase with a basic search, no other hits.
Change-Id: I1c051d87590bb3c4f17287498123255d7338cf73
|