openembedded / meta-openembedded

MIT License
416 stars 716 forks source link

perfetto: upgrade 31.0 -> 47.0 #873

Closed Ecordonnier closed 1 month ago

Ecordonnier commented 1 month ago

Release Notes: https://github.com/google/perfetto/releases/tag/v47.0

Test procedure: Tested with TOOLCHAIN="clang" and MACHINE="qemux86-64" (using ARGS="is_debug=false enable_perfetto_x64_cpu_opt=false" in perfetto.bb because of missing SSE4.2,BMI2,AVX2 inside qemu):

root@qemux86-64:~# tracebox --out /tmp/perfetto dmesg sched freq idle am wm gfx view binder_driver hal dalvik camera input res memory
[100.634]          service.cc:232 Started traced, listening on @traced-p-310 @traced-c-310
[100.804]           probes.cc:104 Starting traced_probes service
[100.852]  probes_producer.cc:332 Connected to the service
[100.957]   perf_producer.cc:1201 Connected to the service
[100.979]    perfetto_cmd.cc:1100 Connected to the Perfetto traced service, TTL: 10s
[101.029] ng_service_impl.cc:1125 Configured tracing session 1, #sources:4, duration:10000 ms, #buffers:1, total buffer size:32768 KB, total sessions:1, uid:0 session name: ""
[101.571]  probes_producer.cc:132 Ftrace setup (target_buf=1)
[101.574]    ftrace_procfs.cc:441 disabled ftrace in /sys/kernel/tracing/
[101.679]    ftrace_procfs.cc:295 Failed to setup event triggers for synthetic:rss_stat_throttled (errno: 22, Invalid argument)
[101.682]   atrace_wrapper.cc:196 Atrace only supported on Android.
[101.757]    ftrace_procfs.cc:438 enabled ftrace in /sys/kernel/tracing/
[111.091] ng_service_impl.cc:2103 FlushAndDisableTracing(1) done, success=1
[111.097]  probes_producer.cc:445 Producer stop (id=1)
[111.168]    ftrace_procfs.cc:441 disabled ftrace in /sys/kernel/tracing/
[111.181]    ftrace_procfs.cc:441 disabled ftrace in /sys/kernel/tracing/
[111.194]  probes_producer.cc:445 Producer stop (id=2)
[111.200]  probes_producer.cc:445 Producer stop (id=3)
[111.308]    perfetto_cmd.cc:1263 Wrote 390764 bytes into /tmp/perfetto

root@qemux86-64:~# ls -l /tmp/perfetto
-rw------- 1 root root 390764 Sep 24 09:25 /tmp/perfetto

I then manually verified the file using https://ui.perfetto.dev/

kraj commented 1 month ago

@Ecordonnier this fails to patch on yocto AutoBuillder, secondly tthe commit message is poorly made. Please follow - YP Guidelines

Ecordonnier commented 1 month ago

My bad. I had tested perfetto, but had not realized libperfetto was the recipe using one of the patches.

kraj commented 1 month ago

more errors with v2 - https://errors.yoctoproject.org/Errors/Build/192005/

Ecordonnier commented 1 month ago

I had been testing with poky's core-image-full-cmdline, and had not noticed the musl specific errors triggered in the yoe build.

I added a patch to fix the musl issue (I reproduced locally using TCLIBC="musl" in poky and double-checked that both perfetto and libperfetto are now building with musl).

I can try another test process if there is one which is better (I'm not sure what's the best test in this case. I assume I can't trigger the yocto autobuilder on my own?).

kraj commented 1 month ago

Here is latest failure seen across musl and glibc with clang toolchain.

https://errors.yoctoproject.org/Errors/Details/806145/

Ecordonnier commented 1 month ago

I have fixed the clang error (using TOOLCHAIN="clang" and meta-clang). I haven't understood why this happens only with clang and not with gcc.

Ecordonnier commented 1 month ago

Merged as https://github.com/openembedded/meta-openembedded/commit/a2bd05f9ecd77150d0949f27397453f949d7362e