Merge "Definition of GenericAtom"
diff --git a/cmds/statsd/Android.bp b/cmds/statsd/Android.bp
index b566099..14af5b9 100644
--- a/cmds/statsd/Android.bp
+++ b/cmds/statsd/Android.bp
@@ -25,6 +25,7 @@
],
shared_libs: [
+ "libmetricprotos",
"libplatformprotos",
],
@@ -37,6 +38,7 @@
},
export_shared_lib_headers: [
+ "libmetricprotos",
"libplatformprotos",
]
diff --git a/cmds/statsd/Android.mk b/cmds/statsd/Android.mk
index 1c20bff..e182ad1 100644
--- a/cmds/statsd/Android.mk
+++ b/cmds/statsd/Android.mk
@@ -84,8 +84,7 @@
$(LOCAL_PATH)/../../core/java
statsd_common_static_libraries := \
- libhealthhalutils \
- libplatformprotos \
+ libhealthhalutils
statsd_common_shared_libraries := \
libbase \
@@ -234,7 +233,9 @@
LOCAL_STATIC_LIBRARIES := \
$(statsd_common_static_libraries) \
- libgmock
+ libgmock \
+ libmetricprotos \
+ libplatformprotos
LOCAL_PROTOC_OPTIMIZE_TYPE := full
@@ -254,6 +255,7 @@
LOCAL_MODULE := statsdprotolite
LOCAL_SRC_FILES := \
+ src/metrics_constants/metrics_constants.proto \
src/stats_log.proto \
src/statsd_config.proto \
src/perfetto/perfetto_config.proto \
@@ -301,7 +303,6 @@
LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
libprotobuf-cpp-full
-
LOCAL_STATIC_JAVA_LIBRARIES := \
platformprotoslite
@@ -319,7 +320,9 @@
LOCAL_AIDL_INCLUDES := $(statsd_common_aidl_includes)
LOCAL_STATIC_LIBRARIES := \
- $(statsd_common_static_libraries)
+ $(statsd_common_static_libraries) \
+ libmetricprotos \
+ libplatformprotos
LOCAL_SHARED_LIBRARIES := $(statsd_common_shared_libraries) \
libgtest_prod \
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index e23676f..279ed02 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -29,6 +29,7 @@
import "frameworks/base/core/proto/android/telecomm/enums.proto";
import "frameworks/base/core/proto/android/telephony/enums.proto";
import "frameworks/base/core/proto/android/view/enums.proto";
+import "frameworks/base/proto/src/metrics_constants.proto";
/**
* The master atom class. This message defines all of the available
@@ -121,8 +122,7 @@
ANROccurred anr_occurred = 79;
WTFOccurred wtf_occurred = 80;
LowMemReported low_mem_reported = 81;
-
-
+ GenericAtom generic_atom = 82;
}
// Pulled events will start at field 10000.
@@ -2012,3 +2012,14 @@
// Maximum parcel request size of one API call.
optional int64 max_request_size_bytes = 11;
}
+
+/**
+ * An atom for generic metrics logging. Available from Android Q.
+ * One has to add an enum to frameworks/base/proto/src/metrics_constants.proto
+ * to extend another metric.
+ */
+message GenericAtom {
+ // Type of event. Previously it only indicated visual elements but now it
+ // is expanded to describe any type of event.
+ optional com_android_internal_logging.MetricsEvent.View view = 1;
+}
diff --git a/cmds/statsd/src/metrics_constants/metrics_constants.proto b/cmds/statsd/src/metrics_constants/metrics_constants.proto
new file mode 120000
index 0000000..8366db7
--- /dev/null
+++ b/cmds/statsd/src/metrics_constants/metrics_constants.proto
@@ -0,0 +1 @@
+../../../../proto/src/metrics_constants.proto
\ No newline at end of file
diff --git a/proto/Android.bp b/proto/Android.bp
index f3811bd..5fd2885 100644
--- a/proto/Android.bp
+++ b/proto/Android.bp
@@ -17,3 +17,33 @@
},
},
}
+
+cc_library {
+ name: "libmetricprotos",
+ host_supported: true,
+ proto: {
+ export_proto_headers: true,
+ include_dirs: ["external/protobuf/src"],
+ },
+ cflags: [
+ "-Wall",
+ "-Werror",
+ "-Wno-unused-parameter",
+ ],
+ srcs: ["src/metrics_constants.proto"],
+ target: {
+ host: {
+ proto: {
+ type: "full",
+ },
+ },
+ android: {
+ proto: {
+ type: "lite",
+ },
+ shared: {
+ enabled: false,
+ },
+ },
+ },
+}