summaryrefslogtreecommitdiff
path: root/tools/stats_log_api_gen/native_writer.cpp
AgeCommit message (Collapse)Author
2020-12-12Migrate to frameworks/proto_logging/statsBaligh Uddin
BUG: 175318992 Test: TH Merged-In: Ia6463c8f6a801cd9db54afa30df0aa3f16b09891 Change-Id: I81324b83802dc2b06081600282bb73491f29473b Exempt-From-Owner-Approval: cleanup CL
2020-07-31Update stats-log-api-gen source based off of google3 presubmit checksSalud Lemus
Bug: 161812407 Test: `m statslog-framework-java-gen` Test: `m statslog-telephony-java-gen` Test: `m stats-log-api-gen-test && out/host/linux-x86/nativetest/stats-log-api-gen-test/stats-log-api-gen-test` Change-Id: Id68982e306fbc379ed8e90b33a38b8a6604e66ad
2020-07-22Revert "Revert "Add pulled atoms support for native clients in s..."Salud Lemus
Revert submission 12182663-revert-12111163-native pulled atoms support-NYTWIBBAKX Reason for revert: Uploaded CL that guards the use of the symbol "AStatsEvent_getBuffer" Reverted Changes: Ib6cc99e9b:Revert "Make libstatspull host supported" I665448247:Revert "Add pulled atoms support for native client... Change-Id: I59d861fc9ffc6f03cc0dbd34e82a4df4f51f0cb9
2020-07-18Revert "Add pulled atoms support for native clients in stats-log..."Salud Lemus
Revert submission 12111163-native pulled atoms support Reason for revert: ld.lld: error: undefined symbol: AStatsEvent_getBuffer Bug link: https://b.corp.google.com/issues/151102177 Reverted Changes: I57911864c:Add pulled atoms support for native clients in sta... I069792c0e:Make libstatspull host supported Change-Id: I665448247d3bf7d05251d302a38b2a7f61a7c071
2020-07-15Add pulled atoms support for native clients in stats-log-api-genSalud Lemus
Similar to adding pulled atoms support for Java clients, now also add pulled atoms support for native clients. Bug: 160367907 Test: Ran `m` and completed successfully Test: Ran `atest statsd_test` and all CTS tests passed Test: Ran `atest HostAtomTests` and all CTS tests passed Test: Ran `atest stats-log-api-gen-test` and all CTS tests passed Change-Id: I57911864cc3fc5569322333a934dfc10aa78ddca
2020-04-03Make state_option top-level boolean annotationsMuhammad Qureshi
- Add AnnotationId enum stats-log-api-gen - Rename RESET_STATE annotation to TRIGGER_STATE_RESET. Also rename the proto annotation. Bug: 152412767 Test: stats-log-api-gen-test Test: m statslog-framework-java-gen Change-Id: I2c12ea0b9222ef28b8cc11ea36b272e518a96259
2020-03-31Use constant names instead of literalsMuhammad Qureshi
Use constant names instead of literals when writing annotations to increase readability. FrameworkStatsLog.java: https://paste.googleplex.com/4789132691767296 statslog.h: https://paste.googleplex.com/4986214782337024 statslog.cpp: https://paste.googleplex.com/4856851575341056 Bug: 151786433 Test: m statslog-framework-java-gen Test: m libstatslog Change-Id: I47111fe02319bebf41f429642fb675f7a856710b
2020-03-27Only send reset state annotation when neededMuhammad Qureshi
Only send reset state annotation when reset state occurs. Bug: 151776731 Test: m libstatslog Change-Id: I6f6b4d784d3741c0059085421565eba81db5527c
2020-03-26Group annotations for the same atom idMuhammad Qureshi
Group annotations for the same atom id inside one if-block in generated code. Use shared_ptr to store AtomDecls in multiple data structures. Store a mapping of field numbers to atoms that have annotations at corresponding field numbers in Collation.h Bug: 151744250 Test: stats-log-api-gen-test Test: m stats-log-api-gen Test: m libstatsmetadata Test: m statslog-framework-java-gen Test: m libstatslog Change-Id: I874696cfb5c27141017b4293bec809ab510ceb98
2020-03-24Run clang-format in stats_log_api_genMuhammad Qureshi
Bug: 152253223 Test: m stats-log-api-gen Test: stats-log-api-gen-test Change-Id: Iad76baea8cc9ae7b3978f1133ab94d8e96bbbafe
2020-03-24Add truncate_timestamp annotationMuhammad Qureshi
Mark privacy-sensitive atoms with truncate_timestamp annotation. Factor out annotation collation to a helper method. Add truncate_timestamp annotation support in stats-log-api-gen. Add writeAnnotation* calls in Java and native generated code for atom id annotations. TODO: remove kTruncatingTimestampAtoms from atoms_info. TODO: use truncate_timestamp annotation inside statsd. Bug: 151111680 Test: stats-log-api-gen-test Test: m statslog-framework-java-gen Test: m libstatsmetadata Change-Id: I3db5f4ffbf959bd36c62f890cc88606912798d40
2020-03-17Write annotations in native generated code.Muhammad Qureshi
Generated statslog.cpp: https://paste.googleplex.com/6345695252447232 Bug: 151101995 Test: m stats-log-api-gen Test: m libstatslog Change-Id: I745a9beb7be07a1890f811256c51627e6c5976dc
2020-03-17Store annotation during collationMuhammad Qureshi
- Only collate atoms in the specified module. - Replace signature_to_modules with signatureInfoMap. This maps each signature to another map keyed by field number and whose values are vector of annotations. Bug: 151102006 Test: stats-log-api-gen-test Change-Id: I25bbe4883c8f7f86a06d04d27cd425367b6d65a0
2020-03-05Delete unused code in stats-log-api-genMuhammad Qureshi
Bug: 145100015 Test: m Change-Id: Idbbe35fbce0d751a5973128406596678e1ead5d3
2020-02-03Update libstatssocket/pull API council feedbackTej Singh
ALso, removes KeyValuePairs support from libstatssocket Test: make Test: atest libstatssocket_test Test: atest statsd_test Test: atest LibStatsPullTests Test: statsd_testdrive 10068 Change-Id: I3a5d0e66f00cea5897e0db33cb769bf6ea67f320
2020-01-02Remove dependency on libutils in native autogenMuhammad Qureshi
Right now, Q schema generated code has a dependency on libutils. Turning on R schema for clients will remove libutils as a required dependency. Once libutils is removed from clients, turning the flag off again will be complicated as all clients will need to re-include libutils. To fix this problem, remove dependency on libutils in Q schema. Right now, we only use SystemClock.h from libutils in Q schema autogen. Use timespec from C standard library instead. Bug: 146808265 Test: m Test: flashes successfully Test: adb logcat "*:S statsd:*" Test: bit statsd_test:* Change-Id: I00efeab1be351a95083f3b6e2dbc9067849bee20
2020-01-02Support new socket schema in native codegenMuhammad Qureshi
New code generation implementation is flag guarded by STATS_SCHEMA_LEGACY Support for Q schema can be added by passing --supportQ flag in stats_log_api_gen. (Only needed for statslog_resolv.cpp) Q schema is supported through StatsEventCompat. Generated R schema statslog.h: https://paste.googleplex.com/4986214782337024 Generated R schema statslog.cpp: https://paste.googleplex.com/4856851575341056 Generated R schema statslog_resolv.h: https://paste.googleplex.com/6062978921136128 Generated R schema statslog_resolv.cpp: https://paste.googleplex.com/4752329251225600 Generated Q schema statslog.h: https://paste.googleplex.com/4766729873915904 Generated Q schema statslog.cpp: https://paste.googleplex.com/5018563779756032 Generated Q schema statslog_resolv.h: https://paste.googleplex.com/5338897498243072 Generated Q schema statslog_resolv.cpp: https://paste.googleplex.com/5191011011657728 Test: m -j Test: flashes successfully Test: adb logcat inspection Change-Id: I5675a80c03ca3fbd5cd4a02c04a4b9cb89ec32ab