Skip to content

Commit 66ef1f7

Browse files
committed
Merge remote-tracking branch 'origin/main' into dev/lalitm/process-track-summary
2 parents fbe4e83 + 75fad3a commit 66ef1f7

File tree

47 files changed

+3023
-1536
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+3023
-1536
lines changed

Android.bp

Lines changed: 43 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3265,6 +3265,7 @@ filegroup {
32653265
"protos/perfetto/trace/ftrace/samsung.proto",
32663266
"protos/perfetto/trace/ftrace/sched.proto",
32673267
"protos/perfetto/trace/ftrace/scm.proto",
3268+
"protos/perfetto/trace/ftrace/scsi.proto",
32683269
"protos/perfetto/trace/ftrace/sde.proto",
32693270
"protos/perfetto/trace/ftrace/signal.proto",
32703271
"protos/perfetto/trace/ftrace/skb.proto",
@@ -7840,6 +7841,7 @@ genrule {
78407841
"protos/perfetto/trace/ftrace/samsung.proto",
78417842
"protos/perfetto/trace/ftrace/sched.proto",
78427843
"protos/perfetto/trace/ftrace/scm.proto",
7844+
"protos/perfetto/trace/ftrace/scsi.proto",
78437845
"protos/perfetto/trace/ftrace/sde.proto",
78447846
"protos/perfetto/trace/ftrace/signal.proto",
78457847
"protos/perfetto/trace/ftrace/skb.proto",
@@ -8271,6 +8273,7 @@ filegroup {
82718273
"protos/perfetto/trace/ftrace/samsung.proto",
82728274
"protos/perfetto/trace/ftrace/sched.proto",
82738275
"protos/perfetto/trace/ftrace/scm.proto",
8276+
"protos/perfetto/trace/ftrace/scsi.proto",
82748277
"protos/perfetto/trace/ftrace/sde.proto",
82758278
"protos/perfetto/trace/ftrace/signal.proto",
82768279
"protos/perfetto/trace/ftrace/skb.proto",
@@ -8369,6 +8372,7 @@ genrule {
83698372
"external/perfetto/protos/perfetto/trace/ftrace/samsung.gen.cc",
83708373
"external/perfetto/protos/perfetto/trace/ftrace/sched.gen.cc",
83718374
"external/perfetto/protos/perfetto/trace/ftrace/scm.gen.cc",
8375+
"external/perfetto/protos/perfetto/trace/ftrace/scsi.gen.cc",
83728376
"external/perfetto/protos/perfetto/trace/ftrace/sde.gen.cc",
83738377
"external/perfetto/protos/perfetto/trace/ftrace/signal.gen.cc",
83748378
"external/perfetto/protos/perfetto/trace/ftrace/skb.gen.cc",
@@ -8467,6 +8471,7 @@ genrule {
84678471
"external/perfetto/protos/perfetto/trace/ftrace/samsung.gen.h",
84688472
"external/perfetto/protos/perfetto/trace/ftrace/sched.gen.h",
84698473
"external/perfetto/protos/perfetto/trace/ftrace/scm.gen.h",
8474+
"external/perfetto/protos/perfetto/trace/ftrace/scsi.gen.h",
84708475
"external/perfetto/protos/perfetto/trace/ftrace/sde.gen.h",
84718476
"external/perfetto/protos/perfetto/trace/ftrace/signal.gen.h",
84728477
"external/perfetto/protos/perfetto/trace/ftrace/skb.gen.h",
@@ -8560,6 +8565,7 @@ filegroup {
85608565
"protos/perfetto/trace/ftrace/samsung.proto",
85618566
"protos/perfetto/trace/ftrace/sched.proto",
85628567
"protos/perfetto/trace/ftrace/scm.proto",
8568+
"protos/perfetto/trace/ftrace/scsi.proto",
85638569
"protos/perfetto/trace/ftrace/sde.proto",
85648570
"protos/perfetto/trace/ftrace/signal.proto",
85658571
"protos/perfetto/trace/ftrace/skb.proto",
@@ -8657,6 +8663,7 @@ genrule {
86578663
"external/perfetto/protos/perfetto/trace/ftrace/samsung.pb.cc",
86588664
"external/perfetto/protos/perfetto/trace/ftrace/sched.pb.cc",
86598665
"external/perfetto/protos/perfetto/trace/ftrace/scm.pb.cc",
8666+
"external/perfetto/protos/perfetto/trace/ftrace/scsi.pb.cc",
86608667
"external/perfetto/protos/perfetto/trace/ftrace/sde.pb.cc",
86618668
"external/perfetto/protos/perfetto/trace/ftrace/signal.pb.cc",
86628669
"external/perfetto/protos/perfetto/trace/ftrace/skb.pb.cc",
@@ -8754,6 +8761,7 @@ genrule {
87548761
"external/perfetto/protos/perfetto/trace/ftrace/samsung.pb.h",
87558762
"external/perfetto/protos/perfetto/trace/ftrace/sched.pb.h",
87568763
"external/perfetto/protos/perfetto/trace/ftrace/scm.pb.h",
8764+
"external/perfetto/protos/perfetto/trace/ftrace/scsi.pb.h",
87578765
"external/perfetto/protos/perfetto/trace/ftrace/sde.pb.h",
87588766
"external/perfetto/protos/perfetto/trace/ftrace/signal.pb.h",
87598767
"external/perfetto/protos/perfetto/trace/ftrace/skb.pb.h",
@@ -8847,6 +8855,7 @@ filegroup {
88478855
"protos/perfetto/trace/ftrace/samsung.proto",
88488856
"protos/perfetto/trace/ftrace/sched.proto",
88498857
"protos/perfetto/trace/ftrace/scm.proto",
8858+
"protos/perfetto/trace/ftrace/scsi.proto",
88508859
"protos/perfetto/trace/ftrace/sde.proto",
88518860
"protos/perfetto/trace/ftrace/signal.proto",
88528861
"protos/perfetto/trace/ftrace/skb.proto",
@@ -8945,6 +8954,7 @@ genrule {
89458954
"external/perfetto/protos/perfetto/trace/ftrace/samsung.pbzero.cc",
89468955
"external/perfetto/protos/perfetto/trace/ftrace/sched.pbzero.cc",
89478956
"external/perfetto/protos/perfetto/trace/ftrace/scm.pbzero.cc",
8957+
"external/perfetto/protos/perfetto/trace/ftrace/scsi.pbzero.cc",
89488958
"external/perfetto/protos/perfetto/trace/ftrace/sde.pbzero.cc",
89498959
"external/perfetto/protos/perfetto/trace/ftrace/signal.pbzero.cc",
89508960
"external/perfetto/protos/perfetto/trace/ftrace/skb.pbzero.cc",
@@ -9043,6 +9053,7 @@ genrule {
90439053
"external/perfetto/protos/perfetto/trace/ftrace/samsung.pbzero.h",
90449054
"external/perfetto/protos/perfetto/trace/ftrace/sched.pbzero.h",
90459055
"external/perfetto/protos/perfetto/trace/ftrace/scm.pbzero.h",
9056+
"external/perfetto/protos/perfetto/trace/ftrace/scsi.pbzero.h",
90469057
"external/perfetto/protos/perfetto/trace/ftrace/sde.pbzero.h",
90479058
"external/perfetto/protos/perfetto/trace/ftrace/signal.pbzero.h",
90489059
"external/perfetto/protos/perfetto/trace/ftrace/skb.pbzero.h",
@@ -15265,6 +15276,7 @@ genrule {
1526515276
"src/trace_processor/perfetto_sql/stdlib/slices/flow.sql",
1526615277
"src/trace_processor/perfetto_sql/stdlib/slices/hierarchy.sql",
1526715278
"src/trace_processor/perfetto_sql/stdlib/slices/self_dur.sql",
15279+
"src/trace_processor/perfetto_sql/stdlib/slices/stack.sql",
1526815280
"src/trace_processor/perfetto_sql/stdlib/slices/time_in_state.sql",
1526915281
"src/trace_processor/perfetto_sql/stdlib/slices/with_context.sql",
1527015282
"src/trace_processor/perfetto_sql/stdlib/stack_trace/jit.sql",
@@ -15706,19 +15718,10 @@ cc_library_static {
1570615718
":perfetto_src_trace_processor_util_zip_reader",
1570715719
"src/trace_processor/trace_processor_shell.cc",
1570815720
],
15709-
shared_libs: [
15710-
"libicu",
15711-
"liblog",
15712-
"libprotobuf-cpp-full",
15713-
"libsqlite",
15714-
"libutils",
15715-
"libz",
15716-
],
1571715721
static_libs: [
15718-
"perfetto_flags_c_lib",
1571915722
"perfetto_src_trace_processor_demangle",
15720-
"sqlite_ext_percentile",
1572115723
],
15724+
host_supported: true,
1572215725
generated_headers: [
1572315726
"perfetto_protos_perfetto_common_cpp_gen_headers",
1572415727
"perfetto_protos_perfetto_common_zero_gen_headers",
@@ -15853,6 +15856,35 @@ cc_library_static {
1585315856
"-DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER",
1585415857
"-DZLIB_IMPLEMENTATION",
1585515858
],
15859+
target: {
15860+
android: {
15861+
shared_libs: [
15862+
"libicu",
15863+
"liblog",
15864+
"libprotobuf-cpp-full",
15865+
"libsqlite",
15866+
"libutils",
15867+
"libz",
15868+
],
15869+
static_libs: [
15870+
"perfetto_flags_c_lib",
15871+
"sqlite_ext_percentile",
15872+
],
15873+
},
15874+
host: {
15875+
static_libs: [
15876+
"libprotobuf-cpp-full",
15877+
"libsqlite_static_noicu",
15878+
"libz",
15879+
"sqlite_ext_percentile",
15880+
],
15881+
},
15882+
musl: {
15883+
static_libs: [
15884+
"libfts",
15885+
],
15886+
},
15887+
},
1585615888
}
1585715889

1585815890
// GN: //src/trace_processor/trace_summary:gen_cc_trace_summary_descriptor
@@ -17301,6 +17333,7 @@ java_library {
1730117333
"protos/perfetto/trace/ftrace/samsung.proto",
1730217334
"protos/perfetto/trace/ftrace/sched.proto",
1730317335
"protos/perfetto/trace/ftrace/scm.proto",
17336+
"protos/perfetto/trace/ftrace/scsi.proto",
1730417337
"protos/perfetto/trace/ftrace/sde.proto",
1730517338
"protos/perfetto/trace/ftrace/signal.proto",
1730617339
"protos/perfetto/trace/ftrace/skb.proto",
@@ -18981,11 +19014,6 @@ cc_binary {
1898119014
],
1898219015
},
1898319016
},
18984-
musl: {
18985-
static_libs: [
18986-
"libfts",
18987-
],
18988-
},
1898919017
},
1899019018
}
1899119019

BUILD

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3648,6 +3648,7 @@ perfetto_filegroup(
36483648
"src/trace_processor/perfetto_sql/stdlib/slices/flow.sql",
36493649
"src/trace_processor/perfetto_sql/stdlib/slices/hierarchy.sql",
36503650
"src/trace_processor/perfetto_sql/stdlib/slices/self_dur.sql",
3651+
"src/trace_processor/perfetto_sql/stdlib/slices/stack.sql",
36513652
"src/trace_processor/perfetto_sql/stdlib/slices/time_in_state.sql",
36523653
"src/trace_processor/perfetto_sql/stdlib/slices/with_context.sql",
36533654
],
@@ -6838,6 +6839,7 @@ perfetto_proto_library(
68386839
"protos/perfetto/trace/ftrace/samsung.proto",
68396840
"protos/perfetto/trace/ftrace/sched.proto",
68406841
"protos/perfetto/trace/ftrace/scm.proto",
6842+
"protos/perfetto/trace/ftrace/scsi.proto",
68416843
"protos/perfetto/trace/ftrace/sde.proto",
68426844
"protos/perfetto/trace/ftrace/signal.proto",
68436845
"protos/perfetto/trace/ftrace/skb.proto",

docs/contributing/common-tasks.md

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,35 @@ was built with we prompt the user to update.
168168
6. If special handling in `trace_processor` is desired update [src/trace_processor/importers/ftrace/ftrace_parser.cc](/src/trace_processor/importers/ftrace/ftrace_parser.cc) to parse the event.
169169
7. Upload and land your change as normal.
170170

171-
Here is an [example change](https://android-review.googlesource.com/c/platform/external/perfetto/+/1290645) which added the `ion/ion_stat` event.
171+
Here is an [example change](https://android-review.googlesource.com/c/platform/external/perfetto/+/3343525) which added a new event. Note: Perfetto's source of truth has moved to Github sent the change was made so while the content of that change is accurate, you should send the patch via Github *not* on AOSP Gerrit.
172+
173+
To test your changes, you can sideload your locally built `tracebox` binary on an Android device. See [Sideloading on Android](#sideloading) for more details.
174+
175+
## {#sideloading} Sideloading on Android
176+
177+
To test changes on an Android device (e.g. when adding a new ftrace event),
178+
you can use the `record_android_trace` script to sideload a locally built
179+
`tracebox` binary.
180+
181+
1. Build `tracebox` for Android.
182+
See [Getting Started](getting-started.md#building) for instructions
183+
on how to configure the build for Android.
184+
```bash
185+
# This assumes you have configured out/android per the instructions linked above.
186+
tools/ninja -C out/android_release_arm64 tracebox
187+
```
188+
189+
2. Use `record_android_trace` to sideload and record a trace:
190+
```bash
191+
tools/record_android_trace \
192+
--sideload-path out/android_release_arm64/tracebox \
193+
-o trace.pftrace \
194+
-t 10s \
195+
-b 32mb \
196+
sched/sched_switch
197+
```
198+
The `--sideload-path` argument tells the script to push the locally built
199+
`tracebox` binary to the device and use it for recording.
172200

173201
## Statsd
174202

docs/contributing/getting-started.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@ git clone https://github.com/google/perfetto.git
1414
cd perfetto
1515

1616
# Install dependencies
17+
# Add --android to pull the Android NDK and emulator
1718
tools/install-build-deps
1819

1920
# Setup all build configs
21+
# Add --android to generate Android build configs
2022
tools/setup_all_configs.py
2123
```
2224

@@ -42,6 +44,16 @@ tools/ninja -C out/mac_release
4244
tools/ninja -C out/mac_debug
4345
```
4446

47+
_For Android (cross-compiled on desktop OS)_
48+
49+
```sh
50+
# Production build (arm64)
51+
tools/ninja -C out/android_release_arm64
52+
53+
# Debug build (arm64)
54+
tools/ninja -C out/android_debug_arm64
55+
```
56+
4557
_UI_
4658

4759
```sh

gn/standalone/proto_library.gni

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -289,11 +289,7 @@ template("proto_library") {
289289
configs += [ ":$config_name" ]
290290
}
291291

292-
# Use protobuf_full only for tests.
293-
if (defined(invoker.use_protobuf_full) &&
294-
invoker.use_protobuf_full == true) {
295-
deps = [ "//gn:protobuf_full" ]
296-
} else if (generate_cc) {
292+
if (generate_cc) {
297293
deps = [ "//gn:protobuf_lite" ]
298294
} else {
299295
deps = []

protos/perfetto/metrics/BUILD.gn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import("../../../gn/perfetto.gni")
1616
import("../../../gn/proto_library.gni")
1717

1818
perfetto_proto_library("@TYPE@") {
19-
proto_generators = [ "lite" ]
19+
proto_generators = [ "zero" ]
2020
deps = [
2121
"android:@TYPE@",
2222
"common:@TYPE@",
@@ -29,7 +29,7 @@ perfetto_proto_library("@TYPE@") {
2929
}
3030

3131
perfetto_proto_library("custom_options_@TYPE@") {
32-
proto_generators = [ "lite" ]
32+
proto_generators = [ "zero" ]
3333
sources = [ "custom_options.proto" ]
3434
import_dirs = [ "${perfetto_protobuf_src_dir}" ]
3535
}

protos/perfetto/metrics/android/BUILD.gn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import("../../../../gn/proto_library.gni")
1616

1717
perfetto_proto_library("@TYPE@") {
18-
proto_generators = [ "lite" ]
18+
proto_generators = [ "zero" ]
1919
sources = [
2020
"ad_services_metric.proto",
2121
"android_anomaly_metric.proto",

protos/perfetto/metrics/chrome/BUILD.gn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import("../../../../gn/proto_library.gni")
1616

1717
perfetto_proto_library("@TYPE@") {
18-
proto_generators = [ "lite" ]
18+
proto_generators = [ "zero" ]
1919
import_dirs = [ "${perfetto_protobuf_src_dir}" ]
2020
deps = [
2121
"..:@TYPE@",

protos/perfetto/metrics/common/BUILD.gn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
import("../../../../gn/proto_library.gni")
1616

1717
perfetto_proto_library("@TYPE@") {
18-
proto_generators = [ "lite" ]
18+
proto_generators = [ "zero" ]
1919
sources = [ "clone_duration.proto" ]
2020
}

protos/perfetto/trace/ftrace/all_protos.gni

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ ftrace_proto_names = [
7979
"samsung.proto",
8080
"sched.proto",
8181
"scm.proto",
82+
"scsi.proto",
8283
"sde.proto",
8384
"signal.proto",
8485
"skb.proto",

0 commit comments

Comments
 (0)