Attach the latest .cpa file to bugreports.
* Latest is determined by alphabetical order * To find the .cpa file, unzip the bug report and run `tar -xvf dumpstate_board.bin` * The .cpa file can then be found under the `camera/` directory * This can be disabled with the prop `vendor.camera.debug.camera_performance_analyzer.attach_to_bugreport` Bug: 191169822 Test: `adb bugreport`, unzip, `tar -xvf dumpstate_board.bin`, find expected .cpa file Change-Id: Ie05e8d446588cebea46492b267491065161915a1
This commit is contained in:
parent
d5fa4a5534
commit
65e028b428
2 changed files with 14 additions and 3 deletions
|
@ -205,6 +205,14 @@ void dumpGpsLogs(int fd, std::string destDir) {
|
||||||
dumpLogs(fd, gpsLogDir, gpsDestDir, maxFileNum, GPS_LOG_PREFIX);
|
dumpLogs(fd, gpsLogDir, gpsDestDir, maxFileNum, GPS_LOG_PREFIX);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void dumpCameraLogs(int fd, const std::string &destDir) {
|
||||||
|
static const std::string kCameraLogDir = "/data/vendor/camera/profiler";
|
||||||
|
const std::string cameraDestDir = destDir + "/camera";
|
||||||
|
RunCommandToFd(fd, "MKDIR CAMERA LOG", {"/vendor/bin/mkdir", "-p", cameraDestDir.c_str()},
|
||||||
|
CommandOptions::WithTimeout(2).Build());
|
||||||
|
dumpLogs(fd, kCameraLogDir, cameraDestDir, 1, "session-ended-");
|
||||||
|
}
|
||||||
|
|
||||||
timepoint_t startSection(int fd, const std::string §ionName) {
|
timepoint_t startSection(int fd, const std::string §ionName) {
|
||||||
android::base::WriteStringToFd(
|
android::base::WriteStringToFd(
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -994,6 +1002,8 @@ static void *dumpModemThread(void *data) {
|
||||||
if (!PropertiesHelper::IsUserBuild()) {
|
if (!PropertiesHelper::IsUserBuild()) {
|
||||||
bool gpsLogEnabled = android::base::GetBoolProperty(GPS_LOGGING_STATUS_PROPERTY, false);
|
bool gpsLogEnabled = android::base::GetBoolProperty(GPS_LOGGING_STATUS_PROPERTY, false);
|
||||||
bool tcpdumpEnabled = android::base::GetBoolProperty(TCPDUMP_PERSIST_PROPERTY, false);
|
bool tcpdumpEnabled = android::base::GetBoolProperty(TCPDUMP_PERSIST_PROPERTY, false);
|
||||||
|
bool cameraLogsEnabled = android::base::GetBoolProperty(
|
||||||
|
"vendor.camera.debug.camera_performance_analyzer.attach_to_bugreport", true);
|
||||||
|
|
||||||
if (tcpdumpEnabled) {
|
if (tcpdumpEnabled) {
|
||||||
dumpLogs(STDOUT_FILENO, tcpdumpLogDir, modemLogAllDir, android::base::GetIntProperty(TCPDUMP_NUMBER_BUGREPORT, 5), TCPDUMP_LOG_PREFIX);
|
dumpLogs(STDOUT_FILENO, tcpdumpLogDir, modemLogAllDir, android::base::GetIntProperty(TCPDUMP_NUMBER_BUGREPORT, 5), TCPDUMP_LOG_PREFIX);
|
||||||
|
@ -1005,6 +1015,10 @@ static void *dumpModemThread(void *data) {
|
||||||
ALOGD("gps logging is not running\n");
|
ALOGD("gps logging is not running\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (cameraLogsEnabled) {
|
||||||
|
dumpCameraLogs(STDOUT_FILENO, modemLogAllDir);
|
||||||
|
}
|
||||||
|
|
||||||
dumpLogs(STDOUT_FILENO, extendedLogDir, modemLogAllDir, 50, EXTENDED_LOG_PREFIX);
|
dumpLogs(STDOUT_FILENO, extendedLogDir, modemLogAllDir, 50, EXTENDED_LOG_PREFIX);
|
||||||
dumpRilLogs(STDOUT_FILENO, modemLogAllDir);
|
dumpRilLogs(STDOUT_FILENO, modemLogAllDir);
|
||||||
dumpNetmgrLogs(modemLogAllDir);
|
dumpNetmgrLogs(modemLogAllDir);
|
||||||
|
|
|
@ -30,13 +30,10 @@ namespace implementation {
|
||||||
using ::android::hardware::dumpstate::V1_1::DumpstateMode;
|
using ::android::hardware::dumpstate::V1_1::DumpstateMode;
|
||||||
using ::android::hardware::dumpstate::V1_1::DumpstateStatus;
|
using ::android::hardware::dumpstate::V1_1::DumpstateStatus;
|
||||||
using ::android::hardware::dumpstate::V1_1::IDumpstateDevice;
|
using ::android::hardware::dumpstate::V1_1::IDumpstateDevice;
|
||||||
using ::android::hardware::hidl_array;
|
|
||||||
using ::android::hardware::hidl_handle;
|
using ::android::hardware::hidl_handle;
|
||||||
using ::android::hardware::hidl_string;
|
using ::android::hardware::hidl_string;
|
||||||
using ::android::hardware::hidl_vec;
|
using ::android::hardware::hidl_vec;
|
||||||
using ::android::hardware::Return;
|
using ::android::hardware::Return;
|
||||||
using ::android::hardware::Void;
|
|
||||||
using ::android::sp;
|
|
||||||
|
|
||||||
struct DumpstateDevice : public IDumpstateDevice {
|
struct DumpstateDevice : public IDumpstateDevice {
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue