diff options
Diffstat (limited to 'cmds/statsd/src/StatsService.cpp')
-rw-r--r-- | cmds/statsd/src/StatsService.cpp | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/cmds/statsd/src/StatsService.cpp b/cmds/statsd/src/StatsService.cpp index 4ffa040fafd4..012ff038df1e 100644 --- a/cmds/statsd/src/StatsService.cpp +++ b/cmds/statsd/src/StatsService.cpp @@ -1090,36 +1090,26 @@ void StatsService::OnLogEvent(LogEvent* event) { } } -Status StatsService::getData(int64_t key, const int32_t callingUid, vector<int8_t>* output) { +Status StatsService::getData(int64_t key, const int32_t callingUid, vector<uint8_t>* output) { ENFORCE_UID(AID_SYSTEM); VLOG("StatsService::getData with Uid %i", callingUid); ConfigKey configKey(callingUid, key); - // TODO(b/149254662): Since libbinder_ndk uses int8_t instead of uint8_t, - // there are inconsistencies with internal statsd logic. Instead of - // modifying lots of files, we create a temporary output array of int8_t and - // copy its data into output. This is a bad hack, but hopefully - // libbinder_ndk will transition to using uint8_t soon: progress is tracked - // in b/144957764. Same applies to StatsService::getMetadata. - vector<uint8_t> unsignedOutput; // The dump latency does not matter here since we do not include the current bucket, we do not // need to pull any new data anyhow. mProcessor->onDumpReport(configKey, getElapsedRealtimeNs(), false /* include_current_bucket*/, - true /* erase_data */, GET_DATA_CALLED, FAST, &unsignedOutput); - *output = vector<int8_t>(unsignedOutput.begin(), unsignedOutput.end()); + true /* erase_data */, GET_DATA_CALLED, FAST, output); return Status::ok(); } -Status StatsService::getMetadata(vector<int8_t>* output) { +Status StatsService::getMetadata(vector<uint8_t>* output) { ENFORCE_UID(AID_SYSTEM); - vector<uint8_t> unsignedOutput; - StatsdStats::getInstance().dumpStats(&unsignedOutput, false); // Don't reset the counters. - *output = vector<int8_t>(unsignedOutput.begin(), unsignedOutput.end()); + StatsdStats::getInstance().dumpStats(output, false); // Don't reset the counters. return Status::ok(); } -Status StatsService::addConfiguration(int64_t key, const vector <int8_t>& config, +Status StatsService::addConfiguration(int64_t key, const vector <uint8_t>& config, const int32_t callingUid) { ENFORCE_UID(AID_SYSTEM); @@ -1130,7 +1120,7 @@ Status StatsService::addConfiguration(int64_t key, const vector <int8_t>& config } } -bool StatsService::addConfigurationChecked(int uid, int64_t key, const vector<int8_t>& config) { +bool StatsService::addConfigurationChecked(int uid, int64_t key, const vector<uint8_t>& config) { ConfigKey configKey(uid, key); StatsdConfig cfg; if (config.size() > 0) { // If the config is empty, skip parsing. |