summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmds/statsd/Android.bp12
-rw-r--r--tools/stats_log_api_gen/Android.bp12
-rw-r--r--tools/stats_log_api_gen/native_writer.cpp1
-rw-r--r--tools/stats_log_api_gen/native_writer_q.cpp20
-rw-r--r--tools/stats_log_api_gen/native_writer_q.h2
5 files changed, 18 insertions, 29 deletions
diff --git a/cmds/statsd/Android.bp b/cmds/statsd/Android.bp
index 985b0519032d..da1a76f8169d 100644
--- a/cmds/statsd/Android.bp
+++ b/cmds/statsd/Android.bp
@@ -186,18 +186,6 @@ cc_library_shared {
"libcutils",
"libstatslog",
],
- target: {
- android: {
- shared_libs: [
- "libutils",
- ],
- },
- host: {
- static_libs: [
- "libutils",
- ],
- },
- },
}
diff --git a/tools/stats_log_api_gen/Android.bp b/tools/stats_log_api_gen/Android.bp
index a6dd2c67a04a..d3958a65c704 100644
--- a/tools/stats_log_api_gen/Android.bp
+++ b/tools/stats_log_api_gen/Android.bp
@@ -123,17 +123,5 @@ cc_library {
"libcutils",
],
static_libs: ["libstatssocket"],
- target: {
- android: {
- shared_libs: [
- "libutils",
- ],
- },
- host: {
- static_libs: [
- "libutils",
- ],
- },
- },
}
diff --git a/tools/stats_log_api_gen/native_writer.cpp b/tools/stats_log_api_gen/native_writer.cpp
index 8428fcb25505..c7a34feff94b 100644
--- a/tools/stats_log_api_gen/native_writer.cpp
+++ b/tools/stats_log_api_gen/native_writer.cpp
@@ -240,6 +240,7 @@ int write_stats_log_cpp(FILE *out, const Atoms &atoms, const AtomDecl &attributi
#if defined(STATS_SCHEMA_LEGACY)
write_native_stats_log_cpp_globals_q(out);
+ write_native_get_timestamp_ns_q(out);
write_native_try_stats_write_methods_q(out, atoms, attributionDecl, moduleName);
write_native_stats_write_methods_q(out, "int stats_write", atoms, attributionDecl, moduleName,
"try_stats_write");
diff --git a/tools/stats_log_api_gen/native_writer_q.cpp b/tools/stats_log_api_gen/native_writer_q.cpp
index 2683db046ca1..299873dad975 100644
--- a/tools/stats_log_api_gen/native_writer_q.cpp
+++ b/tools/stats_log_api_gen/native_writer_q.cpp
@@ -31,9 +31,9 @@ static void write_native_stats_write_body_q(FILE* out, const vector<java_type_t>
fprintf(out, "%s {\n", indent.c_str());
fprintf(out, "%s std::lock_guard<std::mutex> lock(mLogdRetryMutex);\n", indent.c_str());
- fprintf(out, "%s if ((android::elapsedRealtimeNano() - lastRetryTimestampNs) <= "
+ fprintf(out, "%s if ((get_elapsed_realtime_ns() - lastRetryTimestampNs) <= "
"kMinRetryIntervalNs) break;\n", indent.c_str());
- fprintf(out, "%s lastRetryTimestampNs = android::elapsedRealtimeNano();\n",
+ fprintf(out, "%s lastRetryTimestampNs = get_elapsed_realtime_ns();\n",
indent.c_str());
fprintf(out, "%s }\n", indent.c_str());
fprintf(out, "%s std::this_thread::sleep_for(std::chrono::milliseconds(10));\n",
@@ -54,7 +54,17 @@ void write_native_cpp_includes_q(FILE* out) {
fprintf(out, "#endif\n");
fprintf(out, "#include <stats_event_list.h>\n");
fprintf(out, "#include <log/log.h>\n");
- fprintf(out, "#include <utils/SystemClock.h>\n");
+ fprintf(out, "#include <time.h>\n");
+}
+
+void write_native_get_timestamp_ns_q(FILE* out) {
+ fprintf(out, "\n");
+ fprintf(out, "static int64_t get_elapsed_realtime_ns() {\n");
+ fprintf(out, " struct timespec t;\n");
+ fprintf(out, " t.tv_sec = t.tv_nsec = 0;\n");
+ fprintf(out, " clock_gettime(CLOCK_BOOTTIME, &t);\n");
+ fprintf(out, " return (int64_t)t.tv_sec * 1000000000LL + t.tv_nsec;\n");
+ fprintf(out, "}\n");
}
void write_native_stats_log_cpp_globals_q(FILE* out) {
@@ -88,7 +98,7 @@ void write_native_try_stats_write_methods_q(FILE* out, const Atoms& atoms,
int argIndex = 1;
fprintf(out, " if (kStatsdEnabled) {\n");
fprintf(out, " stats_event_list event(kStatsEventTag);\n");
- fprintf(out, " event << android::elapsedRealtimeNano();\n\n");
+ fprintf(out, " event << get_elapsed_realtime_ns();\n\n");
fprintf(out, " event << code;\n\n");
for (vector<java_type_t>::const_iterator arg = signature.begin();
arg != signature.end(); arg++) {
@@ -225,7 +235,7 @@ void write_native_try_stats_write_non_chained_methods_q(FILE* out, const Atoms&
int argIndex = 1;
fprintf(out, " if (kStatsdEnabled) {\n");
fprintf(out, " stats_event_list event(kStatsEventTag);\n");
- fprintf(out, " event << android::elapsedRealtimeNano();\n\n");
+ fprintf(out, " event << get_elapsed_realtime_ns();\n\n");
fprintf(out, " event << code;\n\n");
for (vector<java_type_t>::const_iterator arg = signature.begin();
arg != signature.end(); arg++) {
diff --git a/tools/stats_log_api_gen/native_writer_q.h b/tools/stats_log_api_gen/native_writer_q.h
index 1647ccf286ee..a2ab1ae5d5e2 100644
--- a/tools/stats_log_api_gen/native_writer_q.h
+++ b/tools/stats_log_api_gen/native_writer_q.h
@@ -43,5 +43,7 @@ void write_native_stats_write_non_chained_methods_q(FILE* out, const string& met
const Atoms& atoms, const AtomDecl& attributionDecl, const string& moduleName,
const string& tryMethodName);
+void write_native_get_timestamp_ns_q(FILE* out);
+
} // namespace stats_log_api_gen
} // namespace android