Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 281abad3 authored by Steven Moreland's avatar Steven Moreland
Browse files

libbinder: binder thread names ++

As requested by perf team, show domain information first.

So, the thread name might look like:

    binder:3_4
    vndbinder:7_8

Fixes: 220391109
Test: boot, ps -AT
Change-Id: I70d5d15db01887c01e50cf0b6f656d71ff75d045
parent 0f899ce8
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@
#include <binder/ProcessState.h>

#include <android-base/result.h>
#include <android-base/strings.h>
#include <binder/BpBinder.h>
#include <binder/IPCThreadState.h>
#include <binder/IServiceManager.h>
@@ -367,8 +368,13 @@ void ProcessState::expungeHandle(int32_t handle, IBinder* binder)
String8 ProcessState::makeBinderThreadName() {
    int32_t s = android_atomic_add(1, &mThreadPoolSeq);
    pid_t pid = getpid();

    std::string_view driverName = mDriverName.c_str();
    android::base::ConsumePrefix(&driverName, "/dev/");

    String8 name;
    name.appendFormat("%d_%X:%s", pid, s, mDriverName.c_str());
    name.appendFormat("%.*s:%d_%X", static_cast<int>(driverName.length()), driverName.data(), pid,
                      s);
    return name;
}