summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-02 00:02:49 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2022-12-02 00:02:49 +0000
commitfa22ac12a44cd4212c326e042e804bf9c14d5549 (patch)
treed59d6afd6a16cd20da29ce33da1f0c98e6182a2d
parent9d7703a943476f5e8430edb285045637526b6ae1 (diff)
parentb9fd6571c14fb95143f011dac9e8a5128d2042ab (diff)
downloadgs101-android13-d4-s2-release.tar.gz
Change-Id: Ifb96fd03597167102a8497e24d5bb3de691036eb
-rw-r--r--default-permissions.xml6
-rw-r--r--dumpstate/DumpstateDevice.cpp7
-rw-r--r--dumpstate/DumpstateDevice.h1
-rw-r--r--pixelstats/service.cpp3
4 files changed, 16 insertions, 1 deletions
diff --git a/default-permissions.xml b/default-permissions.xml
index d65d7aaf..425b93f8 100644
--- a/default-permissions.xml
+++ b/default-permissions.xml
@@ -162,5 +162,9 @@
<!-- Notifications -->
<permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
</exception>
+ <exception
+ package="com.google.android.euicc">
+ <!-- Notifications -->
+ <permission name="android.permission.POST_NOTIFICATIONS" fixed="false"/>
+ </exception>
</exceptions>
-
diff --git a/dumpstate/DumpstateDevice.cpp b/dumpstate/DumpstateDevice.cpp
index 631513b6..2f6f1b75 100644
--- a/dumpstate/DumpstateDevice.cpp
+++ b/dumpstate/DumpstateDevice.cpp
@@ -270,6 +270,7 @@ DumpstateDevice::DumpstateDevice()
{ "camera", [this](int fd) { dumpCameraSection(fd); } },
{ "trusty", [this](int fd) { dumpTrustySection(fd); } },
{ "modem", [this](int fd) { dumpModemSection(fd); } },
+ { "perf-metrics", [this](int fd) { dumpPerfMetricsSection(fd); } },
} {
}
@@ -520,6 +521,7 @@ void DumpstateDevice::dumpThermalSection(int fd) {
DumpFileToFd(fd, "TMU_TOP fall thresholds:", "/sys/module/gs101_thermal/parameters/tmu_top_reg_dump_fall_thres");
DumpFileToFd(fd, "TMU_SUB rise thresholds:", "/sys/module/gs101_thermal/parameters/tmu_sub_reg_dump_rise_thres");
DumpFileToFd(fd, "TMU_SUB fall thresholds:", "/sys/module/gs101_thermal/parameters/tmu_sub_reg_dump_fall_thres");
+ DumpFileToFd(fd, "Temperature Residency Metrics:", "/sys/kernel/metrics/temp_residency/temp_residency_all/stats");
}
// Dump items related to touch
@@ -1191,6 +1193,11 @@ static void *dumpModemThread(void *data) {
return NULL;
}
+void DumpstateDevice::dumpPerfMetricsSection(int fd) {
+ DumpFileToFd(fd, "Long running IRQ metrics", "/sys/kernel/metrics/irq/long_irq_metrics");
+ DumpFileToFd(fd, "Resume latency metrics", "/sys/kernel/metrics/resume_latency/resume_latency_metrics");
+}
+
// Methods from ::android::hardware::dumpstate::V1_0::IDumpstateDevice follow.
Return<void> DumpstateDevice::dumpstateBoard(const hidl_handle &handle) {
// Ignore return value, just return an empty status.
diff --git a/dumpstate/DumpstateDevice.h b/dumpstate/DumpstateDevice.h
index a6be31b9..f42ec198 100644
--- a/dumpstate/DumpstateDevice.h
+++ b/dumpstate/DumpstateDevice.h
@@ -79,6 +79,7 @@ struct DumpstateDevice : public IDumpstateDevice {
void dumpCameraSection(int fd);
void dumpTrustySection(int fd);
void dumpModemSection(int fd);
+ void dumpPerfMetricsSection(int fd);
};
} // namespace implementation
diff --git a/pixelstats/service.cpp b/pixelstats/service.cpp
index a1fe772b..eb71d45e 100644
--- a/pixelstats/service.cpp
+++ b/pixelstats/service.cpp
@@ -45,6 +45,8 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
.SpeakerTemperaturePath = "/sys/devices/platform/audiometrics/speaker_temp",
.SpeakerExcursionPath = "/sys/devices/platform/audiometrics/speaker_excursion",
.SpeakerHeartBeatPath = "/sys/devices/platform/audiometrics/speaker_heartbeat",
+ .ResumeLatencyMetricsPath = "/sys/kernel/metrics/resume_latency/resume_latency_metrics",
+ .LongIRQMetricsPath = "/sys/kernel/metrics/irq/long_irq_metrics",
.UFSErrStatsPath = {
UFS_ERR_PATH(pa_err_count),
UFS_ERR_PATH(dl_err_count),
@@ -55,6 +57,7 @@ const struct SysfsCollector::SysfsPaths sysfs_paths = {
UFS_ERR_PATH(auto_hibern8_err_count)
},
.AmsRatePath = "/sys/devices/platform/audiometrics/ams_rate_read_once",
+ .TempResidencyPath = "/sys/kernel/metrics/temp_residency/temp_residency_all/stats",
};
const struct UeventListener::UeventPaths ueventPaths = {