diff options
Diffstat (limited to 'tools/gator/daemon/UserSpaceSource.cpp')
-rw-r--r-- | tools/gator/daemon/UserSpaceSource.cpp | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/tools/gator/daemon/UserSpaceSource.cpp b/tools/gator/daemon/UserSpaceSource.cpp index debe69636cff..8c328e0e0fb5 100644 --- a/tools/gator/daemon/UserSpaceSource.cpp +++ b/tools/gator/daemon/UserSpaceSource.cpp @@ -16,7 +16,6 @@ #include "Logging.h" #include "SessionData.h" -#define NS_PER_S ((uint64_t)1000000000) #define NS_PER_US 1000 extern Child *child; @@ -35,6 +34,7 @@ void UserSpaceSource::run() { prctl(PR_SET_NAME, (unsigned long)&"gatord-counters", 0, 0, 0); gSessionData->hwmon.start(); + gSessionData->fsDriver.start(); int64_t monotonic_started = 0; while (monotonic_started <= 0) { @@ -48,16 +48,7 @@ void UserSpaceSource::run() { uint64_t next_time = 0; while (gSessionData->mSessionIsActive) { - struct timespec ts; -#ifndef CLOCK_MONOTONIC_RAW - // Android doesn't have this defined but it was added in Linux 2.6.28 -#define CLOCK_MONOTONIC_RAW 4 -#endif - if (clock_gettime(CLOCK_MONOTONIC_RAW, &ts) != 0) { - logg->logError(__FILE__, __LINE__, "Failed to get uptime"); - handleException(); - } - const uint64_t curr_time = (NS_PER_S*ts.tv_sec + ts.tv_nsec) - monotonic_started; + const uint64_t curr_time = getTime() - monotonic_started; // Sample ten times a second ignoring gSessionData->mSampleRate next_time += NS_PER_S/10;//gSessionData->mSampleRate; if (next_time < curr_time) { @@ -67,6 +58,7 @@ void UserSpaceSource::run() { if (mBuffer.eventHeader(curr_time)) { gSessionData->hwmon.read(&mBuffer); + gSessionData->fsDriver.read(&mBuffer); // Only check after writing all counters so that time and corresponding counters appear in the same frame mBuffer.check(curr_time); } |