aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYiwei Zhang <zzyiwei@google.com>2020-06-25 14:41:23 -0700
committerYiwei Zhang <zzyiwei@google.com>2020-06-25 17:51:06 -0700
commitee1ad0698bf61f55a1da4a0bb4f84f8705f4c041 (patch)
treec42225f02510c3ce5f77e41cdc16b6bcd178c17a
parentd6df83342a2b53dd2c4b6be34f4d3984db67e9db (diff)
downloadperfetto-ee1ad0698bf61f55a1da4a0bb4f84f8705f4c041.tar.gz
GPU Memory: add proto for perfetto producer in gpuservice
Bug: 158431662 Test: take a perfetto trace with the producer Change-Id: I26af49e3f2bd8846fcc6fc6af0d43ccad21ae227 Merged-In: I26af49e3f2bd8846fcc6fc6af0d43ccad21ae227
-rw-r--r--Android.bp12
-rw-r--r--BUILD1
-rw-r--r--protos/perfetto/trace/android/BUILD.gn1
-rw-r--r--protos/perfetto/trace/android/gpu_mem_event.proto25
-rw-r--r--protos/perfetto/trace/perfetto_trace.proto14
-rw-r--r--protos/perfetto/trace/trace_packet.proto4
6 files changed, 55 insertions, 2 deletions
diff --git a/Android.bp b/Android.bp
index a22ff0257..722ba585e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -3246,6 +3246,7 @@ genrule {
name: "perfetto_protos_perfetto_trace_android_cpp_gen",
srcs: [
"protos/perfetto/trace/android/android_log.proto",
+ "protos/perfetto/trace/android/gpu_mem_event.proto",
"protos/perfetto/trace/android/graphics_frame_event.proto",
"protos/perfetto/trace/android/initial_display_state.proto",
"protos/perfetto/trace/android/packages_list.proto",
@@ -3257,6 +3258,7 @@ genrule {
cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_cppgen_plugin) --plugin_out=wrapper_namespace=gen:$(genDir)/external/perfetto/ $(in)",
out: [
"external/perfetto/protos/perfetto/trace/android/android_log.gen.cc",
+ "external/perfetto/protos/perfetto/trace/android/gpu_mem_event.gen.cc",
"external/perfetto/protos/perfetto/trace/android/graphics_frame_event.gen.cc",
"external/perfetto/protos/perfetto/trace/android/initial_display_state.gen.cc",
"external/perfetto/protos/perfetto/trace/android/packages_list.gen.cc",
@@ -3268,6 +3270,7 @@ genrule {
name: "perfetto_protos_perfetto_trace_android_cpp_gen_headers",
srcs: [
"protos/perfetto/trace/android/android_log.proto",
+ "protos/perfetto/trace/android/gpu_mem_event.proto",
"protos/perfetto/trace/android/graphics_frame_event.proto",
"protos/perfetto/trace/android/initial_display_state.proto",
"protos/perfetto/trace/android/packages_list.proto",
@@ -3279,6 +3282,7 @@ genrule {
cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location perfetto_src_protozero_protoc_plugin_cppgen_plugin) --plugin_out=wrapper_namespace=gen:$(genDir)/external/perfetto/ $(in)",
out: [
"external/perfetto/protos/perfetto/trace/android/android_log.gen.h",
+ "external/perfetto/protos/perfetto/trace/android/gpu_mem_event.gen.h",
"external/perfetto/protos/perfetto/trace/android/graphics_frame_event.gen.h",
"external/perfetto/protos/perfetto/trace/android/initial_display_state.gen.h",
"external/perfetto/protos/perfetto/trace/android/packages_list.gen.h",
@@ -3294,6 +3298,7 @@ genrule {
name: "perfetto_protos_perfetto_trace_android_lite_gen",
srcs: [
"protos/perfetto/trace/android/android_log.proto",
+ "protos/perfetto/trace/android/gpu_mem_event.proto",
"protos/perfetto/trace/android/graphics_frame_event.proto",
"protos/perfetto/trace/android/initial_display_state.proto",
"protos/perfetto/trace/android/packages_list.proto",
@@ -3304,6 +3309,7 @@ genrule {
cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --cpp_out=lite=true:$(genDir)/external/perfetto/ $(in)",
out: [
"external/perfetto/protos/perfetto/trace/android/android_log.pb.cc",
+ "external/perfetto/protos/perfetto/trace/android/gpu_mem_event.pb.cc",
"external/perfetto/protos/perfetto/trace/android/graphics_frame_event.pb.cc",
"external/perfetto/protos/perfetto/trace/android/initial_display_state.pb.cc",
"external/perfetto/protos/perfetto/trace/android/packages_list.pb.cc",
@@ -3315,6 +3321,7 @@ genrule {
name: "perfetto_protos_perfetto_trace_android_lite_gen_headers",
srcs: [
"protos/perfetto/trace/android/android_log.proto",
+ "protos/perfetto/trace/android/gpu_mem_event.proto",
"protos/perfetto/trace/android/graphics_frame_event.proto",
"protos/perfetto/trace/android/initial_display_state.proto",
"protos/perfetto/trace/android/packages_list.proto",
@@ -3325,6 +3332,7 @@ genrule {
cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --cpp_out=lite=true:$(genDir)/external/perfetto/ $(in)",
out: [
"external/perfetto/protos/perfetto/trace/android/android_log.pb.h",
+ "external/perfetto/protos/perfetto/trace/android/gpu_mem_event.pb.h",
"external/perfetto/protos/perfetto/trace/android/graphics_frame_event.pb.h",
"external/perfetto/protos/perfetto/trace/android/initial_display_state.pb.h",
"external/perfetto/protos/perfetto/trace/android/packages_list.pb.h",
@@ -3340,6 +3348,7 @@ genrule {
name: "perfetto_protos_perfetto_trace_android_zero_gen",
srcs: [
"protos/perfetto/trace/android/android_log.proto",
+ "protos/perfetto/trace/android/gpu_mem_event.proto",
"protos/perfetto/trace/android/graphics_frame_event.proto",
"protos/perfetto/trace/android/initial_display_state.proto",
"protos/perfetto/trace/android/packages_list.proto",
@@ -3351,6 +3360,7 @@ genrule {
cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location protozero_plugin) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/ $(in)",
out: [
"external/perfetto/protos/perfetto/trace/android/android_log.pbzero.cc",
+ "external/perfetto/protos/perfetto/trace/android/gpu_mem_event.pbzero.cc",
"external/perfetto/protos/perfetto/trace/android/graphics_frame_event.pbzero.cc",
"external/perfetto/protos/perfetto/trace/android/initial_display_state.pbzero.cc",
"external/perfetto/protos/perfetto/trace/android/packages_list.pbzero.cc",
@@ -3362,6 +3372,7 @@ genrule {
name: "perfetto_protos_perfetto_trace_android_zero_gen_headers",
srcs: [
"protos/perfetto/trace/android/android_log.proto",
+ "protos/perfetto/trace/android/gpu_mem_event.proto",
"protos/perfetto/trace/android/graphics_frame_event.proto",
"protos/perfetto/trace/android/initial_display_state.proto",
"protos/perfetto/trace/android/packages_list.proto",
@@ -3373,6 +3384,7 @@ genrule {
cmd: "mkdir -p $(genDir)/external/perfetto/ && $(location aprotoc) --proto_path=external/perfetto --plugin=protoc-gen-plugin=$(location protozero_plugin) --plugin_out=wrapper_namespace=pbzero:$(genDir)/external/perfetto/ $(in)",
out: [
"external/perfetto/protos/perfetto/trace/android/android_log.pbzero.h",
+ "external/perfetto/protos/perfetto/trace/android/gpu_mem_event.pbzero.h",
"external/perfetto/protos/perfetto/trace/android/graphics_frame_event.pbzero.h",
"external/perfetto/protos/perfetto/trace/android/initial_display_state.pbzero.h",
"external/perfetto/protos/perfetto/trace/android/packages_list.pbzero.h",
diff --git a/BUILD b/BUILD
index 850565e78..7bdb89292 100644
--- a/BUILD
+++ b/BUILD
@@ -2080,6 +2080,7 @@ perfetto_proto_library(
name = "protos_perfetto_trace_android_protos",
srcs = [
"protos/perfetto/trace/android/android_log.proto",
+ "protos/perfetto/trace/android/gpu_mem_event.proto",
"protos/perfetto/trace/android/graphics_frame_event.proto",
"protos/perfetto/trace/android/initial_display_state.proto",
"protos/perfetto/trace/android/packages_list.proto",
diff --git a/protos/perfetto/trace/android/BUILD.gn b/protos/perfetto/trace/android/BUILD.gn
index a43e4467b..99d7f0fb0 100644
--- a/protos/perfetto/trace/android/BUILD.gn
+++ b/protos/perfetto/trace/android/BUILD.gn
@@ -20,6 +20,7 @@ perfetto_proto_library("@TYPE@") {
sources = [
"android_log.proto",
"graphics_frame_event.proto",
+ "gpu_mem_event.proto",
"initial_display_state.proto",
"packages_list.proto",
]
diff --git a/protos/perfetto/trace/android/gpu_mem_event.proto b/protos/perfetto/trace/android/gpu_mem_event.proto
new file mode 100644
index 000000000..430779725
--- /dev/null
+++ b/protos/perfetto/trace/android/gpu_mem_event.proto
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+syntax = "proto2";
+package perfetto.protos;
+
+// Generated by Android's GpuService.
+message GpuMemTotalEvent {
+ optional uint32 gpu_id = 1;
+ optional uint32 pid = 2;
+ optional uint64 size = 3;
+}
diff --git a/protos/perfetto/trace/perfetto_trace.proto b/protos/perfetto/trace/perfetto_trace.proto
index 05d0a3300..a445f8f72 100644
--- a/protos/perfetto/trace/perfetto_trace.proto
+++ b/protos/perfetto/trace/perfetto_trace.proto
@@ -1619,6 +1619,17 @@ message AndroidLogPacket {
// End of protos/perfetto/trace/android/android_log.proto
+// Begin of protos/perfetto/trace/android/gpu_mem_event.proto
+
+// Generated by Android's GpuService.
+message GpuMemTotalEvent {
+ optional uint32 gpu_id = 1;
+ optional uint32 pid = 2;
+ optional uint64 size = 3;
+}
+
+// End of protos/perfetto/trace/android/gpu_mem_event.proto
+
// Begin of protos/perfetto/trace/android/graphics_frame_event.proto
// Generated by Android's SurfaceFlinger.
@@ -6898,7 +6909,7 @@ message Trigger {
// See the [Buffers and Dataflow](/docs/concepts/buffers.md) doc for details.
//
// Next reserved id: 13 (up to 15).
-// Next id: 71.
+// Next id: 72.
message TracePacket {
// The timestamp of the TracePacket.
// By default this timestamps refers to the trace clock (CLOCK_BOOTTIME on
@@ -6953,6 +6964,7 @@ message TracePacket {
SmapsPacket smaps_packet = 68;
TracingServiceEvent service_event = 69;
InitialDisplayState initial_display_state = 70;
+ GpuMemTotalEvent gpu_mem_total_event = 71;
// Only used in profile packets.
ProfiledFrameSymbols profiled_frame_symbols = 55;
diff --git a/protos/perfetto/trace/trace_packet.proto b/protos/perfetto/trace/trace_packet.proto
index da02933fa..01a7c5d04 100644
--- a/protos/perfetto/trace/trace_packet.proto
+++ b/protos/perfetto/trace/trace_packet.proto
@@ -19,6 +19,7 @@ syntax = "proto2";
import "protos/perfetto/common/trace_stats.proto";
import "protos/perfetto/config/trace_config.proto";
import "protos/perfetto/trace/android/android_log.proto";
+import "protos/perfetto/trace/android/gpu_mem_event.proto";
import "protos/perfetto/trace/android/graphics_frame_event.proto";
import "protos/perfetto/trace/android/initial_display_state.proto";
import "protos/perfetto/trace/android/packages_list.proto";
@@ -78,7 +79,7 @@ package perfetto.protos;
// See the [Buffers and Dataflow](/docs/concepts/buffers.md) doc for details.
//
// Next reserved id: 13 (up to 15).
-// Next id: 71.
+// Next id: 72.
message TracePacket {
// The timestamp of the TracePacket.
// By default this timestamps refers to the trace clock (CLOCK_BOOTTIME on
@@ -133,6 +134,7 @@ message TracePacket {
SmapsPacket smaps_packet = 68;
TracingServiceEvent service_event = 69;
InitialDisplayState initial_display_state = 70;
+ GpuMemTotalEvent gpu_mem_total_event = 71;
// Only used in profile packets.
ProfiledFrameSymbols profiled_frame_symbols = 55;