From 2b0742ec9da3d64dd90d6ccdc5e4902d0a7a32ec Mon Sep 17 00:00:00 2001 From: Ziyi Cui Date: Fri, 25 Nov 2022 05:22:15 +0000 Subject: [PATCH] gs-common:dumpstate: Dump long irq metrics, resume latency metrics at bugreport Create pixel_metrics to support bugreport for metrics Bug: 227809911 Bug: 232541623 Test: Test: "adb bugreport" includes metrics capture. Change-Id: If62a53b5ffa643c37c287f8ba0319de1d6b07529 Signed-off-by: Ziyi Cui --- pixel_metrics/Android.bp | 10 ++++++++++ pixel_metrics/dump_pixel_metrics.sh | 6 ++++++ pixel_metrics/pixel_metrics.mk | 3 +++ pixel_metrics/sepolicy/device.te | 2 ++ pixel_metrics/sepolicy/dump_pixel_metrics.te | 5 +++++ pixel_metrics/sepolicy/file_contexts | 1 + pixel_metrics/sepolicy/genfs_contexts | 3 +++ 7 files changed, 30 insertions(+) create mode 100644 pixel_metrics/Android.bp create mode 100644 pixel_metrics/dump_pixel_metrics.sh create mode 100644 pixel_metrics/pixel_metrics.mk create mode 100644 pixel_metrics/sepolicy/device.te create mode 100644 pixel_metrics/sepolicy/dump_pixel_metrics.te create mode 100644 pixel_metrics/sepolicy/file_contexts create mode 100644 pixel_metrics/sepolicy/genfs_contexts diff --git a/pixel_metrics/Android.bp b/pixel_metrics/Android.bp new file mode 100644 index 0000000..3ad3ff4 --- /dev/null +++ b/pixel_metrics/Android.bp @@ -0,0 +1,10 @@ +package { + default_applicable_licenses: ["Android-Apache-2.0"], +} + +sh_binary { + name: "dump_pixel_metrics.sh", + src: "dump_pixel_metrics.sh", + vendor: true, + sub_dir: "dump", +} diff --git a/pixel_metrics/dump_pixel_metrics.sh b/pixel_metrics/dump_pixel_metrics.sh new file mode 100644 index 0000000..229f618 --- /dev/null +++ b/pixel_metrics/dump_pixel_metrics.sh @@ -0,0 +1,6 @@ +#!/vendor/bin/sh +echo "Long running IRQ metrics" +cat /sys/kernel/metrics/irq/long_irq_metrics +echo "Resume latency metrics" +cat /sys/kernel/metrics/resume_latency/resume_latency_metrics + diff --git a/pixel_metrics/pixel_metrics.mk b/pixel_metrics/pixel_metrics.mk new file mode 100644 index 0000000..41e027d --- /dev/null +++ b/pixel_metrics/pixel_metrics.mk @@ -0,0 +1,3 @@ +BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/pixel_metrics/sepolicy + +PRODUCT_PACKAGES += dump_pixel_metrics.sh diff --git a/pixel_metrics/sepolicy/device.te b/pixel_metrics/sepolicy/device.te new file mode 100644 index 0000000..63640e3 --- /dev/null +++ b/pixel_metrics/sepolicy/device.te @@ -0,0 +1,2 @@ +#vendor-metrics +type sysfs_vendor_metrics, fs_type, sysfs_type; diff --git a/pixel_metrics/sepolicy/dump_pixel_metrics.te b/pixel_metrics/sepolicy/dump_pixel_metrics.te new file mode 100644 index 0000000..681670e --- /dev/null +++ b/pixel_metrics/sepolicy/dump_pixel_metrics.te @@ -0,0 +1,5 @@ +pixel_bugreport(dump_pixel_metrics) + +#vendor-metrics +r_dir_file(dump_pixel_metrics, sysfs_vendor_metrics) +allow dump_pixel_metrics vendor_toolbox_exec:file execute_no_trans; diff --git a/pixel_metrics/sepolicy/file_contexts b/pixel_metrics/sepolicy/file_contexts new file mode 100644 index 0000000..1b5b11f --- /dev/null +++ b/pixel_metrics/sepolicy/file_contexts @@ -0,0 +1 @@ +/vendor/bin/dump/dump_pixel_metrics\.sh u:object_r:dump_pixel_metrics_exec:s0 diff --git a/pixel_metrics/sepolicy/genfs_contexts b/pixel_metrics/sepolicy/genfs_contexts new file mode 100644 index 0000000..36882aa --- /dev/null +++ b/pixel_metrics/sepolicy/genfs_contexts @@ -0,0 +1,3 @@ +#vendor-metrics +genfscon sysfs /kernel/metrics/resume_latency/resume_latency_metrics u:object_r:sysfs_vendor_metrics:s0 +genfscon sysfs /kernel/metrics/irq/long_irq_metrics u:object_r:sysfs_vendor_metrics:s0