Merge "Remove kMaxPushedAtomId from atoms_info." into rvc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e3ef95cf13
@@ -424,6 +424,9 @@ message Atom {
|
|||||||
UserLifecycleJourneyReported user_lifecycle_journey_reported = 264 [(module) = "framework"];
|
UserLifecycleJourneyReported user_lifecycle_journey_reported = 264 [(module) = "framework"];
|
||||||
UserLifecycleEventOccurred user_lifecycle_event_occurred = 265 [(module) = "framework"];
|
UserLifecycleEventOccurred user_lifecycle_event_occurred = 265 [(module) = "framework"];
|
||||||
SdkExtensionStatus sdk_extension_status = 354;
|
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.
|
// Pulled events will start at field 10000.
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ const std::map<int, std::pair<size_t, size_t>> StatsdStats::kAtomDimensionKeySiz
|
|||||||
};
|
};
|
||||||
|
|
||||||
StatsdStats::StatsdStats() {
|
StatsdStats::StatsdStats() {
|
||||||
mPushedAtomStats.resize(android::util::kMaxPushedAtomId + 1);
|
mPushedAtomStats.resize(kMaxPushedAtomId + 1);
|
||||||
mStartTimeSec = getWallClockSec();
|
mStartTimeSec = getWallClockSec();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -448,7 +448,7 @@ void StatsdStats::notePullExceedMaxDelay(int pullAtomId) {
|
|||||||
void StatsdStats::noteAtomLogged(int atomId, int32_t timeSec) {
|
void StatsdStats::noteAtomLogged(int atomId, int32_t timeSec) {
|
||||||
lock_guard<std::mutex> lock(mLock);
|
lock_guard<std::mutex> lock(mLock);
|
||||||
|
|
||||||
if (atomId <= android::util::kMaxPushedAtomId) {
|
if (atomId <= kMaxPushedAtomId) {
|
||||||
mPushedAtomStats[atomId]++;
|
mPushedAtomStats[atomId]++;
|
||||||
} else {
|
} else {
|
||||||
if (mNonPlatformPushedAtomStats.size() < kMaxNonPlatformPushedAtoms) {
|
if (mNonPlatformPushedAtomStats.size() < kMaxNonPlatformPushedAtoms) {
|
||||||
|
|||||||
@@ -166,6 +166,10 @@ public:
|
|||||||
// Maximum number of pushed atoms statsd stats will track above kMaxPushedAtomId.
|
// Maximum number of pushed atoms statsd stats will track above kMaxPushedAtomId.
|
||||||
static const int kMaxNonPlatformPushedAtoms = 100;
|
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.
|
// Atom id that is the start of the pulled atoms.
|
||||||
static const int kPullAtomStartTag = 10000;
|
static const int kPullAtomStartTag = 10000;
|
||||||
|
|
||||||
|
|||||||
@@ -254,8 +254,8 @@ TEST(StatsdStatsTest, TestAtomLog) {
|
|||||||
TEST(StatsdStatsTest, TestNonPlatformAtomLog) {
|
TEST(StatsdStatsTest, TestNonPlatformAtomLog) {
|
||||||
StatsdStats stats;
|
StatsdStats stats;
|
||||||
time_t now = time(nullptr);
|
time_t now = time(nullptr);
|
||||||
int newAtom1 = android::util::kMaxPushedAtomId + 1;
|
int newAtom1 = StatsdStats::kMaxPushedAtomId + 1;
|
||||||
int newAtom2 = android::util::kMaxPushedAtomId + 2;
|
int newAtom2 = StatsdStats::kMaxPushedAtomId + 2;
|
||||||
|
|
||||||
stats.noteAtomLogged(newAtom1, now + 1);
|
stats.noteAtomLogged(newAtom1, now + 1);
|
||||||
stats.noteAtomLogged(newAtom1, now + 2);
|
stats.noteAtomLogged(newAtom1, now + 2);
|
||||||
|
|||||||
@@ -478,7 +478,6 @@ static void populateFieldNumberToAtomDeclSet(const shared_ptr<AtomDecl>& atomDec
|
|||||||
int collate_atoms(const Descriptor* descriptor, const string& moduleName, Atoms* atoms) {
|
int collate_atoms(const Descriptor* descriptor, const string& moduleName, Atoms* atoms) {
|
||||||
int errorCount = 0;
|
int errorCount = 0;
|
||||||
|
|
||||||
int maxPushedAtomId = 2;
|
|
||||||
for (int i = 0; i < descriptor->field_count(); i++) {
|
for (int i = 0; i < descriptor->field_count(); i++) {
|
||||||
const FieldDescriptor* atomField = descriptor->field(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);
|
atoms->non_chained_decls.insert(nonChainedAtomDecl);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (atomDecl->code < PULL_ATOM_START_ID && atomDecl->code > maxPushedAtomId) {
|
|
||||||
maxPushedAtomId = atomDecl->code;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
atoms->maxPushedAtomId = maxPushedAtomId;
|
|
||||||
|
|
||||||
if (dbg) {
|
if (dbg) {
|
||||||
printf("signatures = [\n");
|
printf("signatures = [\n");
|
||||||
for (SignatureInfoMap::const_iterator it = atoms->signatureInfoMap.begin();
|
for (SignatureInfoMap::const_iterator it = atoms->signatureInfoMap.begin();
|
||||||
|
|||||||
@@ -191,7 +191,6 @@ struct Atoms {
|
|||||||
AtomDeclSet decls;
|
AtomDeclSet decls;
|
||||||
AtomDeclSet non_chained_decls;
|
AtomDeclSet non_chained_decls;
|
||||||
SignatureInfoMap nonChainedSignatureInfoMap;
|
SignatureInfoMap nonChainedSignatureInfoMap;
|
||||||
int maxPushedAtomId;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -25,11 +25,10 @@
|
|||||||
namespace android {
|
namespace android {
|
||||||
namespace stats_log_api_gen {
|
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, "struct AtomsInfo {\n");
|
||||||
fprintf(out, " const static std::set<int> kWhitelistedAtoms;\n");
|
fprintf(out, " const static std::set<int> kWhitelistedAtoms;\n");
|
||||||
fprintf(out, "};\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) {
|
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
|
// Print prelude
|
||||||
fprintf(out, "// This file is autogenerated\n");
|
fprintf(out, "// This file is autogenerated\n");
|
||||||
fprintf(out, "\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_namespace(out, namespaceStr);
|
||||||
|
|
||||||
write_atoms_info_header_body(out, atoms);
|
write_atoms_info_header_body(out);
|
||||||
|
|
||||||
fprintf(out, "\n");
|
fprintf(out, "\n");
|
||||||
write_closing_namespace(out, namespaceStr);
|
write_closing_namespace(out, namespaceStr);
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ using namespace std;
|
|||||||
int write_atoms_info_cpp(FILE* out, const Atoms& atoms, const string& namespaceStr,
|
int write_atoms_info_cpp(FILE* out, const Atoms& atoms, const string& namespaceStr,
|
||||||
const string& importHeader);
|
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 stats_log_api_gen
|
||||||
} // namespace android
|
} // namespace android
|
||||||
|
|||||||
@@ -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());
|
fprintf(stderr, "Unable to open file for write: %s\n", atomsInfoHeaderFilename.c_str());
|
||||||
return 1;
|
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);
|
fclose(out);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user