Merge "Remove kMaxPushedAtomId from atoms_info." into rvc-dev

This commit is contained in:
Muhammad Qureshi
2020-04-18 00:13:52 +00:00
committed by Android (Google) Code Review
9 changed files with 16 additions and 18 deletions

View File

@@ -424,6 +424,9 @@ message Atom {
UserLifecycleJourneyReported user_lifecycle_journey_reported = 264 [(module) = "framework"];
UserLifecycleEventOccurred user_lifecycle_event_occurred = 265 [(module) = "framework"];
SdkExtensionStatus sdk_extension_status = 354;
// StatsdStats tracks platform atoms with ids upto 500.
// Update StatsdStats::kMaxPushedAtomId when atom ids here approach that value.
}
// Pulled events will start at field 10000.

View File

@@ -119,7 +119,7 @@ const std::map<int, std::pair<size_t, size_t>> StatsdStats::kAtomDimensionKeySiz
};
StatsdStats::StatsdStats() {
mPushedAtomStats.resize(android::util::kMaxPushedAtomId + 1);
mPushedAtomStats.resize(kMaxPushedAtomId + 1);
mStartTimeSec = getWallClockSec();
}
@@ -448,7 +448,7 @@ void StatsdStats::notePullExceedMaxDelay(int pullAtomId) {
void StatsdStats::noteAtomLogged(int atomId, int32_t timeSec) {
lock_guard<std::mutex> lock(mLock);
if (atomId <= android::util::kMaxPushedAtomId) {
if (atomId <= kMaxPushedAtomId) {
mPushedAtomStats[atomId]++;
} else {
if (mNonPlatformPushedAtomStats.size() < kMaxNonPlatformPushedAtoms) {

View File

@@ -166,6 +166,10 @@ public:
// Maximum number of pushed atoms statsd stats will track above kMaxPushedAtomId.
static const int kMaxNonPlatformPushedAtoms = 100;
// Maximum atom id value that we consider a platform pushed atom.
// This should be updated once highest pushed atom id in atoms.proto approaches this value.
static const int kMaxPushedAtomId = 500;
// Atom id that is the start of the pulled atoms.
static const int kPullAtomStartTag = 10000;

View File

@@ -254,8 +254,8 @@ TEST(StatsdStatsTest, TestAtomLog) {
TEST(StatsdStatsTest, TestNonPlatformAtomLog) {
StatsdStats stats;
time_t now = time(nullptr);
int newAtom1 = android::util::kMaxPushedAtomId + 1;
int newAtom2 = android::util::kMaxPushedAtomId + 2;
int newAtom1 = StatsdStats::kMaxPushedAtomId + 1;
int newAtom2 = StatsdStats::kMaxPushedAtomId + 2;
stats.noteAtomLogged(newAtom1, now + 1);
stats.noteAtomLogged(newAtom1, now + 2);

View File

@@ -478,7 +478,6 @@ static void populateFieldNumberToAtomDeclSet(const shared_ptr<AtomDecl>& atomDec
int collate_atoms(const Descriptor* descriptor, const string& moduleName, Atoms* atoms) {
int errorCount = 0;
int maxPushedAtomId = 2;
for (int i = 0; i < descriptor->field_count(); i++) {
const FieldDescriptor* atomField = descriptor->field(i);
@@ -563,14 +562,8 @@ int collate_atoms(const Descriptor* descriptor, const string& moduleName, Atoms*
atoms->non_chained_decls.insert(nonChainedAtomDecl);
}
if (atomDecl->code < PULL_ATOM_START_ID && atomDecl->code > maxPushedAtomId) {
maxPushedAtomId = atomDecl->code;
}
}
atoms->maxPushedAtomId = maxPushedAtomId;
if (dbg) {
printf("signatures = [\n");
for (SignatureInfoMap::const_iterator it = atoms->signatureInfoMap.begin();

View File

@@ -191,7 +191,6 @@ struct Atoms {
AtomDeclSet decls;
AtomDeclSet non_chained_decls;
SignatureInfoMap nonChainedSignatureInfoMap;
int maxPushedAtomId;
};
/**

View File

@@ -25,11 +25,10 @@
namespace android {
namespace stats_log_api_gen {
static void write_atoms_info_header_body(FILE* out, const Atoms& atoms) {
static void write_atoms_info_header_body(FILE* out) {
fprintf(out, "struct AtomsInfo {\n");
fprintf(out, " const static std::set<int> kWhitelistedAtoms;\n");
fprintf(out, "};\n");
fprintf(out, "const static int kMaxPushedAtomId = %d;\n\n", atoms.maxPushedAtomId);
}
static void write_atoms_info_cpp_body(FILE* out, const Atoms& atoms) {
@@ -48,7 +47,7 @@ static void write_atoms_info_cpp_body(FILE* out, const Atoms& atoms) {
}
int write_atoms_info_header(FILE* out, const Atoms& atoms, const string& namespaceStr) {
int write_atoms_info_header(FILE* out, const string& namespaceStr) {
// Print prelude
fprintf(out, "// This file is autogenerated\n");
fprintf(out, "\n");
@@ -61,7 +60,7 @@ int write_atoms_info_header(FILE* out, const Atoms& atoms, const string& namespa
write_namespace(out, namespaceStr);
write_atoms_info_header_body(out, atoms);
write_atoms_info_header_body(out);
fprintf(out, "\n");
write_closing_namespace(out, namespaceStr);

View File

@@ -29,7 +29,7 @@ using namespace std;
int write_atoms_info_cpp(FILE* out, const Atoms& atoms, const string& namespaceStr,
const string& importHeader);
int write_atoms_info_header(FILE* out, const Atoms& atoms, const string& namespaceStr);
int write_atoms_info_header(FILE* out, const string& namespaceStr);
} // namespace stats_log_api_gen
} // namespace android

View File

@@ -229,7 +229,7 @@ static int run(int argc, char const* const* argv) {
fprintf(stderr, "Unable to open file for write: %s\n", atomsInfoHeaderFilename.c_str());
return 1;
}
errorCount = android::stats_log_api_gen::write_atoms_info_header(out, atoms, cppNamespace);
errorCount = android::stats_log_api_gen::write_atoms_info_header(out, cppNamespace);
fclose(out);
}