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

Commit c4c5c89d authored by Rocky Fang's avatar Rocky Fang
Browse files

Add PID and package name to tracing

Bug: 333132224
Test: collect trace and verify
Flag: EXEMPT bug fix
Change-Id: If226346909ec82e673b48c9818eacf1c4ae3182a
parent 93787906
Loading
Loading
Loading
Loading
+7 −3
Original line number Diff line number Diff line
@@ -42,10 +42,11 @@ namespace android {
// ----------------------------------------------------------------------------

SensorEventQueue::SensorEventQueue(const sp<ISensorEventConnection>& connection,
                                   SensorManager& sensorManager)
                                   SensorManager& sensorManager, String8 packageName)
      : mSensorEventConnection(connection),
        mRecBuffer(nullptr),
        mSensorManager(sensorManager),
        mPackageName(packageName),
        mAvailable(0),
        mConsumed(0),
        mNumAcksToSend(0) {
@@ -92,8 +93,11 @@ ssize_t SensorEventQueue::read(ASensorEvent* events, size_t numEvents) {
                    mSensorManager.getSensorNameByHandle(events->sensor);
            if (sensorName.has_value()) {
                char buffer[UINT8_MAX];
                std::snprintf(buffer, sizeof(buffer), "Sensor event from %s",
                              sensorName.value().data());
                IPCThreadState* thread = IPCThreadState::self();
                pid_t pid = (thread != nullptr) ? thread->getCallingPid() : -1;
                std::snprintf(buffer, sizeof(buffer),
                              "Sensor event from %s to %s PID: %d (%zu/%zu)",
                              sensorName.value().data(), mPackageName.c_str(), pid, i, count);
                ATRACE_INSTANT_FOR_TRACK(LOG_TAG, buffer);
            }
        }
+1 −1
Original line number Diff line number Diff line
@@ -403,7 +403,7 @@ sp<SensorEventQueue> SensorManager::createEventQueue(
            ALOGE("createEventQueue: connection is NULL.");
            return nullptr;
        }
        queue = new SensorEventQueue(connection, *this);
        queue = new SensorEventQueue(connection, *this, packageName);
        break;
    }
    return queue;
+4 −2
Original line number Diff line number Diff line
@@ -20,9 +20,10 @@
#include <sys/types.h>

#include <utils/Errors.h>
#include <utils/Mutex.h>
#include <utils/RefBase.h>
#include <utils/String8.h>
#include <utils/Timers.h>
#include <utils/Mutex.h>

#include <sensor/BitTube.h>

@@ -67,7 +68,7 @@ public:
    static constexpr int32_t SENSOR_DELAY_NORMAL = 200000;

    explicit SensorEventQueue(const sp<ISensorEventConnection>& connection,
                              SensorManager& sensorManager);
                              SensorManager& sensorManager, String8 packageName);
    virtual ~SensorEventQueue();
    virtual void onFirstRef();

@@ -110,6 +111,7 @@ private:
    mutable sp<Looper> mLooper;
    ASensorEvent* mRecBuffer;
    SensorManager& mSensorManager;
    String8 mPackageName;
    size_t mAvailable;
    size_t mConsumed;
    uint32_t mNumAcksToSend;