Loading cmds/statsd/src/StatsLogProcessor.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -139,8 +139,7 @@ void StatsLogProcessor::onPeriodicAlarmFired( } void StatsLogProcessor::mapIsolatedUidToHostUidIfNecessaryLocked(LogEvent* event) const { if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(event->GetTagId()) != android::util::AtomsInfo::kAtomsWithAttributionChain.end()) { if (event->getAttributionChainIndex() != -1) { for (auto& value : *(event->getMutableValues())) { if (value.mField.getPosAtDepth(0) > kAttributionField) { break; Loading cmds/statsd/src/external/puller_util.cpp +4 −7 Original line number Diff line number Diff line Loading @@ -49,11 +49,9 @@ using namespace std; */ void mapAndMergeIsolatedUidsToHostUid(vector<shared_ptr<LogEvent>>& data, const sp<UidMap>& uidMap, int tagId, const vector<int>& additiveFieldsVec) { bool hasAttributionChain = (android::util::AtomsInfo::kAtomsWithAttributionChain.find(tagId) != android::util::AtomsInfo::kAtomsWithAttributionChain.end()); // To check if any LogEvent has a uid field, we can just check the first // LogEvent because all atoms with this tagId should have the uid // annotation. // Check the first LogEvent for attribution chain or a uid field as either all atoms with this // tagId have them or none of them do. const bool hasAttributionChain = data[0]->getAttributionChainIndex() != -1; bool hasUidField = (data[0]->getUidFieldIndex() != -1); if (!hasAttributionChain && !hasUidField) { Loading @@ -67,8 +65,7 @@ void mapAndMergeIsolatedUidsToHostUid(vector<shared_ptr<LogEvent>>& data, const ALOGE("Wrong atom. Expecting %d, got %d", tagId, event->GetTagId()); return; } if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(tagId) != android::util::AtomsInfo::kAtomsWithAttributionChain.end()) { if (event->getAttributionChainIndex() != -1) { for (auto& value : *(event->getMutableValues())) { if (value.mField.getPosAtDepth(0) > kAttributionField) { break; Loading tools/stats_log_api_gen/atoms_info_writer.cpp +0 −17 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ namespace stats_log_api_gen { static void write_atoms_info_header_body(FILE* out, const Atoms& atoms) { fprintf(out, "struct AtomsInfo {\n"); fprintf(out, " const static std::set<int> kAtomsWithAttributionChain;\n"); fprintf(out, " const static std::set<int> kWhitelistedAtoms;\n"); fprintf(out, "};\n"); fprintf(out, "const static int kMaxPushedAtomId = %d;\n\n", atoms.maxPushedAtomId); Loading @@ -35,22 +34,6 @@ static void write_atoms_info_header_body(FILE* out, const Atoms& atoms) { static void write_atoms_info_cpp_body(FILE* out, const Atoms& atoms) { fprintf(out, "const std::set<int> AtomsInfo::kAtomsWithAttributionChain = {\n"); for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end(); atomIt++) { for (vector<AtomField>::const_iterator field = (*atomIt)->fields.begin(); field != (*atomIt)->fields.end(); field++) { if (field->javaType == JAVA_TYPE_ATTRIBUTION_CHAIN) { const string constant = make_constant_name((*atomIt)->name); fprintf(out, " %d, // %s\n", (*atomIt)->code, constant.c_str()); break; } } } fprintf(out, "};\n"); fprintf(out, "\n"); fprintf(out, "const std::set<int> AtomsInfo::kWhitelistedAtoms = {\n"); for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end(); atomIt++) { Loading Loading
cmds/statsd/src/StatsLogProcessor.cpp +1 −2 Original line number Diff line number Diff line Loading @@ -139,8 +139,7 @@ void StatsLogProcessor::onPeriodicAlarmFired( } void StatsLogProcessor::mapIsolatedUidToHostUidIfNecessaryLocked(LogEvent* event) const { if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(event->GetTagId()) != android::util::AtomsInfo::kAtomsWithAttributionChain.end()) { if (event->getAttributionChainIndex() != -1) { for (auto& value : *(event->getMutableValues())) { if (value.mField.getPosAtDepth(0) > kAttributionField) { break; Loading
cmds/statsd/src/external/puller_util.cpp +4 −7 Original line number Diff line number Diff line Loading @@ -49,11 +49,9 @@ using namespace std; */ void mapAndMergeIsolatedUidsToHostUid(vector<shared_ptr<LogEvent>>& data, const sp<UidMap>& uidMap, int tagId, const vector<int>& additiveFieldsVec) { bool hasAttributionChain = (android::util::AtomsInfo::kAtomsWithAttributionChain.find(tagId) != android::util::AtomsInfo::kAtomsWithAttributionChain.end()); // To check if any LogEvent has a uid field, we can just check the first // LogEvent because all atoms with this tagId should have the uid // annotation. // Check the first LogEvent for attribution chain or a uid field as either all atoms with this // tagId have them or none of them do. const bool hasAttributionChain = data[0]->getAttributionChainIndex() != -1; bool hasUidField = (data[0]->getUidFieldIndex() != -1); if (!hasAttributionChain && !hasUidField) { Loading @@ -67,8 +65,7 @@ void mapAndMergeIsolatedUidsToHostUid(vector<shared_ptr<LogEvent>>& data, const ALOGE("Wrong atom. Expecting %d, got %d", tagId, event->GetTagId()); return; } if (android::util::AtomsInfo::kAtomsWithAttributionChain.find(tagId) != android::util::AtomsInfo::kAtomsWithAttributionChain.end()) { if (event->getAttributionChainIndex() != -1) { for (auto& value : *(event->getMutableValues())) { if (value.mField.getPosAtDepth(0) > kAttributionField) { break; Loading
tools/stats_log_api_gen/atoms_info_writer.cpp +0 −17 Original line number Diff line number Diff line Loading @@ -27,7 +27,6 @@ namespace stats_log_api_gen { static void write_atoms_info_header_body(FILE* out, const Atoms& atoms) { fprintf(out, "struct AtomsInfo {\n"); fprintf(out, " const static std::set<int> kAtomsWithAttributionChain;\n"); fprintf(out, " const static std::set<int> kWhitelistedAtoms;\n"); fprintf(out, "};\n"); fprintf(out, "const static int kMaxPushedAtomId = %d;\n\n", atoms.maxPushedAtomId); Loading @@ -35,22 +34,6 @@ static void write_atoms_info_header_body(FILE* out, const Atoms& atoms) { static void write_atoms_info_cpp_body(FILE* out, const Atoms& atoms) { fprintf(out, "const std::set<int> AtomsInfo::kAtomsWithAttributionChain = {\n"); for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end(); atomIt++) { for (vector<AtomField>::const_iterator field = (*atomIt)->fields.begin(); field != (*atomIt)->fields.end(); field++) { if (field->javaType == JAVA_TYPE_ATTRIBUTION_CHAIN) { const string constant = make_constant_name((*atomIt)->name); fprintf(out, " %d, // %s\n", (*atomIt)->code, constant.c_str()); break; } } } fprintf(out, "};\n"); fprintf(out, "\n"); fprintf(out, "const std::set<int> AtomsInfo::kWhitelistedAtoms = {\n"); for (AtomDeclSet::const_iterator atomIt = atoms.decls.begin(); atomIt != atoms.decls.end(); atomIt++) { Loading