summaryrefslogtreecommitdiffstats
path: root/libmetricslogger
diff options
context:
space:
mode:
authorJames Hawkins <jhawkins@google.com>2017-09-15 16:01:57 -0700
committerJames Hawkins <jhawkins@google.com>2017-09-15 16:01:57 -0700
commit5240f204edc23d74f2f98da1c3c3f60bf2c6602f (patch)
tree804a24e8375e4d59e421ddab120423835395e1bc /libmetricslogger
parentb92415cee2bea5eb1c855d7c46c21bff4e3e3ae8 (diff)
downloadcore-5240f204edc23d74f2f98da1c3c3f60bf2c6602f.tar.gz
core-5240f204edc23d74f2f98da1c3c3f60bf2c6602f.tar.bz2
core-5240f204edc23d74f2f98da1c3c3f60bf2c6602f.zip
bootstat: Log the ro.boot.bootreason property through the new platform_reason Tron field.
Bug: 63584589 Test: none Change-Id: Ifd6f3d4432d764b5ffc7db10dec5e573214f7c97
Diffstat (limited to 'libmetricslogger')
-rw-r--r--libmetricslogger/Android.bp9
-rw-r--r--libmetricslogger/include/metricslogger/metrics_logger.h12
-rw-r--r--libmetricslogger/metrics_logger.cpp7
3 files changed, 25 insertions, 3 deletions
diff --git a/libmetricslogger/Android.bp b/libmetricslogger/Android.bp
index c692d1fa3..9b179d174 100644
--- a/libmetricslogger/Android.bp
+++ b/libmetricslogger/Android.bp
@@ -19,10 +19,13 @@ cc_defaults {
"-Wextra",
"-Werror",
- // 524291 corresponds to sysui_histogram, from
- // frameworks/base/core/java/com/android/internal/logging/EventLogTags.logtags
- "-DHISTOGRAM_LOG_TAG=524292",
+ // The following defines map logtag IDs as represented by:
+ // frameworks/base/core/java/com/android/internal/logging/EventLogTags.logtags
+ //
+ // E.g., 524290 corresponds to sysui_count.
"-DCOUNT_LOG_TAG=524290",
+ "-DHISTOGRAM_LOG_TAG=524292",
+ "-DMULTI_ACTION_LOG_TAG=524292",
],
}
diff --git a/libmetricslogger/include/metricslogger/metrics_logger.h b/libmetricslogger/include/metricslogger/metrics_logger.h
index 36e124d9c..fcabcc941 100644
--- a/libmetricslogger/include/metricslogger/metrics_logger.h
+++ b/libmetricslogger/include/metricslogger/metrics_logger.h
@@ -28,14 +28,26 @@ void LogHistogram(const std::string& event, int32_t data);
// log buffer.
void LogCounter(const std::string& name, int32_t val);
+// Logs a Tron multi_action with category|category| containing the string
+// |value| in the field |field|.
+void LogMultiAction(int32_t category, int32_t field, const std::string& value);
+
// TODO: replace these with the metric_logger.proto definitions
enum {
LOGBUILDER_CATEGORY = 757,
+ LOGBUILDER_TYPE = 758,
LOGBUILDER_NAME = 799,
LOGBUILDER_BUCKET = 801,
LOGBUILDER_VALUE = 802,
LOGBUILDER_COUNTER = 803,
LOGBUILDER_HISTOGRAM = 804,
+
+ ACTION_BOOT = 1092,
+ FIELD_PLATFORM_REASON = 1093,
+};
+
+enum {
+ TYPE_ACTION = 4,
};
} // namespace metricslogger
diff --git a/libmetricslogger/metrics_logger.cpp b/libmetricslogger/metrics_logger.cpp
index 6f65e10f1..a0dcf09cd 100644
--- a/libmetricslogger/metrics_logger.cpp
+++ b/libmetricslogger/metrics_logger.cpp
@@ -37,5 +37,12 @@ void LogCounter(const std::string& name, int32_t val) {
<< val << LOG_ID_EVENTS;
}
+// Mirror com.android.internal.logging.MetricsLogger#action().
+void LogMultiAction(int32_t category, int32_t field, const std::string& value) {
+ android_log_event_list log(MULTI_ACTION_LOG_TAG);
+ log << LOGBUILDER_CATEGORY << category << LOGBUILDER_TYPE << TYPE_ACTION
+ << field << value << LOG_ID_EVENTS;
+}
+
} // namespace metricslogger
} // namespace android