diff options
Diffstat (limited to 'cmds/dumpsys/dumpsys.cpp')
-rw-r--r-- | cmds/dumpsys/dumpsys.cpp | 34 |
1 files changed, 4 insertions, 30 deletions
diff --git a/cmds/dumpsys/dumpsys.cpp b/cmds/dumpsys/dumpsys.cpp index ba1c449dbf..a427c8dd68 100644 --- a/cmds/dumpsys/dumpsys.cpp +++ b/cmds/dumpsys/dumpsys.cpp @@ -25,7 +25,6 @@ #include <binder/Parcel.h> #include <binder/ProcessState.h> #include <binder/TextOutput.h> -#include <binderdebug/BinderDebug.h> #include <serviceutils/PriorityDumper.h> #include <utils/Log.h> #include <utils/Vector.h> @@ -61,15 +60,13 @@ static void usage() { "usage: dumpsys\n" " To dump all services.\n" "or:\n" - " dumpsys [-t TIMEOUT] [--priority LEVEL] [--pid] [--thread] [--help | -l | " - "--skip SERVICES " + " dumpsys [-t TIMEOUT] [--priority LEVEL] [--pid] [--help | -l | --skip SERVICES " "| SERVICE [ARGS]]\n" " --help: shows this help\n" " -l: only list services, do not dump them\n" " -t TIMEOUT_SEC: TIMEOUT to use in seconds instead of default 10 seconds\n" " -T TIMEOUT_MS: TIMEOUT to use in milliseconds instead of default 10 seconds\n" " --pid: dump PID instead of usual dump\n" - " --thread: dump thread usage instead of usual dump\n" " --proto: filter services that support dumping data in proto format. Dumps\n" " will be in proto format.\n" " --priority LEVEL: filter services based on specified priority\n" @@ -128,8 +125,7 @@ int Dumpsys::main(int argc, char* const argv[]) { Type type = Type::DUMP; int timeoutArgMs = 10000; int priorityFlags = IServiceManager::DUMP_FLAG_PRIORITY_ALL; - static struct option longOptions[] = {{"thread", no_argument, 0, 0}, - {"pid", no_argument, 0, 0}, + static struct option longOptions[] = {{"pid", no_argument, 0, 0}, {"priority", required_argument, 0, 0}, {"proto", no_argument, 0, 0}, {"skip", no_argument, 0, 0}, @@ -167,8 +163,6 @@ int Dumpsys::main(int argc, char* const argv[]) { } } else if (!strcmp(longOptions[optionIndex].name, "pid")) { type = Type::PID; - } else if (!strcmp(longOptions[optionIndex].name, "thread")) { - type = Type::THREAD; } break; @@ -236,7 +230,7 @@ int Dumpsys::main(int argc, char* const argv[]) { } const size_t N = services.size(); - if (N > 1 || showListOnly) { + if (N > 1) { // first print a list of the current services std::cout << "Currently running services:" << std::endl; @@ -335,23 +329,6 @@ static status_t dumpPidToFd(const sp<IBinder>& service, const unique_fd& fd) { return OK; } -static status_t dumpThreadsToFd(const sp<IBinder>& service, const unique_fd& fd) { - pid_t pid; - status_t status = service->getDebugPid(&pid); - if (status != OK) { - return status; - } - BinderPidInfo pidInfo; - status = getBinderPidInfo(BinderDebugContext::BINDER, pid, &pidInfo); - if (status != OK) { - return status; - } - WriteStringToFd("Threads in use: " + std::to_string(pidInfo.threadUsage) + "/" + - std::to_string(pidInfo.threadCount) + "\n", - fd.get()); - return OK; -} - status_t Dumpsys::startDumpThread(Type type, const String16& serviceName, const Vector<String16>& args) { sp<IBinder> service = sm_->checkService(serviceName); @@ -382,9 +359,6 @@ status_t Dumpsys::startDumpThread(Type type, const String16& serviceName, case Type::PID: err = dumpPidToFd(service, remote_end); break; - case Type::THREAD: - err = dumpThreadsToFd(service, remote_end); - break; default: std::cerr << "Unknown dump type" << static_cast<int>(type) << std::endl; return; @@ -453,7 +427,7 @@ status_t Dumpsys::writeDump(int fd, const String16& serviceName, std::chrono::mi << strerror(errno) << std::endl; status = -errno; break; - } else if (rc == 0 || time_left_ms() == 0) { + } else if (rc == 0) { status = TIMED_OUT; break; } |