summaryrefslogtreecommitdiff
path: root/cmds/dumpsys/dumpsys.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cmds/dumpsys/dumpsys.cpp')
-rw-r--r--cmds/dumpsys/dumpsys.cpp34
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;
}