Merge "metrics: Refactor RAIL Mode power queries"
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 65ee8a9..9ccc4b6 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -22,8 +22,8 @@
def long_line_sources(x):
return input.FilterSourceFile(
x,
- allow_list=".*",
- block_list=[
+ files_to_check='.*',
+ files_to_skip=[
'Android[.]bp', '.*[.]json$', '.*[.]sql$', '.*[.]out$',
'test/trace_processor/.*/index$', '.*\bBUILD$', 'WORKSPACE',
'.*/Makefile$', '/perfetto_build_flags.h$'
@@ -63,7 +63,7 @@
# If no GN files were modified, bail out.
def build_file_filter(x):
return input_api.FilterSourceFile(
- x, allow_list=('.*BUILD[.]gn$', '.*[.]gni$', 'BUILD\.extras', tool))
+ x, files_to_check=('.*BUILD[.]gn$', '.*[.]gni$', 'BUILD\.extras', tool))
if not input_api.AffectedSourceFiles(build_file_filter):
return []
@@ -81,7 +81,7 @@
# If no GN files were modified, bail out.
def build_file_filter(x):
return input_api.FilterSourceFile(
- x, allow_list=('.*BUILD[.]gn$', '.*[.]gni$', tool))
+ x, files_to_check=('.*BUILD[.]gn$', '.*[.]gni$', tool))
if not input_api.AffectedSourceFiles(build_file_filter):
return []
@@ -98,7 +98,7 @@
def file_filter(x):
return input_api.FilterSourceFile(
- x, allow_list=['.*[.]cc$', '.*[.]h$', tool])
+ x, files_to_check=['.*[.]cc$', '.*[.]h$', tool])
if not input_api.AffectedSourceFiles(file_filter):
return []
@@ -134,7 +134,7 @@
]
def file_filter(x):
- return input_api.FilterSourceFile(x, allow_list=[r'.*\.h$', r'.*\.cc$'])
+ return input_api.FilterSourceFile(x, files_to_check=[r'.*\.h$', r'.*\.cc$'])
errors = []
for f in input_api.AffectedSourceFiles(file_filter):
@@ -151,7 +151,8 @@
tool = 'tools/check_include_violations'
def file_filter(x):
- return input_api.FilterSourceFile(x, allow_list=['include/.*[.]h$', tool])
+ return input_api.FilterSourceFile(
+ x, files_to_check=['include/.*[.]h$', tool])
if not input_api.AffectedSourceFiles(file_filter):
return []
@@ -165,7 +166,7 @@
def file_filter(x):
return input_api.FilterSourceFile(
- x, allow_list=['protos/perfetto/.*[.]proto$', '.*[.]h', tool])
+ x, files_to_check=['protos/perfetto/.*[.]proto$', '.*[.]h', tool])
if not input_api.AffectedSourceFiles(file_filter):
return []
@@ -182,7 +183,7 @@
def build_file_filter(x):
return input_api.FilterSourceFile(
- x, allow_list=['protos/perfetto/.*[.]proto$', tool])
+ x, files_to_check=['protos/perfetto/.*[.]proto$', tool])
if not input_api.AffectedSourceFiles(build_file_filter):
return []
@@ -216,7 +217,7 @@
def file_filter(x):
return input_api.FilterSourceFile(
- x, allow_list=['protos/perfetto/.*[.]proto$', tool])
+ x, files_to_check=['protos/perfetto/.*[.]proto$', tool])
if not input_api.AffectedSourceFiles(file_filter):
return []
diff --git a/protos/perfetto/metrics/android/display_metrics.proto b/protos/perfetto/metrics/android/display_metrics.proto
index fc858ac..4c36b5b 100644
--- a/protos/perfetto/metrics/android/display_metrics.proto
+++ b/protos/perfetto/metrics/android/display_metrics.proto
@@ -27,4 +27,7 @@
// Stat reports whether there is any duplicate_frames tracked
optional uint32 duplicate_frames_logged = 2;
-}
\ No newline at end of file
+
+ // Stat that reports the number of dpu underrrun occurs count.
+ optional uint32 total_dpu_underrun_count = 3;
+}
diff --git a/protos/perfetto/metrics/perfetto_merged_metrics.proto b/protos/perfetto/metrics/perfetto_merged_metrics.proto
index cad0782..c803dac 100644
--- a/protos/perfetto/metrics/perfetto_merged_metrics.proto
+++ b/protos/perfetto/metrics/perfetto_merged_metrics.proto
@@ -122,7 +122,11 @@
// Stat reports whether there is any duplicate_frames tracked
optional uint32 duplicate_frames_logged = 2;
+
+ // Stat that reports the number of dpu underrrun occurs count.
+ optional uint32 total_dpu_underrun_count = 3;
}
+
// End of protos/perfetto/metrics/android/display_metrics.proto
// Begin of protos/perfetto/metrics/android/gpu_metric.proto
diff --git a/src/profiling/symbolizer/filesystem_windows.cc b/src/profiling/symbolizer/filesystem_windows.cc
index 935703c..362e4bf 100644
--- a/src/profiling/symbolizer/filesystem_windows.cc
+++ b/src/profiling/symbolizer/filesystem_windows.cc
@@ -25,7 +25,7 @@
bool WalkDirectories(std::vector<std::string> dirs, FileCallback fn) {
std::vector<std::string> sub_dirs;
for (const std::string& dir : dirs) {
- LPWIN32_FIND_DATAA file;
+ WIN32_FIND_DATAA file;
HANDLE fh = FindFirstFileA((dir + "\\*").c_str(), &file);
if (fh != INVALID_HANDLE_VALUE) {
do {
diff --git a/src/trace_processor/metrics/android/display_metrics.sql b/src/trace_processor/metrics/android/display_metrics.sql
index 321ef4d..4205c1f 100644
--- a/src/trace_processor/metrics/android/display_metrics.sql
+++ b/src/trace_processor/metrics/android/display_metrics.sql
@@ -24,10 +24,18 @@
FROM counters
WHERE name='SAME_FRAME' AND value=0;
+CREATE VIEW dpu_underrun AS
+SELECT COUNT(name) AS total_dpu_underrun_count
+FROM counters
+WHERE name='DPU_UNDERRUN'
+AND value=1;
+
CREATE VIEW display_metrics_output AS
SELECT AndroidDisplayMetrics(
'total_duplicate_frames', (SELECT total_duplicate_frames
FROM same_frame),
'duplicate_frames_logged', (SELECT logs_found
- FROM duplicate_frames_logged)
-);
\ No newline at end of file
+ FROM duplicate_frames_logged),
+ 'total_dpu_underrun_count', (SELECT total_dpu_underrun_count
+ FROM dpu_underrun)
+);
diff --git a/src/trace_processor/metrics/metrics.cc b/src/trace_processor/metrics/metrics.cc
index dfd5df6..3e7ac8f 100644
--- a/src/trace_processor/metrics/metrics.cc
+++ b/src/trace_processor/metrics/metrics.cc
@@ -588,8 +588,9 @@
std::string buffer;
int ret = TemplateReplace(query, substitutions, &buffer);
if (ret) {
- sqlite3_result_error(
- ctx, "RUN_METRIC: Error when performing substitution", -1);
+ char* error = sqlite3_mprintf(
+ "RUN_METRIC: Error when performing substitutions: %s", query.c_str());
+ sqlite3_result_error(ctx, error, -1);
return;
}
diff --git a/src/trace_processor/python/perfetto/trace_processor/metrics.descriptor b/src/trace_processor/python/perfetto/trace_processor/metrics.descriptor
index 9ae40bd..8e1ba99 100644
--- a/src/trace_processor/python/perfetto/trace_processor/metrics.descriptor
+++ b/src/trace_processor/python/perfetto/trace_processor/metrics.descriptor
Binary files differ