Adam Shih ee779b9ac8 move aoc dump to gs-common
Bug: 248426917
Test: adb bugreport
Change-Id: I29fea8752011959b5d0eb50ed93c6e8eed66f9ee
2022-10-11 15:36:26 +08:00

62 lines
3.0 KiB
C++

/*
* Copyright 2022 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.
*/
#include <stdio.h>
#include <string>
#include <android-base/file.h>
#include <fstream>
#include <iostream>
// Format title and content output.
void dumpFileContent(const char* title, const char* file_path) {
std::string content;
printf("------ %s (%s) ------\n", title, file_path);
if (android::base::ReadFileToString(file_path, &content)) {
printf("%s\n", content.c_str());
} else {
printf("Unable to read %s\n", file_path);
}
return;
}
void command(const char* title, const char* cmd){
printf("------ %s (%s) ------\n", title, cmd);
system(cmd);
return;
}
// Dump Aoc.
int main() {
setbuf(stdout, NULL);
dumpFileContent("AoC Service Status", "/sys/devices/platform/19000000.aoc/services");
dumpFileContent("AoC Restarts", "/sys/devices/platform/19000000.aoc/restart_count");
dumpFileContent("AoC Coredumps", "/sys/devices/platform/19000000.aoc/coredump_count");
dumpFileContent("AoC ring buf wake", "/sys/devices/platform/19000000.aoc/control/ring_buffer_wakeup");
dumpFileContent("AoC host ipc wake", "/sys/devices/platform/19000000.aoc/control/host_ipc_wakeup");
dumpFileContent("AoC usf wake", "/sys/devices/platform/19000000.aoc/control/usf_wakeup");
dumpFileContent("AoC audio wake", "/sys/devices/platform/19000000.aoc/control/audio_wakeup");
dumpFileContent("AoC logging wake", "/sys/devices/platform/19000000.aoc/control/logging_wakeup");
dumpFileContent("AoC hotword wake", "/sys/devices/platform/19000000.aoc/control/hotword_wakeup");
dumpFileContent("AoC memory exception wake", "/sys/devices/platform/19000000.aoc/control/memory_exception");
dumpFileContent("AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes_a32");
dumpFileContent("AoC memory votes", "/sys/devices/platform/19000000.aoc/control/memory_votes_ff1");
command("clean AoC buffer","echo ' ' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
command("AoC Heap Stats (A32)", "echo 'dbg heap -c 1' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
command("AoC Heap Stats (F1)", "echo 'dbg heap -c 2' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
command("AoC Heap Stats (HF0)", "echo 'dbg heap -c 3' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
command("AoC Heap Stats (HF1)", "echo 'dbg heap -c 4' > /dev/acd-debug; timeout 0.1 cat /dev/acd-debug");
return 0;
}